From 076814d4b9f28e481f44150afe9cc9d9a61120e3 Mon Sep 17 00:00:00 2001 From: arouzing Date: Tue, 31 Jan 2023 18:11:19 -0500 Subject: [PATCH 001/233] init commit so flakes work --- .modules/base/hardware.nix | 12 ++++++++++++ .modules/services/docker.nix | 8 ++++++++ .modules/services/openssh.nix | 17 ++++++++++++++++ .modules/users/arouzing.nix | 12 ++++++++++++ flake.nix | 20 +++++++++++++++++++ hosts/example.nix | 37 +++++++++++++++++++++++++++++++++++ 6 files changed, 106 insertions(+) create mode 100644 .modules/base/hardware.nix create mode 100644 .modules/services/docker.nix create mode 100644 .modules/services/openssh.nix create mode 100644 .modules/users/arouzing.nix create mode 100644 flake.nix create mode 100644 hosts/example.nix diff --git a/.modules/base/hardware.nix b/.modules/base/hardware.nix new file mode 100644 index 0000000..911c2a2 --- /dev/null +++ b/.modules/base/hardware.nix @@ -0,0 +1,12 @@ + {config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + boot.initrd.availableKernelModules = [ "uhci_hcd" "ehci_pci" "ahci" "usbhid" "sd_mod" "sdhci_pci" ]; + boot.initrd.kernelModules = [ "dm-snapshot" ]; + boot.kernelModules = [ "kvm-intel" "wl" ]; +# boot.extraModulePackages = [ config.boot.kernelPackages.broadcom_sta ]; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} \ No newline at end of file diff --git a/.modules/services/docker.nix b/.modules/services/docker.nix new file mode 100644 index 0000000..f7bbff1 --- /dev/null +++ b/.modules/services/docker.nix @@ -0,0 +1,8 @@ +_: { config, pkgs, lib, ... }: +{ + virtualisation.docker = { + enable = true; + liveRestore = false; + autoPrune.enable = true; + }; +} \ No newline at end of file diff --git a/.modules/services/openssh.nix b/.modules/services/openssh.nix new file mode 100644 index 0000000..b390dcf --- /dev/null +++ b/.modules/services/openssh.nix @@ -0,0 +1,17 @@ +_: { config, pkgs, lib, ... }: + +{ + services.openssh = lib.mkDefault{ + enable = true; + openFirewall = true; + startWhenNeeded = true; + kexAlgorithms = [ "curve25519-sha256@libssh.org" ]; + passwordAuthentication = false; + kbdInteractiveAuthentication = false; + permitRootLogin = "no"; + }; + security.pam = mkDefault{ + enableSSHAgentAuth = true; + services.sudo.sshAgentAuth = true; + }; +} \ No newline at end of file diff --git a/.modules/users/arouzing.nix b/.modules/users/arouzing.nix new file mode 100644 index 0000000..f033176 --- /dev/null +++ b/.modules/users/arouzing.nix @@ -0,0 +1,12 @@ +_: { config, pkgs, lib, ... }: +{ + users.users.arouzing = { + isNormalUser = true; + initialPassword = "password~!@~"; + openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJAGm66rJsr8vjRCYDkH4lEPncPq27o6BHzpmRmkzOiM" + ]; + description = "admin"; + extraGroups = [ "networkmanager" "wheel" "docker" ]; + }; +} \ No newline at end of file diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..568a548 --- /dev/null +++ b/flake.nix @@ -0,0 +1,20 @@ +{ + inputs = { + nixpkgs-small.url = "github:NixOS/nixpkgs/nixos-22.11"; + nixos-generators = { + url = "github:nix-community/nixos-generators"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + }; + outputs = { self, nixpkgs, ... }@inputs: + { + example = nixos-generators.nixosGenerate { + system = "x86_64-linux"; + modules = [ + ./hosts/example.nix + ]; + format = "qcow"; + }; + apps."x86_64-linux".default = lollypops.apps."x86_64-linux".default { configFlake = self; }; + }; +} \ No newline at end of file diff --git a/hosts/example.nix b/hosts/example.nix new file mode 100644 index 0000000..0fd1a62 --- /dev/null +++ b/hosts/example.nix @@ -0,0 +1,37 @@ +{ config, pkgs, lib, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./.modules/base/hardware.nix + ./.modules/services/docker.nix + ./.modules/arouzing.nix + ]; + + # base packages + environment.systemPackages = with pkgs; [ + htop + vim + # tailscale + ]; + + networking = { + firewall.checkReversePath = "loose"; + hostName = "example"; # Define your hostname. + networkmanager.enable = true; + }; + + services.tailscale.enable = true; + + time.timeZone = "America/New_York"; + + # Open ports in the firewall. + networking.firewall = { + enable = true; + allowedTCPPorts = []; + allowedUDPPorts = []; + }; + ## main services + + +} \ No newline at end of file From 3c4acde325751dcc29db747acaa8554226e0c84a Mon Sep 17 00:00:00 2001 From: arouzing Date: Wed, 1 Feb 2023 03:11:48 -0500 Subject: [PATCH 002/233] working! --- .modules/base/hardware.nix | 11 ++--- .modules/services/docker.nix | 2 +- .modules/services/openssh.nix | 2 +- .modules/users/arouzing.nix | 2 +- flake.lock | 79 +++++++++++++++++++++++++++++++++++ flake.nix | 6 +-- hosts/example.nix | 22 +++++----- result | 1 + 8 files changed, 104 insertions(+), 21 deletions(-) create mode 100644 flake.lock create mode 120000 result diff --git a/.modules/base/hardware.nix b/.modules/base/hardware.nix index 911c2a2..0622787 100644 --- a/.modules/base/hardware.nix +++ b/.modules/base/hardware.nix @@ -1,12 +1,13 @@ {config, lib, pkgs, modulesPath, ... }: { + system.stateVersion = "22.11"; imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; - boot.initrd.availableKernelModules = [ "uhci_hcd" "ehci_pci" "ahci" "usbhid" "sd_mod" "sdhci_pci" ]; - boot.initrd.kernelModules = [ "dm-snapshot" ]; - boot.kernelModules = [ "kvm-intel" "wl" ]; -# boot.extraModulePackages = [ config.boot.kernelPackages.broadcom_sta ]; - hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + # boot.initrd.availableKernelModules = [ "uhci_hcd" "ehci_pci" "ahci" "usbhid" "sd_mod" "sdhci_pci" ]; + # boot.initrd.kernelModules = [ "dm-snapshot" ]; + # boot.kernelModules = [ "kvm-intel" "wl" ]; + # boot.extraModulePackages = [ config.boot.kernelPackages.broadcom_sta ]; + # hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; } \ No newline at end of file diff --git a/.modules/services/docker.nix b/.modules/services/docker.nix index f7bbff1..97e3d00 100644 --- a/.modules/services/docker.nix +++ b/.modules/services/docker.nix @@ -1,4 +1,4 @@ -_: { config, pkgs, lib, ... }: +{ config, pkgs, lib, ... }: { virtualisation.docker = { enable = true; diff --git a/.modules/services/openssh.nix b/.modules/services/openssh.nix index b390dcf..37a0252 100644 --- a/.modules/services/openssh.nix +++ b/.modules/services/openssh.nix @@ -1,7 +1,7 @@ _: { config, pkgs, lib, ... }: { - services.openssh = lib.mkDefault{ + services.openssh = { enable = true; openFirewall = true; startWhenNeeded = true; diff --git a/.modules/users/arouzing.nix b/.modules/users/arouzing.nix index f033176..a5fb4a8 100644 --- a/.modules/users/arouzing.nix +++ b/.modules/users/arouzing.nix @@ -1,4 +1,4 @@ -_: { config, pkgs, lib, ... }: +{ config, pkgs, lib, ... }: { users.users.arouzing = { isNormalUser = true; diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..5a27957 --- /dev/null +++ b/flake.lock @@ -0,0 +1,79 @@ +{ + "nodes": { + "nixlib": { + "locked": { + "lastModified": 1636849918, + "narHash": "sha256-nzUK6dPcTmNVrgTAC1EOybSMsrcx+QrVPyqRdyKLkjA=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "28a5b0557f14124608db68d3ee1f77e9329e9dd5", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "nixos-generators": { + "inputs": { + "nixlib": "nixlib", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1674666581, + "narHash": "sha256-KNI2s/xrL7WOYaPJAWKBtb7cCH3335rLfsL+B+ssuGY=", + "owner": "nix-community", + "repo": "nixos-generators", + "rev": "6a5dc1d3d557ea7b5c19b15ff91955124d0400fa", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixos-generators", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1675153841, + "narHash": "sha256-EWvU3DLq+4dbJiukfhS7r6sWZyJikgXn6kNl7eHljW8=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "ea692c2ad1afd6384e171eabef4f0887d2b882d3", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" + } + }, + "nixpkgs-small": { + "locked": { + "lastModified": 1675154384, + "narHash": "sha256-gUXzyTS3WsO3g2Rz0qOYR2a26whkyL2UfTr1oPH9mm8=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "0218941ea68b4c625533bead7bbb94ccce52dceb", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-22.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "nixos-generators": "nixos-generators", + "nixpkgs": "nixpkgs", + "nixpkgs-small": "nixpkgs-small" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix index 568a548..4cde06e 100644 --- a/flake.nix +++ b/flake.nix @@ -6,15 +6,15 @@ inputs.nixpkgs.follows = "nixpkgs"; }; }; - outputs = { self, nixpkgs, ... }@inputs: + outputs = { self, nixos-generators, nixpkgs, ... }@inputs: { example = nixos-generators.nixosGenerate { system = "x86_64-linux"; modules = [ ./hosts/example.nix ]; - format = "qcow"; + format = "virtualbox"; }; - apps."x86_64-linux".default = lollypops.apps."x86_64-linux".default { configFlake = self; }; + }; } \ No newline at end of file diff --git a/hosts/example.nix b/hosts/example.nix index 0fd1a62..fe6ace0 100644 --- a/hosts/example.nix +++ b/hosts/example.nix @@ -3,15 +3,17 @@ { imports = [ # Include the results of the hardware scan. - ./.modules/base/hardware.nix - ./.modules/services/docker.nix - ./.modules/arouzing.nix + # ../.modules/base/hardware.nix + # ../.modules/services/docker.nix + ../.modules/users/arouzing.nix + ../.modules/services/openssh.nix ]; # base packages environment.systemPackages = with pkgs; [ htop vim + # sleep # tailscale ]; @@ -21,17 +23,17 @@ networkmanager.enable = true; }; - services.tailscale.enable = true; + # services.tailscale.enable = true; time.timeZone = "America/New_York"; # Open ports in the firewall. - networking.firewall = { - enable = true; - allowedTCPPorts = []; - allowedUDPPorts = []; - }; + # networking.firewall = { + # enable = true; + # allowedTCPPorts = []; + # allowedUDPPorts = []; + # }; ## main services - + system.stateVersion = "22.11"; } \ No newline at end of file diff --git a/result b/result new file mode 120000 index 0000000..7537bed --- /dev/null +++ b/result @@ -0,0 +1 @@ +/nix/store/yjmyc0nj40qmc35b63mwkgsnhhrbm3yb-nixos-ova-23.05.20230131.ea692c2-x86_64-linux \ No newline at end of file From 53fc0d766011038df6e46f86a7b91902f6e64817 Mon Sep 17 00:00:00 2001 From: arouzing Date: Thu, 2 Feb 2023 18:16:34 -0500 Subject: [PATCH 003/233] swithcing example to qcow --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 4cde06e..5f90ba9 100644 --- a/flake.nix +++ b/flake.nix @@ -13,7 +13,7 @@ modules = [ ./hosts/example.nix ]; - format = "virtualbox"; + format = "qcow"; }; }; From 31e4f14ee6f8a7d93be1f55649f2f1e3306c5f6a Mon Sep 17 00:00:00 2001 From: arouzing Date: Thu, 2 Feb 2023 18:16:56 -0500 Subject: [PATCH 004/233] enforce dchp for stress less deployments --- .modules/base/hardware.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/.modules/base/hardware.nix b/.modules/base/hardware.nix index 0622787..689cd87 100644 --- a/.modules/base/hardware.nix +++ b/.modules/base/hardware.nix @@ -5,6 +5,7 @@ imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; + networking.useDHCP = true; # boot.initrd.availableKernelModules = [ "uhci_hcd" "ehci_pci" "ahci" "usbhid" "sd_mod" "sdhci_pci" ]; # boot.initrd.kernelModules = [ "dm-snapshot" ]; # boot.kernelModules = [ "kvm-intel" "wl" ]; From bb3935bdb77137da6c6ce78a96b11a087f73e007 Mon Sep 17 00:00:00 2001 From: arouzing Date: Thu, 2 Feb 2023 18:17:15 -0500 Subject: [PATCH 005/233] baseline tempfs config --- .modules/base/tmpfs.nix | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 .modules/base/tmpfs.nix diff --git a/.modules/base/tmpfs.nix b/.modules/base/tmpfs.nix new file mode 100644 index 0000000..ccea92d --- /dev/null +++ b/.modules/base/tmpfs.nix @@ -0,0 +1,35 @@ +{config}: +{ + # Don't allow mutation of users outside of the config. + users.mutableUsers = false; + + # Set a root password, consider using initialHashedPassword instead. + # + # To generate a hash to put in initialHashedPassword + # you can do this: + # $ nix-shell --run 'mkpasswd -m SHA-512 -s' -p mkpasswd + users.users.root.initialPassword = "hunter2"; + + # machine-id is used by systemd for the journal, if you don't + # persist this file you won't be able to easily use journalctl to + # look at journals for previous boots. + environment.etc."machine-id".source + = "/nix/persist/etc/machine-id"; + + + # if you want to run an openssh daemon, you may want to store the + # host keys across reboots. + # + # For this to work you will need to create the directory yourself: + # $ mkdir /nix/persist/etc/ssh + environment.etc."ssh/ssh_host_rsa_key".source + = "/nix/persist/etc/ssh/ssh_host_rsa_key"; + environment.etc."ssh/ssh_host_rsa_key.pub".source + = "/nix/persist/etc/ssh/ssh_host_rsa_key.pub"; + environment.etc."ssh/ssh_host_ed25519_key".source + = "/nix/persist/etc/ssh/ssh_host_ed25519_key"; + environment.etc."ssh/ssh_host_ed25519_key.pub".source + = "/nix/persist/etc/ssh/ssh_host_ed25519_key.pub"; + + +} \ No newline at end of file From 9496f06b87fc294dcdde390fb8cfa0d08f346d51 Mon Sep 17 00:00:00 2001 From: arouzing Date: Thu, 2 Feb 2023 18:18:00 -0500 Subject: [PATCH 006/233] mighrate with lib to narrow scope --- .modules/services/openssh.nix | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/.modules/services/openssh.nix b/.modules/services/openssh.nix index 37a0252..1d38250 100644 --- a/.modules/services/openssh.nix +++ b/.modules/services/openssh.nix @@ -1,16 +1,18 @@ -_: { config, pkgs, lib, ... }: +{ config, pkgs, lib, ... }: { - services.openssh = { + services.openssh = lib.mkDefault { enable = true; openFirewall = true; + settings = lib.mkDefault { + passwordAuthentication = false; + permitRootLogin = "no"; + kbdInteractiveAuthentication = false; + }; startWhenNeeded = true; kexAlgorithms = [ "curve25519-sha256@libssh.org" ]; - passwordAuthentication = false; - kbdInteractiveAuthentication = false; - permitRootLogin = "no"; }; - security.pam = mkDefault{ + security.pam = lib.mkDefault { enableSSHAgentAuth = true; services.sudo.sshAgentAuth = true; }; From 9dd79f678898983080de4d1234db89fe7c85d46e Mon Sep 17 00:00:00 2001 From: arouzing Date: Thu, 2 Feb 2023 18:18:16 -0500 Subject: [PATCH 007/233] importing docker config --- hosts/example.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/hosts/example.nix b/hosts/example.nix index fe6ace0..fdd4902 100644 --- a/hosts/example.nix +++ b/hosts/example.nix @@ -4,7 +4,7 @@ imports = [ # Include the results of the hardware scan. # ../.modules/base/hardware.nix - # ../.modules/services/docker.nix + ../.modules/services/docker.nix ../.modules/users/arouzing.nix ../.modules/services/openssh.nix ]; @@ -28,11 +28,11 @@ time.timeZone = "America/New_York"; # Open ports in the firewall. - # networking.firewall = { - # enable = true; - # allowedTCPPorts = []; - # allowedUDPPorts = []; - # }; + networking.firewall = { + enable = true; + allowedTCPPorts = []; + allowedUDPPorts = []; + }; ## main services system.stateVersion = "22.11"; From 60075229bda2b3dee6235c9da51323cd4cccce08 Mon Sep 17 00:00:00 2001 From: arouzing Date: Thu, 2 Feb 2023 18:19:45 -0500 Subject: [PATCH 008/233] ignore results --- .gitignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3edefbc --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +result/* From 17ae7f53f151f41b5ff256a53e6ef57a8d879209 Mon Sep 17 00:00:00 2001 From: arouzing Date: Thu, 2 Feb 2023 18:20:12 -0500 Subject: [PATCH 009/233] no more result --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 3edefbc..a931378 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ result/* +result From 3acb99278e0d90e8b2ec9ba7e6ac240b8b7f0cb3 Mon Sep 17 00:00:00 2001 From: arouzing Date: Thu, 2 Feb 2023 19:43:08 -0500 Subject: [PATCH 010/233] result should not be stored --- result | 1 - 1 file changed, 1 deletion(-) delete mode 120000 result diff --git a/result b/result deleted file mode 120000 index 7537bed..0000000 --- a/result +++ /dev/null @@ -1 +0,0 @@ -/nix/store/yjmyc0nj40qmc35b63mwkgsnhhrbm3yb-nixos-ova-23.05.20230131.ea692c2-x86_64-linux \ No newline at end of file From f636692f43214cbee7320acd2233711f9e751289 Mon Sep 17 00:00:00 2001 From: arouzing Date: Sat, 4 Feb 2023 00:40:04 -0500 Subject: [PATCH 011/233] created spec user file --- .modules/users/speccon18.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 .modules/users/speccon18.nix diff --git a/.modules/users/speccon18.nix b/.modules/users/speccon18.nix new file mode 100644 index 0000000..495c284 --- /dev/null +++ b/.modules/users/speccon18.nix @@ -0,0 +1,13 @@ +{ config, pkgs, lib, ... }: +{ + users.users.speccon18 = { + isNormalUser = true; + initialHashedPassword = ""; + openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILdigmndcdQD/864P059K2hZOXyEkbGvMkH0/b2QavkD speccon18@creatorforge" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPc1AQ6hcjdSZZuhS5SISwtulFoTLpC5f5JoMFQkZ5l2 specCon18@DESKTOP-Q1I2PAE" + ]; + description = "admin"; + extraGroups = [ "wheel" "docker" ]; + }; +} \ No newline at end of file From df43410d724a74f35dc0a3efdfc943736a741800 Mon Sep 17 00:00:00 2001 From: arouzing Date: Sat, 4 Feb 2023 00:40:27 -0500 Subject: [PATCH 012/233] linting --- flake.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/flake.nix b/flake.nix index 5f90ba9..5d69a0a 100644 --- a/flake.nix +++ b/flake.nix @@ -15,6 +15,5 @@ ]; format = "qcow"; }; - }; } \ No newline at end of file From 6c57fa546bde769ccce068257bb34b96ffa947d6 Mon Sep 17 00:00:00 2001 From: arouzing Date: Sat, 4 Feb 2023 00:40:50 -0500 Subject: [PATCH 013/233] minimal groups --- .modules/users/arouzing.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.modules/users/arouzing.nix b/.modules/users/arouzing.nix index a5fb4a8..a4510ef 100644 --- a/.modules/users/arouzing.nix +++ b/.modules/users/arouzing.nix @@ -2,11 +2,11 @@ { users.users.arouzing = { isNormalUser = true; - initialPassword = "password~!@~"; + initialHashedPassword = "$6$tucSnzN8mqHQo/Fd$Q/RtaTpoXN0xnlLAFy6ohWWYuTYd54CXaCrocV1vgFRQVuONga1LyzwdJ0vXa.NT6MRcO7IXNQ3YeURJsSdP61"; openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJAGm66rJsr8vjRCYDkH4lEPncPq27o6BHzpmRmkzOiM" ]; description = "admin"; - extraGroups = [ "networkmanager" "wheel" "docker" ]; + extraGroups = [ "wheel" "docker" ]; }; } \ No newline at end of file From 8bfc9f63d5836973f2b77ca44a2690dae37b06dc Mon Sep 17 00:00:00 2001 From: arouzing Date: Sat, 4 Feb 2023 00:42:37 -0500 Subject: [PATCH 014/233] inital commit for open ldpa --- hosts/openldap-docker.nix | 40 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 hosts/openldap-docker.nix diff --git a/hosts/openldap-docker.nix b/hosts/openldap-docker.nix new file mode 100644 index 0000000..67173d3 --- /dev/null +++ b/hosts/openldap-docker.nix @@ -0,0 +1,40 @@ +{ config, pkgs, lib, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + # ../.modules/base/hardware.nix + ../.modules/services/docker.nix + ../.modules/users/arouzing.nix + ../.modules/user/speccon18.nix + ../.modules/services/openssh.nix + ]; + + # base packages + environment.systemPackages = with pkgs; [ + htop + vim + # sleep + tailscale + ]; + + networking = { + firewall.checkReversePath = "loose"; + hostName = "openldap"; # Define your hostname. + # networkmanager.enable = true; + }; + + # services.tailscale.enable = true; + + time.timeZone = "America/New_York"; + + # Open ports in the firewall. + networking.firewall = { + enable = true; + allowedTCPPorts = []; + allowedUDPPorts = []; + }; + ## main services + system.stateVersion = "22.11"; + +} \ No newline at end of file From f0e031fd63b0086bd9f3ebc5fe6ced513533c3cf Mon Sep 17 00:00:00 2001 From: arouzing Date: Sat, 4 Feb 2023 00:42:50 -0500 Subject: [PATCH 015/233] nm not needed for vms --- hosts/example.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/example.nix b/hosts/example.nix index fdd4902..4c82499 100644 --- a/hosts/example.nix +++ b/hosts/example.nix @@ -20,7 +20,7 @@ networking = { firewall.checkReversePath = "loose"; hostName = "example"; # Define your hostname. - networkmanager.enable = true; + # networkmanager.enable = true; }; # services.tailscale.enable = true; From fe9a60473061368cb5c9692181f3b2f43c4c7d31 Mon Sep 17 00:00:00 2001 From: arouzing Date: Sat, 4 Feb 2023 00:47:56 -0500 Subject: [PATCH 016/233] todo maintainence mode --- .modules/features/mainainence.nix | 1 + 1 file changed, 1 insertion(+) create mode 100644 .modules/features/mainainence.nix diff --git a/.modules/features/mainainence.nix b/.modules/features/mainainence.nix new file mode 100644 index 0000000..f22e2f2 --- /dev/null +++ b/.modules/features/mainainence.nix @@ -0,0 +1 @@ +# TODO build out mode for working on data \ No newline at end of file From 833874d311e74f082c937a0925cae6fbc6a65c7c Mon Sep 17 00:00:00 2001 From: arouzing Date: Sat, 4 Feb 2023 00:49:12 -0500 Subject: [PATCH 017/233] openldap init for generators --- flake.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/flake.nix b/flake.nix index 5d69a0a..ad20bb7 100644 --- a/flake.nix +++ b/flake.nix @@ -15,5 +15,13 @@ ]; format = "qcow"; }; + + example = nixos-generators.nixosGenerate { + system = "x86_64-linux"; + modules = [ + ./hosts/example.nix + ]; + format = "qcow"; + }; }; } \ No newline at end of file From c3f58d236ca35d92f51b3094825dcd65174131eb Mon Sep 17 00:00:00 2001 From: arouzing Date: Sat, 4 Feb 2023 00:49:23 -0500 Subject: [PATCH 018/233] ldap init --- flake.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index ad20bb7..b64036a 100644 --- a/flake.nix +++ b/flake.nix @@ -16,10 +16,10 @@ format = "qcow"; }; - example = nixos-generators.nixosGenerate { + openldap = nixos-generators.nixosGenerate { system = "x86_64-linux"; modules = [ - ./hosts/example.nix + ./hosts/openldap.nix ]; format = "qcow"; }; From 591ba1d781c4b7ffb92c93e494ebb570adf552c8 Mon Sep 17 00:00:00 2001 From: arouzing Date: Sat, 4 Feb 2023 00:59:43 -0500 Subject: [PATCH 019/233] proper name issue --- hosts/{openldap-docker.nix => openldap.nix} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename hosts/{openldap-docker.nix => openldap.nix} (100%) diff --git a/hosts/openldap-docker.nix b/hosts/openldap.nix similarity index 100% rename from hosts/openldap-docker.nix rename to hosts/openldap.nix From 0ba4d8ac58b06ac37da286b9eb8315c42320cdb3 Mon Sep 17 00:00:00 2001 From: arouzing Date: Sat, 4 Feb 2023 01:04:17 -0500 Subject: [PATCH 020/233] typo fix --- hosts/openldap.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/openldap.nix b/hosts/openldap.nix index 67173d3..cb943ba 100644 --- a/hosts/openldap.nix +++ b/hosts/openldap.nix @@ -6,7 +6,7 @@ # ../.modules/base/hardware.nix ../.modules/services/docker.nix ../.modules/users/arouzing.nix - ../.modules/user/speccon18.nix + ../.modules/users/speccon18.nix ../.modules/services/openssh.nix ]; From 7ce263ca99ce7922473f0eef7affd03f804f5720 Mon Sep 17 00:00:00 2001 From: arouzing Date: Sat, 4 Feb 2023 19:22:25 -0500 Subject: [PATCH 021/233] enable tailscale add virt supports --- hosts/openldap.nix | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/hosts/openldap.nix b/hosts/openldap.nix index cb943ba..53d6b05 100644 --- a/hosts/openldap.nix +++ b/hosts/openldap.nix @@ -1,9 +1,10 @@ -{ config, pkgs, lib, ... }: +{ modulesPath, config, pkgs, lib, ... }: { imports = [ # Include the results of the hardware scan. # ../.modules/base/hardware.nix + (modulesPath + "/profiles/qemu-guest.nix") ../.modules/services/docker.nix ../.modules/users/arouzing.nix ../.modules/users/speccon18.nix @@ -14,7 +15,6 @@ environment.systemPackages = with pkgs; [ htop vim - # sleep tailscale ]; @@ -24,7 +24,7 @@ # networkmanager.enable = true; }; - # services.tailscale.enable = true; + services.tailscale.enable = true; time.timeZone = "America/New_York"; @@ -37,4 +37,9 @@ ## main services system.stateVersion = "22.11"; + ### testing ### + boot.initrd.availableKernelModules = + [ "ata_piix" "uhci_hcd" "virtio_pci" "sr_mod" "virtio_blk" ]; + + } \ No newline at end of file From d036c90899105bec5833f636fe0ca2877475a07d Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Sat, 4 Feb 2023 19:35:16 -0500 Subject: [PATCH 022/233] added key --- .modules/users/speccon18.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.modules/users/speccon18.nix b/.modules/users/speccon18.nix index 495c284..2ec2439 100644 --- a/.modules/users/speccon18.nix +++ b/.modules/users/speccon18.nix @@ -2,7 +2,7 @@ { users.users.speccon18 = { isNormalUser = true; - initialHashedPassword = ""; + initialHashedPassword = "$6$pJB0TDUj8IS8hQNJ$GfENlHg89lsUjRiSaePWJeqX1pevTTZOuEw5KgcVEpyPw9lyiAifz5ZiuOQnYxUAMhAiCmF/pCjaWSy6m5sWM/"; openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILdigmndcdQD/864P059K2hZOXyEkbGvMkH0/b2QavkD speccon18@creatorforge" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPc1AQ6hcjdSZZuhS5SISwtulFoTLpC5f5JoMFQkZ5l2 specCon18@DESKTOP-Q1I2PAE" From 9713f31693bdd69ddb41868549e04151a7b75380 Mon Sep 17 00:00:00 2001 From: arouzing Date: Sat, 4 Feb 2023 19:38:27 -0500 Subject: [PATCH 023/233] fixing future docker issue. --- .modules/services/docker.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.modules/services/docker.nix b/.modules/services/docker.nix index 97e3d00..6f9acf0 100644 --- a/.modules/services/docker.nix +++ b/.modules/services/docker.nix @@ -5,4 +5,7 @@ liveRestore = false; autoPrune.enable = true; }; + + # But allow docker containers to access the local machine + networking.firewall.trustedInterfaces = [ "docker0" ]; } \ No newline at end of file From 69041657b244a441c1cbcab87843ed739c9bd6a8 Mon Sep 17 00:00:00 2001 From: arouzing Date: Sat, 4 Feb 2023 19:38:49 -0500 Subject: [PATCH 024/233] nano for the vim haters --- hosts/openldap.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/openldap.nix b/hosts/openldap.nix index 53d6b05..d98c1e6 100644 --- a/hosts/openldap.nix +++ b/hosts/openldap.nix @@ -15,6 +15,7 @@ environment.systemPackages = with pkgs; [ htop vim + nano tailscale ]; From c36f2b43cd2f3c6d04f1090e967529cb131ec4c0 Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Wed, 8 Feb 2023 23:29:47 -0500 Subject: [PATCH 025/233] Added creatorforge --- .modules/storj.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 .modules/storj.txt diff --git a/.modules/storj.txt b/.modules/storj.txt new file mode 100644 index 0000000..e69de29 From bd3befc8abaeba4d3afef90c315635bb8b298453 Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Wed, 8 Feb 2023 23:44:04 -0500 Subject: [PATCH 026/233] added gnome --- .modules/base/hardware.nix | 14 ---- .modules/base/proxmox-vm-hardware.nix | 71 +++++++++++++++++++ .../desktop/desktop-environments/gnome.nix | 32 +++++++++ .modules/features/mainainence.nix | 1 - flake.nix | 15 ++-- hosts/creatorforge.nix | 70 ++++++++++++++++++ hosts/example.nix | 39 ---------- 7 files changed, 180 insertions(+), 62 deletions(-) delete mode 100644 .modules/base/hardware.nix create mode 100644 .modules/base/proxmox-vm-hardware.nix create mode 100644 .modules/features/desktop/desktop-environments/gnome.nix delete mode 100644 .modules/features/mainainence.nix create mode 100644 hosts/creatorforge.nix delete mode 100644 hosts/example.nix diff --git a/.modules/base/hardware.nix b/.modules/base/hardware.nix deleted file mode 100644 index 689cd87..0000000 --- a/.modules/base/hardware.nix +++ /dev/null @@ -1,14 +0,0 @@ - {config, lib, pkgs, modulesPath, ... }: - -{ - system.stateVersion = "22.11"; - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; - networking.useDHCP = true; - # boot.initrd.availableKernelModules = [ "uhci_hcd" "ehci_pci" "ahci" "usbhid" "sd_mod" "sdhci_pci" ]; - # boot.initrd.kernelModules = [ "dm-snapshot" ]; - # boot.kernelModules = [ "kvm-intel" "wl" ]; - # boot.extraModulePackages = [ config.boot.kernelPackages.broadcom_sta ]; - # hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -} \ No newline at end of file diff --git a/.modules/base/proxmox-vm-hardware.nix b/.modules/base/proxmox-vm-hardware.nix new file mode 100644 index 0000000..49e76b8 --- /dev/null +++ b/.modules/base/proxmox-vm-hardware.nix @@ -0,0 +1,71 @@ + {config, lib, pkgs, modulesPath, ... }: + +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = [ + (modulesPath + "/profiles/qemu-guest.nix") + (modulesPath + "/installer/scan/not-detected.nix") + ]; + + system.stateVersion = "22.11"; + boot.loader.systemd-boot.enable = "true"; + + boot.initrd.availableKernelModules = [ "uhci_hcd" "ehci_pci" "ahci" "virtio_pci" "virtio_blk" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/40fe3178-6ec1-450f-93fd-c359f2f3daf9"; + fsType = "ext4"; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.docker0.useDHCP = lib.mkDefault true; + # networking.interfaces.enp6s18.useDHCP = lib.mkDefault true; + # networking.interfaces.tailscale0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + # This helps stay in step with genertator due to being in vm + boot = { + growPartition = true; + kernelParams = [ "console=ttyS0" ]; + loader.grub = { + device = lib.mkDefault (if (hasNoFsPartition || supportBios) then + # Even if there is a separate no-fs partition ("/dev/disk/by-partlabel/no-fs" i.e. "/dev/vda2"), + # which will be used the bootloader, do not set it as loader.grub.device. + # GRUB installation fails, unless the whole disk is selected. + "/dev/disk/by-uuid/40fe3178-6ec1-450f-93fd-c359f2f3daf9" + else + "nodev"); + efiSupport = lib.mkDefault supportEfi; + efiInstallAsRemovable = lib.mkDefault supportEfi; + }; + + loader.timeout = 0; + initrd.availableKernelModules = [ "uas" "virtio_blk" "virtio_pci" ]; + }; + +# fileSystems."/" = { +# device = "/dev/disk/by-label/nixos"; +# autoResize = true; +# fsType = "ext4"; +# }; +# fileSystems."/boot" = lib.mkIf hasBootPartition { +# device = "/dev/disk/by-label/ESP"; +# fsType = "vfat"; +# }; + + services.qemuGuest.enable = lib.mkDefault true; +} \ No newline at end of file diff --git a/.modules/features/desktop/desktop-environments/gnome.nix b/.modules/features/desktop/desktop-environments/gnome.nix new file mode 100644 index 0000000..e839e23 --- /dev/null +++ b/.modules/features/desktop/desktop-environments/gnome.nix @@ -0,0 +1,32 @@ +{ config, pkgs, lib, ... }: +{ + services = { + gnome = { + core-utilities.enable = false; + gnome-keyring.enable = true; + }; + + xserver = { + enable = true; + layout = "us"; + xkbVariant = ""; + displayManager = { + gnome.enable = true; + gdm.enable = true; + gdm.wayland = true; + # defaultSession = lib.mkDefault "gnome"; + }; + desktopManager = { + xterm.enable = lib.mkForce false; + gnome.enable = lib.mkDefault true; + }; + }; + }; + + programs = { + xwayland.enable = lib.mkDefault true; + }; + + xdg.portal = { enable = lib.mkDefault true; }; + +} \ No newline at end of file diff --git a/.modules/features/mainainence.nix b/.modules/features/mainainence.nix deleted file mode 100644 index f22e2f2..0000000 --- a/.modules/features/mainainence.nix +++ /dev/null @@ -1 +0,0 @@ -# TODO build out mode for working on data \ No newline at end of file diff --git a/flake.nix b/flake.nix index b64036a..eb7eb6d 100644 --- a/flake.nix +++ b/flake.nix @@ -1,6 +1,6 @@ { inputs = { - nixpkgs-small.url = "github:NixOS/nixpkgs/nixos-22.11"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11"; nixos-generators = { url = "github:nix-community/nixos-generators"; inputs.nixpkgs.follows = "nixpkgs"; @@ -8,20 +8,19 @@ }; outputs = { self, nixos-generators, nixpkgs, ... }@inputs: { - example = nixos-generators.nixosGenerate { + proxmox = nixos-generators.nixosGenerate { system = "x86_64-linux"; modules = [ - ./hosts/example.nix + ./hosts/creatorforge.nix ]; - format = "qcow"; + format = "proxmox"; }; - - openldap = nixos-generators.nixosGenerate { + creatorforge-vm = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ - ./hosts/openldap.nix + ./hosts/creatorforge.nix + ./modules/base/proxmox-vm-hardware.nix ]; - format = "qcow"; }; }; } \ No newline at end of file diff --git a/hosts/creatorforge.nix b/hosts/creatorforge.nix new file mode 100644 index 0000000..0e6f873 --- /dev/null +++ b/hosts/creatorforge.nix @@ -0,0 +1,70 @@ +{ modulesPath, config, pkgs, lib, ... }: + +{ + imports = [ + # Include the results of the hardware scan. + (modulesPath + "/profiles/qemu-guest.nix") + ../.modules/services/docker.nix + ../.modules/users/speccon18.nix + ../.modules/services/openssh.nix + ../.modules/features/desktop-environments/gnome.nix + ]; + #TODO: MOVE TO MODULE LATER + nixpkgs.config.allowUnfree = true; + nix = { + # nix flakes + package = pkgs.nixUnstable; # or versioned attributes like nix_2_4 + extraOptions = '' + experimental-features = nix-command flakes + ''; + #auto maintainence + settings.auto-optimise-store = lib.mkDefault true; + gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 7d"; + }; + # prevent tampering + readOnlyStore = true; + }; + # base packages + environment.systemPackages = with pkgs; [ + htop + bat + exa + zsh + vim + micro + tailscale + firefox + codium + # Gnome Extensions + gnomeExtensions.dock-from-dash + gnomeExtensions.pop-shell + ]; + + networking = { + firewall.checkReversePath = "loose"; + hostName = "creatorforge"; # Define your hostname. + # networkmanager.enable = true; + }; + + services.tailscale.enable = true; + + time.timeZone = "America/Detroit"; + + # Open ports in the firewall. + networking.firewall = { + enable = true; + allowedTCPPorts = []; + allowedUDPPorts = []; + }; + ## main services + system.stateVersion = "22.11"; + + ### testing ### + boot.initrd.availableKernelModules = + [ "ata_piix" "uhci_hcd" "virtio_pci" "sr_mod" "virtio_blk" ]; + + +} \ No newline at end of file diff --git a/hosts/example.nix b/hosts/example.nix deleted file mode 100644 index 4c82499..0000000 --- a/hosts/example.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ config, pkgs, lib, ... }: - -{ - imports = - [ # Include the results of the hardware scan. - # ../.modules/base/hardware.nix - ../.modules/services/docker.nix - ../.modules/users/arouzing.nix - ../.modules/services/openssh.nix - ]; - - # base packages - environment.systemPackages = with pkgs; [ - htop - vim - # sleep - # tailscale - ]; - - networking = { - firewall.checkReversePath = "loose"; - hostName = "example"; # Define your hostname. - # networkmanager.enable = true; - }; - - # services.tailscale.enable = true; - - time.timeZone = "America/New_York"; - - # Open ports in the firewall. - networking.firewall = { - enable = true; - allowedTCPPorts = []; - allowedUDPPorts = []; - }; - ## main services - system.stateVersion = "22.11"; - -} \ No newline at end of file From 42e06275e55bd2736bc89d0e6196daf9ea848af5 Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Wed, 8 Feb 2023 23:56:43 -0500 Subject: [PATCH 027/233] fix bad path in creatorforge --- .../desktop/desktop-environments/gnome.nix | 32 ------------------- hosts/creatorforge.nix | 2 +- 2 files changed, 1 insertion(+), 33 deletions(-) delete mode 100644 .modules/features/desktop/desktop-environments/gnome.nix diff --git a/.modules/features/desktop/desktop-environments/gnome.nix b/.modules/features/desktop/desktop-environments/gnome.nix deleted file mode 100644 index e839e23..0000000 --- a/.modules/features/desktop/desktop-environments/gnome.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ config, pkgs, lib, ... }: -{ - services = { - gnome = { - core-utilities.enable = false; - gnome-keyring.enable = true; - }; - - xserver = { - enable = true; - layout = "us"; - xkbVariant = ""; - displayManager = { - gnome.enable = true; - gdm.enable = true; - gdm.wayland = true; - # defaultSession = lib.mkDefault "gnome"; - }; - desktopManager = { - xterm.enable = lib.mkForce false; - gnome.enable = lib.mkDefault true; - }; - }; - }; - - programs = { - xwayland.enable = lib.mkDefault true; - }; - - xdg.portal = { enable = lib.mkDefault true; }; - -} \ No newline at end of file diff --git a/hosts/creatorforge.nix b/hosts/creatorforge.nix index 0e6f873..aae6690 100644 --- a/hosts/creatorforge.nix +++ b/hosts/creatorforge.nix @@ -7,7 +7,7 @@ ../.modules/services/docker.nix ../.modules/users/speccon18.nix ../.modules/services/openssh.nix - ../.modules/features/desktop-environments/gnome.nix + ../.modules/features/desktop/environments/gnome.nix ]; #TODO: MOVE TO MODULE LATER nixpkgs.config.allowUnfree = true; From e5500a531d7698e68a051ad47a00f16373419893 Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Thu, 9 Feb 2023 00:00:13 -0500 Subject: [PATCH 028/233] still fixing flakes --- .../features/desktop/environments/gnome.nix | 32 +++++++++++++++++++ flake.nix | 14 ++++---- 2 files changed, 40 insertions(+), 6 deletions(-) create mode 100644 .modules/features/desktop/environments/gnome.nix diff --git a/.modules/features/desktop/environments/gnome.nix b/.modules/features/desktop/environments/gnome.nix new file mode 100644 index 0000000..e839e23 --- /dev/null +++ b/.modules/features/desktop/environments/gnome.nix @@ -0,0 +1,32 @@ +{ config, pkgs, lib, ... }: +{ + services = { + gnome = { + core-utilities.enable = false; + gnome-keyring.enable = true; + }; + + xserver = { + enable = true; + layout = "us"; + xkbVariant = ""; + displayManager = { + gnome.enable = true; + gdm.enable = true; + gdm.wayland = true; + # defaultSession = lib.mkDefault "gnome"; + }; + desktopManager = { + xterm.enable = lib.mkForce false; + gnome.enable = lib.mkDefault true; + }; + }; + }; + + programs = { + xwayland.enable = lib.mkDefault true; + }; + + xdg.portal = { enable = lib.mkDefault true; }; + +} \ No newline at end of file diff --git a/flake.nix b/flake.nix index eb7eb6d..ad2d84a 100644 --- a/flake.nix +++ b/flake.nix @@ -15,12 +15,14 @@ ]; format = "proxmox"; }; - creatorforge-vm = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - modules = [ - ./hosts/creatorforge.nix - ./modules/base/proxmox-vm-hardware.nix - ]; + nixosConfigurations = { + creatorforge-vm = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + modules = [ + ./hosts/creatorforge.nix + ./modules/base/proxmox-vm-hardware.nix + ]; + }; }; }; } \ No newline at end of file From 1a63a7a499766ae41f8baaf183e489c7cec350bc Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Thu, 9 Feb 2023 00:03:20 -0500 Subject: [PATCH 029/233] fixed modules path issue --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index ad2d84a..a6ea43a 100644 --- a/flake.nix +++ b/flake.nix @@ -20,7 +20,7 @@ system = "x86_64-linux"; modules = [ ./hosts/creatorforge.nix - ./modules/base/proxmox-vm-hardware.nix + ./.modules/base/proxmox-vm-hardware.nix ]; }; }; From 7d203743c13683a04686d72d1bab84f019cda66a Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Thu, 9 Feb 2023 00:07:31 -0500 Subject: [PATCH 030/233] fixed duplicate key in proxmox-vm-hardeware.nix --- .modules/base/proxmox-vm-hardware.nix | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/.modules/base/proxmox-vm-hardware.nix b/.modules/base/proxmox-vm-hardware.nix index 49e76b8..bd67ae9 100644 --- a/.modules/base/proxmox-vm-hardware.nix +++ b/.modules/base/proxmox-vm-hardware.nix @@ -12,13 +12,17 @@ ]; system.stateVersion = "22.11"; - boot.loader.systemd-boot.enable = "true"; - - boot.initrd.availableKernelModules = [ "uhci_hcd" "ehci_pci" "ahci" "virtio_pci" "virtio_blk" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-amd" ]; - boot.extraModulePackages = [ ]; - + + boot = { + loader.systemd-boot.enable = "true"; + initrd = { + availableKernelModules = [ "uhci_hcd" "ehci_pci" "ahci" "virtio_pci" "virtio_blk" "uas"]; + kernelModules = [ ]; + } + kernelModules = [ "kvm-amd" ]; + extraModulePackages = [ ]; + } + fileSystems."/" = { device = "/dev/disk/by-uuid/40fe3178-6ec1-450f-93fd-c359f2f3daf9"; fsType = "ext4"; @@ -54,7 +58,6 @@ }; loader.timeout = 0; - initrd.availableKernelModules = [ "uas" "virtio_blk" "virtio_pci" ]; }; # fileSystems."/" = { From ce6d973fed7c7e93946a66754b9edd64bc3c8157 Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Thu, 9 Feb 2023 00:08:35 -0500 Subject: [PATCH 031/233] fixed syntax error --- .modules/base/proxmox-vm-hardware.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.modules/base/proxmox-vm-hardware.nix b/.modules/base/proxmox-vm-hardware.nix index bd67ae9..46d85f7 100644 --- a/.modules/base/proxmox-vm-hardware.nix +++ b/.modules/base/proxmox-vm-hardware.nix @@ -18,10 +18,10 @@ initrd = { availableKernelModules = [ "uhci_hcd" "ehci_pci" "ahci" "virtio_pci" "virtio_blk" "uas"]; kernelModules = [ ]; - } + }; kernelModules = [ "kvm-amd" ]; extraModulePackages = [ ]; - } + }; fileSystems."/" = { device = "/dev/disk/by-uuid/40fe3178-6ec1-450f-93fd-c359f2f3daf9"; From 4ad40dbadf034734a623b9b6cd4fba7d85742c9c Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Thu, 9 Feb 2023 00:09:36 -0500 Subject: [PATCH 032/233] fixed duplicate key in proxmox-vm-hardeware.nix --- .modules/base/proxmox-vm-hardware.nix | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/.modules/base/proxmox-vm-hardware.nix b/.modules/base/proxmox-vm-hardware.nix index 46d85f7..4e6b66e 100644 --- a/.modules/base/proxmox-vm-hardware.nix +++ b/.modules/base/proxmox-vm-hardware.nix @@ -13,16 +13,6 @@ system.stateVersion = "22.11"; - boot = { - loader.systemd-boot.enable = "true"; - initrd = { - availableKernelModules = [ "uhci_hcd" "ehci_pci" "ahci" "virtio_pci" "virtio_blk" "uas"]; - kernelModules = [ ]; - }; - kernelModules = [ "kvm-amd" ]; - extraModulePackages = [ ]; - }; - fileSystems."/" = { device = "/dev/disk/by-uuid/40fe3178-6ec1-450f-93fd-c359f2f3daf9"; fsType = "ext4"; @@ -45,6 +35,12 @@ boot = { growPartition = true; kernelParams = [ "console=ttyS0" ]; + initrd = { + availableKernelModules = [ "uhci_hcd" "ehci_pci" "ahci" "virtio_pci" "virtio_blk" "uas"]; + kernelModules = [ ]; + }; + kernelModules = [ "kvm-amd" ]; + extraModulePackages = [ ]; loader.grub = { device = lib.mkDefault (if (hasNoFsPartition || supportBios) then # Even if there is a separate no-fs partition ("/dev/disk/by-partlabel/no-fs" i.e. "/dev/vda2"), From 0330ac7a8753766d9341250c539748acba2636fb Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Thu, 9 Feb 2023 00:11:46 -0500 Subject: [PATCH 033/233] fixed duplicate key in proxmox-vm-hardeware.nix --- .modules/base/proxmox-vm-hardware.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.modules/base/proxmox-vm-hardware.nix b/.modules/base/proxmox-vm-hardware.nix index 4e6b66e..210eb5d 100644 --- a/.modules/base/proxmox-vm-hardware.nix +++ b/.modules/base/proxmox-vm-hardware.nix @@ -42,13 +42,11 @@ kernelModules = [ "kvm-amd" ]; extraModulePackages = [ ]; loader.grub = { - device = lib.mkDefault (if (hasNoFsPartition || supportBios) then + device = # Even if there is a separate no-fs partition ("/dev/disk/by-partlabel/no-fs" i.e. "/dev/vda2"), # which will be used the bootloader, do not set it as loader.grub.device. # GRUB installation fails, unless the whole disk is selected. - "/dev/disk/by-uuid/40fe3178-6ec1-450f-93fd-c359f2f3daf9" - else - "nodev"); + "/dev/disk/by-uuid/40fe3178-6ec1-450f-93fd-c359f2f3daf9"; efiSupport = lib.mkDefault supportEfi; efiInstallAsRemovable = lib.mkDefault supportEfi; }; From a33caf1ac035371cfd645cab6882005f99a861ed Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Thu, 9 Feb 2023 00:12:56 -0500 Subject: [PATCH 034/233] fixed duplicate key in proxmox-vm-hardeware.nix --- .modules/base/proxmox-vm-hardware.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.modules/base/proxmox-vm-hardware.nix b/.modules/base/proxmox-vm-hardware.nix index 210eb5d..18e4176 100644 --- a/.modules/base/proxmox-vm-hardware.nix +++ b/.modules/base/proxmox-vm-hardware.nix @@ -47,8 +47,8 @@ # which will be used the bootloader, do not set it as loader.grub.device. # GRUB installation fails, unless the whole disk is selected. "/dev/disk/by-uuid/40fe3178-6ec1-450f-93fd-c359f2f3daf9"; - efiSupport = lib.mkDefault supportEfi; - efiInstallAsRemovable = lib.mkDefault supportEfi; + # efiSupport = lib.mkDefault supportEfi; + # efiInstallAsRemovable = lib.mkDefault supportEfi; }; loader.timeout = 0; From a502ee60243b92e35d9fd4403140a3646bad2131 Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Thu, 9 Feb 2023 00:13:51 -0500 Subject: [PATCH 035/233] fixed duplicate key in proxmox-vm-hardeware.nix --- .modules/base/proxmox-vm-hardware.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.modules/base/proxmox-vm-hardware.nix b/.modules/base/proxmox-vm-hardware.nix index 18e4176..e810f48 100644 --- a/.modules/base/proxmox-vm-hardware.nix +++ b/.modules/base/proxmox-vm-hardware.nix @@ -1,9 +1,8 @@ - {config, lib, pkgs, modulesPath, ... }: +{config, lib, pkgs, modulesPath, ... }: # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: { imports = [ From 126bf19b4c8d5cb1cac52c66f90b055c3f7bf0f3 Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Thu, 9 Feb 2023 00:15:04 -0500 Subject: [PATCH 036/233] fixed duplicate key in proxmox-vm-hardeware.nix --- .modules/services/openssh.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.modules/services/openssh.nix b/.modules/services/openssh.nix index 1d38250..abdd037 100644 --- a/.modules/services/openssh.nix +++ b/.modules/services/openssh.nix @@ -4,11 +4,11 @@ services.openssh = lib.mkDefault { enable = true; openFirewall = true; - settings = lib.mkDefault { + #settings = lib.mkDefault { passwordAuthentication = false; permitRootLogin = "no"; kbdInteractiveAuthentication = false; - }; + #}; startWhenNeeded = true; kexAlgorithms = [ "curve25519-sha256@libssh.org" ]; }; From c404c3c7fcae052aad0292ac0d0193c7050c393d Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Thu, 9 Feb 2023 00:17:17 -0500 Subject: [PATCH 037/233] gnome enable duplicate key --- .modules/features/desktop/environments/gnome.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/.modules/features/desktop/environments/gnome.nix b/.modules/features/desktop/environments/gnome.nix index e839e23..8c7b360 100644 --- a/.modules/features/desktop/environments/gnome.nix +++ b/.modules/features/desktop/environments/gnome.nix @@ -11,7 +11,6 @@ layout = "us"; xkbVariant = ""; displayManager = { - gnome.enable = true; gdm.enable = true; gdm.wayland = true; # defaultSession = lib.mkDefault "gnome"; From 178087244feec83bab6c5b6dc621901265dd5042 Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Thu, 9 Feb 2023 00:18:28 -0500 Subject: [PATCH 038/233] fixed misnamed vs code package --- hosts/creatorforge.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/creatorforge.nix b/hosts/creatorforge.nix index aae6690..8fa50d0 100644 --- a/hosts/creatorforge.nix +++ b/hosts/creatorforge.nix @@ -37,7 +37,7 @@ micro tailscale firefox - codium + vscodium-fhs # Gnome Extensions gnomeExtensions.dock-from-dash gnomeExtensions.pop-shell From 2466de1b49accce74d729761738d964760fdacf0 Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Thu, 9 Feb 2023 00:35:51 -0500 Subject: [PATCH 039/233] swapped grub for systemd-boot --- .modules/base/proxmox-vm-hardware.nix | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/.modules/base/proxmox-vm-hardware.nix b/.modules/base/proxmox-vm-hardware.nix index e810f48..6a740d2 100644 --- a/.modules/base/proxmox-vm-hardware.nix +++ b/.modules/base/proxmox-vm-hardware.nix @@ -12,8 +12,8 @@ system.stateVersion = "22.11"; - fileSystems."/" = - { device = "/dev/disk/by-uuid/40fe3178-6ec1-450f-93fd-c359f2f3daf9"; + fileSystems."/" = { + device = "/dev/disk/by-uuid/40fe3178-6ec1-450f-93fd-c359f2f3daf9"; fsType = "ext4"; }; @@ -40,17 +40,19 @@ }; kernelModules = [ "kvm-amd" ]; extraModulePackages = [ ]; - loader.grub = { - device = + #loader.grub = { + # device = lib.mkDefault (if (hasNoFsPartition || supportBios) then # Even if there is a separate no-fs partition ("/dev/disk/by-partlabel/no-fs" i.e. "/dev/vda2"), # which will be used the bootloader, do not set it as loader.grub.device. # GRUB installation fails, unless the whole disk is selected. - "/dev/disk/by-uuid/40fe3178-6ec1-450f-93fd-c359f2f3daf9"; - # efiSupport = lib.mkDefault supportEfi; - # efiInstallAsRemovable = lib.mkDefault supportEfi; - }; - - loader.timeout = 0; + # "/dev/disk/by-uuid/40fe3178-6ec1-450f-93fd-c359f2f3daf9" + # else + # "nodev"); + #}; + loader = { + systemd-boot.enable = "true"; + timeout = 0; + } }; # fileSystems."/" = { From 31bcaeb8e4147ac1fd9c3d276bc7eb6494789b95 Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Thu, 9 Feb 2023 00:36:58 -0500 Subject: [PATCH 040/233] fixed syntax error --- .modules/base/proxmox-vm-hardware.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.modules/base/proxmox-vm-hardware.nix b/.modules/base/proxmox-vm-hardware.nix index 6a740d2..ef5be0f 100644 --- a/.modules/base/proxmox-vm-hardware.nix +++ b/.modules/base/proxmox-vm-hardware.nix @@ -52,7 +52,7 @@ loader = { systemd-boot.enable = "true"; timeout = 0; - } + }; }; # fileSystems."/" = { From 26f5acac2597654a17d376596688d408bb8e6f83 Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Thu, 9 Feb 2023 00:37:38 -0500 Subject: [PATCH 041/233] fixed syntax error --- .modules/base/proxmox-vm-hardware.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.modules/base/proxmox-vm-hardware.nix b/.modules/base/proxmox-vm-hardware.nix index ef5be0f..d6c8214 100644 --- a/.modules/base/proxmox-vm-hardware.nix +++ b/.modules/base/proxmox-vm-hardware.nix @@ -50,7 +50,7 @@ # "nodev"); #}; loader = { - systemd-boot.enable = "true"; + systemd-boot.enable = true; timeout = 0; }; }; From 8be8c69421f8035cd60110e77a08951b086cabbb Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Fri, 10 Feb 2023 13:43:07 -0500 Subject: [PATCH 042/233] Testing with default options provided by generate. --- .modules/base/proxmox-vm-hardware.nix | 31 +++++++++++++++------------ 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/.modules/base/proxmox-vm-hardware.nix b/.modules/base/proxmox-vm-hardware.nix index d6c8214..a1983c5 100644 --- a/.modules/base/proxmox-vm-hardware.nix +++ b/.modules/base/proxmox-vm-hardware.nix @@ -35,26 +35,28 @@ growPartition = true; kernelParams = [ "console=ttyS0" ]; initrd = { - availableKernelModules = [ "uhci_hcd" "ehci_pci" "ahci" "virtio_pci" "virtio_blk" "uas"]; - kernelModules = [ ]; + availableKernelModules = [ "uhci_hcd" "ehci_pci" "ahci" "virtio_pci" "virtio_blk" ]; + kernelModules = [ "kvm-amd" ]; }; - kernelModules = [ "kvm-amd" ]; extraModulePackages = [ ]; - #loader.grub = { - # device = lib.mkDefault (if (hasNoFsPartition || supportBios) then + # loader = { + #systemd-boot.enable = true; + #grub = { + # device = { # Even if there is a separate no-fs partition ("/dev/disk/by-partlabel/no-fs" i.e. "/dev/vda2"), # which will be used the bootloader, do not set it as loader.grub.device. # GRUB installation fails, unless the whole disk is selected. - # "/dev/disk/by-uuid/40fe3178-6ec1-450f-93fd-c359f2f3daf9" - # else - # "nodev"); - #}; - loader = { - systemd-boot.enable = true; - timeout = 0; + # "/dev/disk/by-uuid/40fe3178-6ec1-450f-93fd-c359f2f3daf9" + # }; + # timeout = 0; + # }; + }; + fileSystems."/" = { + device = "/dev/disk/by-uuid/40fe3178-6ec1-450f-93fd-c359f2f3daf9"; + fsType = "ext4"; }; - }; + swapDevices = [ ]; # fileSystems."/" = { # device = "/dev/disk/by-label/nixos"; # autoResize = true; @@ -64,6 +66,7 @@ # device = "/dev/disk/by-label/ESP"; # fsType = "vfat"; # }; - + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; services.qemuGuest.enable = lib.mkDefault true; } \ No newline at end of file From 3195451f44c01babb9d4108b9ff1f16f00568b62 Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Fri, 10 Feb 2023 13:49:12 -0500 Subject: [PATCH 043/233] fixed redundent code --- .modules/base/proxmox-vm-hardware.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.modules/base/proxmox-vm-hardware.nix b/.modules/base/proxmox-vm-hardware.nix index a1983c5..e8641bf 100644 --- a/.modules/base/proxmox-vm-hardware.nix +++ b/.modules/base/proxmox-vm-hardware.nix @@ -51,10 +51,6 @@ # timeout = 0; # }; }; - fileSystems."/" = { - device = "/dev/disk/by-uuid/40fe3178-6ec1-450f-93fd-c359f2f3daf9"; - fsType = "ext4"; - }; swapDevices = [ ]; # fileSystems."/" = { From 88825e255f09707c9c1828ecd32da3ce88679f9f Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Fri, 10 Feb 2023 13:49:39 -0500 Subject: [PATCH 044/233] fixed redundent code again --- .modules/base/proxmox-vm-hardware.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/.modules/base/proxmox-vm-hardware.nix b/.modules/base/proxmox-vm-hardware.nix index e8641bf..7594d19 100644 --- a/.modules/base/proxmox-vm-hardware.nix +++ b/.modules/base/proxmox-vm-hardware.nix @@ -51,8 +51,6 @@ # timeout = 0; # }; }; - - swapDevices = [ ]; # fileSystems."/" = { # device = "/dev/disk/by-label/nixos"; # autoResize = true; From 2ae637ebb014fc96711caf219c9598d22b289a16 Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Fri, 10 Feb 2023 13:50:24 -0500 Subject: [PATCH 045/233] fixed redundent code again again --- .modules/base/proxmox-vm-hardware.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/.modules/base/proxmox-vm-hardware.nix b/.modules/base/proxmox-vm-hardware.nix index 7594d19..e3510d7 100644 --- a/.modules/base/proxmox-vm-hardware.nix +++ b/.modules/base/proxmox-vm-hardware.nix @@ -60,7 +60,6 @@ # device = "/dev/disk/by-label/ESP"; # fsType = "vfat"; # }; - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; services.qemuGuest.enable = lib.mkDefault true; } \ No newline at end of file From 193376180ecc7b0459581049e2c1589bbd880658 Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Fri, 10 Feb 2023 13:51:46 -0500 Subject: [PATCH 046/233] fixed redundent code again again again --- .modules/base/proxmox-vm-hardware.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/.modules/base/proxmox-vm-hardware.nix b/.modules/base/proxmox-vm-hardware.nix index e3510d7..9265390 100644 --- a/.modules/base/proxmox-vm-hardware.nix +++ b/.modules/base/proxmox-vm-hardware.nix @@ -60,6 +60,5 @@ # device = "/dev/disk/by-label/ESP"; # fsType = "vfat"; # }; - hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; services.qemuGuest.enable = lib.mkDefault true; } \ No newline at end of file From 37dc05d4a39609975451abf5af02bab071e1b9d4 Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Fri, 10 Feb 2023 14:02:11 -0500 Subject: [PATCH 047/233] added grub --- .modules/base/proxmox-vm-hardware.nix | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.modules/base/proxmox-vm-hardware.nix b/.modules/base/proxmox-vm-hardware.nix index 9265390..6b00287 100644 --- a/.modules/base/proxmox-vm-hardware.nix +++ b/.modules/base/proxmox-vm-hardware.nix @@ -39,17 +39,17 @@ kernelModules = [ "kvm-amd" ]; }; extraModulePackages = [ ]; - # loader = { - #systemd-boot.enable = true; - #grub = { - # device = { + loader = { + systemd-boot.enable = true; + grub = { + device = { # Even if there is a separate no-fs partition ("/dev/disk/by-partlabel/no-fs" i.e. "/dev/vda2"), # which will be used the bootloader, do not set it as loader.grub.device. # GRUB installation fails, unless the whole disk is selected. - # "/dev/disk/by-uuid/40fe3178-6ec1-450f-93fd-c359f2f3daf9" - # }; - # timeout = 0; - # }; + "/dev/disk/by-uuid/40fe3178-6ec1-450f-93fd-c359f2f3daf9" + }; + timeout = 0; + }; }; # fileSystems."/" = { # device = "/dev/disk/by-label/nixos"; From d7a234fca2e592f03ce8eecc02745a47a7ec1a3c Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Fri, 10 Feb 2023 14:02:27 -0500 Subject: [PATCH 048/233] added grub --- .modules/base/proxmox-vm-hardware.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.modules/base/proxmox-vm-hardware.nix b/.modules/base/proxmox-vm-hardware.nix index 6b00287..50eb492 100644 --- a/.modules/base/proxmox-vm-hardware.nix +++ b/.modules/base/proxmox-vm-hardware.nix @@ -40,7 +40,7 @@ }; extraModulePackages = [ ]; loader = { - systemd-boot.enable = true; + # systemd-boot.enable = true; grub = { device = { # Even if there is a separate no-fs partition ("/dev/disk/by-partlabel/no-fs" i.e. "/dev/vda2"), From 6c7b5b55a663e62628631308296ab8a27d9019c2 Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Fri, 10 Feb 2023 14:05:38 -0500 Subject: [PATCH 049/233] fixed missing } --- .modules/base/proxmox-vm-hardware.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/.modules/base/proxmox-vm-hardware.nix b/.modules/base/proxmox-vm-hardware.nix index 50eb492..748fa0d 100644 --- a/.modules/base/proxmox-vm-hardware.nix +++ b/.modules/base/proxmox-vm-hardware.nix @@ -51,6 +51,7 @@ timeout = 0; }; }; + }; # fileSystems."/" = { # device = "/dev/disk/by-label/nixos"; # autoResize = true; From 66774554fcd3e3b7c060143ed4c95e9d0ccb95e9 Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Fri, 10 Feb 2023 14:08:34 -0500 Subject: [PATCH 050/233] comment fuckery --- .modules/base/proxmox-vm-hardware.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.modules/base/proxmox-vm-hardware.nix b/.modules/base/proxmox-vm-hardware.nix index 748fa0d..ee7be92 100644 --- a/.modules/base/proxmox-vm-hardware.nix +++ b/.modules/base/proxmox-vm-hardware.nix @@ -42,12 +42,10 @@ loader = { # systemd-boot.enable = true; grub = { - device = { # Even if there is a separate no-fs partition ("/dev/disk/by-partlabel/no-fs" i.e. "/dev/vda2"), # which will be used the bootloader, do not set it as loader.grub.device. # GRUB installation fails, unless the whole disk is selected. - "/dev/disk/by-uuid/40fe3178-6ec1-450f-93fd-c359f2f3daf9" - }; + device = "/dev/disk/by-uuid/40fe3178-6ec1-450f-93fd-c359f2f3daf9"; timeout = 0; }; }; From 1fc970a3aac2bbe1a20962b070ccfa236c477131 Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Fri, 10 Feb 2023 14:13:03 -0500 Subject: [PATCH 051/233] why grub why --- .modules/base/proxmox-vm-hardware.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.modules/base/proxmox-vm-hardware.nix b/.modules/base/proxmox-vm-hardware.nix index ee7be92..5e3a719 100644 --- a/.modules/base/proxmox-vm-hardware.nix +++ b/.modules/base/proxmox-vm-hardware.nix @@ -45,7 +45,7 @@ # Even if there is a separate no-fs partition ("/dev/disk/by-partlabel/no-fs" i.e. "/dev/vda2"), # which will be used the bootloader, do not set it as loader.grub.device. # GRUB installation fails, unless the whole disk is selected. - device = "/dev/disk/by-uuid/40fe3178-6ec1-450f-93fd-c359f2f3daf9"; + device = "/dev/vda"; timeout = 0; }; }; From 7a932645fe52bad6c9451daadc70c26ea2353654 Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Fri, 10 Feb 2023 15:55:13 -0500 Subject: [PATCH 052/233] testing wayfire --- .modules/storj.txt | 0 flake.nix | 9 +++++++++ 2 files changed, 9 insertions(+) delete mode 100644 .modules/storj.txt diff --git a/.modules/storj.txt b/.modules/storj.txt deleted file mode 100644 index e69de29..0000000 diff --git a/flake.nix b/flake.nix index a6ea43a..78de750 100644 --- a/flake.nix +++ b/flake.nix @@ -1,6 +1,10 @@ { inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11"; + nixpkgs-wayland = { + url = "github:nix-community/nixpkgs-wayland"; + inputs.nixpkgs.follows = "nixpkgs"; + }; nixos-generators = { url = "github:nix-community/nixos-generators"; inputs.nixpkgs.follows = "nixpkgs"; @@ -21,6 +25,11 @@ modules = [ ./hosts/creatorforge.nix ./.modules/base/proxmox-vm-hardware.nix + ({pkgs, config, ...}:{ + environment.systemPackages = with pkgs; [ + inputs.nixpkgs-wayland.packages.${system}.waybar + ]; + }) ]; }; }; From 8f94b87e8fc76f3c7409482c1308dd4ea5ae7049 Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Fri, 10 Feb 2023 15:59:27 -0500 Subject: [PATCH 053/233] fixed bad copy pasta --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 78de750..f52fa2a 100644 --- a/flake.nix +++ b/flake.nix @@ -27,7 +27,7 @@ ./.modules/base/proxmox-vm-hardware.nix ({pkgs, config, ...}:{ environment.systemPackages = with pkgs; [ - inputs.nixpkgs-wayland.packages.${system}.waybar + inputs.nixpkgs-wayland.packages.${system}.wayfire-unstable ]; }) ]; From 687012f0b67903e8ac21b822d8bf753b2b8d6c37 Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Fri, 10 Feb 2023 16:00:24 -0500 Subject: [PATCH 054/233] fixing wayfire --- flake.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/flake.nix b/flake.nix index f52fa2a..f9f8756 100644 --- a/flake.nix +++ b/flake.nix @@ -26,9 +26,11 @@ ./hosts/creatorforge.nix ./.modules/base/proxmox-vm-hardware.nix ({pkgs, config, ...}:{ - environment.systemPackages = with pkgs; [ - inputs.nixpkgs-wayland.packages.${system}.wayfire-unstable - ]; + config = { + environment.systemPackages = with pkgs; [ + inputs.nixpkgs-wayland.packages.${system}.wayfire-unstable + ]; + }; }) ]; }; From bf2f48fbcc075faab49f2e4cd008b06787dfa655 Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Fri, 10 Feb 2023 16:02:10 -0500 Subject: [PATCH 055/233] fixed timout rename deprication --- .modules/base/proxmox-vm-hardware.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.modules/base/proxmox-vm-hardware.nix b/.modules/base/proxmox-vm-hardware.nix index 5e3a719..4dd7e4a 100644 --- a/.modules/base/proxmox-vm-hardware.nix +++ b/.modules/base/proxmox-vm-hardware.nix @@ -46,8 +46,8 @@ # which will be used the bootloader, do not set it as loader.grub.device. # GRUB installation fails, unless the whole disk is selected. device = "/dev/vda"; - timeout = 0; }; + timeout = 0; }; }; # fileSystems."/" = { From d9b0288868eb5c6cf0c3dde72a433f4c6551064b Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Fri, 10 Feb 2023 21:17:26 -0500 Subject: [PATCH 056/233] added home manager --- flake.nix | 29 +++++++++++++++++++---------- hosts/creatorforge.nix | 2 ++ 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/flake.nix b/flake.nix index f9f8756..8495fe1 100644 --- a/flake.nix +++ b/flake.nix @@ -1,8 +1,13 @@ { inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11"; - nixpkgs-wayland = { - url = "github:nix-community/nixpkgs-wayland"; +# For Wayfire # +# nixpkgs-wayland = { +# url = "github:nix-community/nixpkgs-wayland"; +# inputs.nixpkgs.follows = "nixpkgs"; +# }; + home-manager = { + url = "github:nix-community/home-manager/release-22.11"; inputs.nixpkgs.follows = "nixpkgs"; }; nixos-generators = { @@ -10,7 +15,7 @@ inputs.nixpkgs.follows = "nixpkgs"; }; }; - outputs = { self, nixos-generators, nixpkgs, ... }@inputs: + outputs = { self, home-manager, nixos-generators, nixpkgs, ... }@inputs: { proxmox = nixos-generators.nixosGenerate { system = "x86_64-linux"; @@ -25,15 +30,19 @@ modules = [ ./hosts/creatorforge.nix ./.modules/base/proxmox-vm-hardware.nix - ({pkgs, config, ...}:{ - config = { - environment.systemPackages = with pkgs; [ - inputs.nixpkgs-wayland.packages.${system}.wayfire-unstable - ]; - }; - }) ]; }; }; + homeManagerConfiguration = { + speccon18 = { + username = "speccon18"; + homeDirectory = "/home/speccon18"; + configuration = { + imports = [ + ./.hm-modules/home-manager.nix + ]; + }; + }; + }; }; } \ No newline at end of file diff --git a/hosts/creatorforge.nix b/hosts/creatorforge.nix index 8fa50d0..51af798 100644 --- a/hosts/creatorforge.nix +++ b/hosts/creatorforge.nix @@ -38,6 +38,8 @@ tailscale firefox vscodium-fhs + alacritty + starship # Gnome Extensions gnomeExtensions.dock-from-dash gnomeExtensions.pop-shell From fccb78d1ffce94df73b07474fe1aa96419e45441 Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Sat, 11 Feb 2023 15:30:09 -0500 Subject: [PATCH 057/233] added homemandger directory --- .hm-modules/home-manager.nix | 20 +++++++++++++++++++ .../features/desktop/environments/wayfire.nix | 6 ++++++ .modules/services/pipewire.nix | 17 ++++++++++++++++ 3 files changed, 43 insertions(+) create mode 100644 .hm-modules/home-manager.nix create mode 100644 .modules/features/desktop/environments/wayfire.nix create mode 100644 .modules/services/pipewire.nix diff --git a/.hm-modules/home-manager.nix b/.hm-modules/home-manager.nix new file mode 100644 index 0000000..310bc0c --- /dev/null +++ b/.hm-modules/home-manager.nix @@ -0,0 +1,20 @@ +{ config, pkgs, lib, ... }: +{ +# https://github.com/arouzing/nix/blob/main/hm/sky/home.nix + home = { + username = "speccon18"; + homeDirectory = "/home/speccon18"; + stateVersion = "22.11"; + }; + direnv = { + enableZshIntegration = true; + enable = true; + }; + starship = { + enable = true; + enableZshIntegration = true; + }; + zsh = { + enable = true; + }; +} \ No newline at end of file diff --git a/.modules/features/desktop/environments/wayfire.nix b/.modules/features/desktop/environments/wayfire.nix new file mode 100644 index 0000000..60282a1 --- /dev/null +++ b/.modules/features/desktop/environments/wayfire.nix @@ -0,0 +1,6 @@ +{ config, pkgs, lib, ... }: +{ + environment.systemPackages = with pkgs; [ + inputs.nixpkgs-wayland.packages.${system}.wayfire-unstable + ]; +} \ No newline at end of file diff --git a/.modules/services/pipewire.nix b/.modules/services/pipewire.nix new file mode 100644 index 0000000..dfde8b9 --- /dev/null +++ b/.modules/services/pipewire.nix @@ -0,0 +1,17 @@ +# https://nixos.wiki/wiki/PipeWire +{ config, pkgs, lib, ... }: +{ + # Remove sound.enable or turn it off if you had it set previously, it seems to cause conflicts with pipewire + #sound.enable = false; + # rtkit is optional but recommended + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa = { + enable = true; + support32Bit = true; + }; + pulse.enable = true; + jack.enable = true; + }; +} \ No newline at end of file From ce24c83fbbfe7ce615181f6bc8da8ccbabcc10a2 Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Sun, 12 Feb 2023 16:54:09 -0500 Subject: [PATCH 058/233] house cleaning and defaulted to zsh shell for myself --- .../desktop/applications/speccon18.nix | 13 +++ .../features/desktop/environments/gnome.nix | 17 +++- .modules/users/speccon18.nix | 1 + hosts/creatorforge.nix | 81 +++++++++---------- 4 files changed, 65 insertions(+), 47 deletions(-) create mode 100644 .modules/features/desktop/applications/speccon18.nix diff --git a/.modules/features/desktop/applications/speccon18.nix b/.modules/features/desktop/applications/speccon18.nix new file mode 100644 index 0000000..4b71266 --- /dev/null +++ b/.modules/features/desktop/applications/speccon18.nix @@ -0,0 +1,13 @@ +{ config, pkgs, lib, ... }: +{ + environment.systemPackages = with pkgs; [ + tailscale + firefox + vscodium-fhs + alacritty + starship + ]; + programs = { + zsh.enable = lib.mkDefault true; + }; +} \ No newline at end of file diff --git a/.modules/features/desktop/environments/gnome.nix b/.modules/features/desktop/environments/gnome.nix index 8c7b360..e5305c3 100644 --- a/.modules/features/desktop/environments/gnome.nix +++ b/.modules/features/desktop/environments/gnome.nix @@ -1,5 +1,10 @@ { config, pkgs, lib, ... }: { + # Gnome extensions + environment.systemPackages = with pkgs; [ + gnomeExtensions.dock-from-dash + gnomeExtensions.pop-shell + ]; services = { gnome = { core-utilities.enable = false; @@ -11,9 +16,13 @@ layout = "us"; xkbVariant = ""; displayManager = { - gdm.enable = true; - gdm.wayland = true; - # defaultSession = lib.mkDefault "gnome"; + gdm = { + enable = true; + wayland = true; + }; + enable = true; + wayland = true; + defaultSession = lib.mkDefault "gnome"; }; desktopManager = { xterm.enable = lib.mkForce false; @@ -28,4 +37,4 @@ xdg.portal = { enable = lib.mkDefault true; }; -} \ No newline at end of file +} diff --git a/.modules/users/speccon18.nix b/.modules/users/speccon18.nix index 2ec2439..fad4d60 100644 --- a/.modules/users/speccon18.nix +++ b/.modules/users/speccon18.nix @@ -1,6 +1,7 @@ { config, pkgs, lib, ... }: { users.users.speccon18 = { + shell = pkgs.zsh; isNormalUser = true; initialHashedPassword = "$6$pJB0TDUj8IS8hQNJ$GfENlHg89lsUjRiSaePWJeqX1pevTTZOuEw5KgcVEpyPw9lyiAifz5ZiuOQnYxUAMhAiCmF/pCjaWSy6m5sWM/"; openssh.authorizedKeys.keys = [ diff --git a/hosts/creatorforge.nix b/hosts/creatorforge.nix index 51af798..bef18c8 100644 --- a/hosts/creatorforge.nix +++ b/hosts/creatorforge.nix @@ -2,48 +2,44 @@ { imports = [ - # Include the results of the hardware scan. - (modulesPath + "/profiles/qemu-guest.nix") - ../.modules/services/docker.nix - ../.modules/users/speccon18.nix - ../.modules/services/openssh.nix - ../.modules/features/desktop/environments/gnome.nix - ]; - #TODO: MOVE TO MODULE LATER - nixpkgs.config.allowUnfree = true; - nix = { - # nix flakes - package = pkgs.nixUnstable; # or versioned attributes like nix_2_4 - extraOptions = '' - experimental-features = nix-command flakes - ''; - #auto maintainence - settings.auto-optimise-store = lib.mkDefault true; - gc = { - automatic = true; - dates = "weekly"; - options = "--delete-older-than 7d"; - }; - # prevent tampering - readOnlyStore = true; + # Include the results of the hardware scan. + (modulesPath + "/profiles/qemu-guest.nix") + ../.modules/services/docker.nix + ../.modules/users/speccon18.nix + ../.modules/services/openssh.nix + ../.modules/features/desktop/environments/gnome.nix + ../.modules/features/desktop/applications/speccon18.nix + ]; + # Allow non opensource software to be installed + nixpkgs.config.allowUnfree = true; + + nix = { + ## NIX FLAKES ## + package = pkgs.nixUnstable; # or versioned attributes like nix_2_4 + # enable flakes + extraOptions = ''experimental-features = nix-command flakes''; + # auto maintainence + settings.auto-optimise-store = lib.mkDefault true; + # prevent tampering + readOnlyStore = true; + # garbage collections + gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 7d"; }; - # base packages - environment.systemPackages = with pkgs; [ - htop - bat - exa - zsh - vim - micro - tailscale - firefox - vscodium-fhs - alacritty - starship - # Gnome Extensions - gnomeExtensions.dock-from-dash - gnomeExtensions.pop-shell - ]; + }; + # base packages + environment.systemPackages = with pkgs; [ + htop + bat + exa + zsh + vim + micro + direnv + uutils-coreutils + ]; networking = { firewall.checkReversePath = "loose"; @@ -65,8 +61,7 @@ system.stateVersion = "22.11"; ### testing ### - boot.initrd.availableKernelModules = - [ "ata_piix" "uhci_hcd" "virtio_pci" "sr_mod" "virtio_blk" ]; + boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "virtio_pci" "sr_mod" "virtio_blk" ]; } \ No newline at end of file From 4dd8b0acc6b21f3a9761b31dfc935c16a28a20b4 Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Sun, 12 Feb 2023 17:03:09 -0500 Subject: [PATCH 059/233] fixed extra values in gnome --- .modules/features/desktop/environments/gnome.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/.modules/features/desktop/environments/gnome.nix b/.modules/features/desktop/environments/gnome.nix index e5305c3..5435bed 100644 --- a/.modules/features/desktop/environments/gnome.nix +++ b/.modules/features/desktop/environments/gnome.nix @@ -20,8 +20,6 @@ enable = true; wayland = true; }; - enable = true; - wayland = true; defaultSession = lib.mkDefault "gnome"; }; desktopManager = { From b2e45bf27fcc99ae4bb6716e778fd02702db2f1e Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Tue, 14 Feb 2023 00:45:36 -0500 Subject: [PATCH 060/233] working on tagss development env, devenv and added README --- .hm-modules/home-manager.nix | 22 +++----- .hm-modules/users/speccon18.nix | 50 +++++++++++++++++++ .../desktop/applications/speccon18.nix | 13 ----- .modules/features/development/devenv.nix | 4 ++ .modules/users/speccon18.nix | 6 +-- README.md | 4 ++ flake.nix | 2 +- hosts/creatorforge.nix | 1 + 8 files changed, 69 insertions(+), 33 deletions(-) create mode 100644 .hm-modules/users/speccon18.nix delete mode 100644 .modules/features/desktop/applications/speccon18.nix create mode 100644 .modules/features/development/devenv.nix create mode 100644 README.md diff --git a/.hm-modules/home-manager.nix b/.hm-modules/home-manager.nix index 310bc0c..01e905f 100644 --- a/.hm-modules/home-manager.nix +++ b/.hm-modules/home-manager.nix @@ -1,20 +1,10 @@ { config, pkgs, lib, ... }: { + imports = [ + ./users/speccon18.nix + ]; + programs.home-manager.enable = true; + # https://github.com/arouzing/nix/blob/main/hm/sky/home.nix - home = { - username = "speccon18"; - homeDirectory = "/home/speccon18"; - stateVersion = "22.11"; - }; - direnv = { - enableZshIntegration = true; - enable = true; - }; - starship = { - enable = true; - enableZshIntegration = true; - }; - zsh = { - enable = true; - }; + } \ No newline at end of file diff --git a/.hm-modules/users/speccon18.nix b/.hm-modules/users/speccon18.nix new file mode 100644 index 0000000..53d0112 --- /dev/null +++ b/.hm-modules/users/speccon18.nix @@ -0,0 +1,50 @@ +{ config, pkgs, lib, ... }: + +{ + home-manager.users.speccon18 = { + home.packages = [ + firefox + vscodium-fhs + alacritty + starship + diff-so-fancy + ]; + }; + programs = { + home = { + username = "speccon18"; + homeDirectory = "/home/speccon18"; + stateVersion = "22.11"; + }; + direnv = { + enableZshIntegration = true; + enable = true; + }; + starship = { + enable = true; + enableZshIntegration = true; + }; + zsh = { + enable = lib.mkDefault true; + dotDir = ".config/zsh"; + history = { + path = "$ZDOTDIR/.zsh_history"; + save = 10000000; + }; + }; + git = { + enable = true; + userName = "specCon18"; + userEmail = "specCon18@gmail.com"; + # signing = { + # key = "71F252936D785219"; + # signByDefault = true; + # }; + diff-so-fancy = { + enable = true; + changeHunkIndicators = true; + }; + lfs.enable = true; + }; + }; +} \ No newline at end of file diff --git a/.modules/features/desktop/applications/speccon18.nix b/.modules/features/desktop/applications/speccon18.nix deleted file mode 100644 index 4b71266..0000000 --- a/.modules/features/desktop/applications/speccon18.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ config, pkgs, lib, ... }: -{ - environment.systemPackages = with pkgs; [ - tailscale - firefox - vscodium-fhs - alacritty - starship - ]; - programs = { - zsh.enable = lib.mkDefault true; - }; -} \ No newline at end of file diff --git a/.modules/features/development/devenv.nix b/.modules/features/development/devenv.nix new file mode 100644 index 0000000..25ac50e --- /dev/null +++ b/.modules/features/development/devenv.nix @@ -0,0 +1,4 @@ +{ config, pkgs, lib, ... }: +{ + +} \ No newline at end of file diff --git a/.modules/users/speccon18.nix b/.modules/users/speccon18.nix index fad4d60..b5466d9 100644 --- a/.modules/users/speccon18.nix +++ b/.modules/users/speccon18.nix @@ -1,12 +1,12 @@ { config, pkgs, lib, ... }: { - users.users.speccon18 = { + users.users.speccon18 = { shell = pkgs.zsh; isNormalUser = true; initialHashedPassword = "$6$pJB0TDUj8IS8hQNJ$GfENlHg89lsUjRiSaePWJeqX1pevTTZOuEw5KgcVEpyPw9lyiAifz5ZiuOQnYxUAMhAiCmF/pCjaWSy6m5sWM/"; openssh.authorizedKeys.keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILdigmndcdQD/864P059K2hZOXyEkbGvMkH0/b2QavkD speccon18@creatorforge" - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPc1AQ6hcjdSZZuhS5SISwtulFoTLpC5f5JoMFQkZ5l2 specCon18@DESKTOP-Q1I2PAE" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILdigmndcdQD/864P059K2hZOXyEkbGvMkH0/b2QavkD speccon18@creatorforge" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPc1AQ6hcjdSZZuhS5SISwtulFoTLpC5f5JoMFQkZ5l2 specCon18@DESKTOP-Q1I2PAE" ]; description = "admin"; extraGroups = [ "wheel" "docker" ]; diff --git a/README.md b/README.md new file mode 100644 index 0000000..4811a92 --- /dev/null +++ b/README.md @@ -0,0 +1,4 @@ +# NixOS Config +My personal NixOS Configuration Repository + +[![built with nix](https://builtwithnix.org/badge.svg)](https://builtwithnix.org) diff --git a/flake.nix b/flake.nix index 8495fe1..a9d78b1 100644 --- a/flake.nix +++ b/flake.nix @@ -15,7 +15,7 @@ inputs.nixpkgs.follows = "nixpkgs"; }; }; - outputs = { self, home-manager, nixos-generators, nixpkgs, ... }@inputs: + outputs = { self, home-manager, nixos-generators, flake-utils, nixpkgs, ... }@inputs: { proxmox = nixos-generators.nixosGenerate { system = "x86_64-linux"; diff --git a/hosts/creatorforge.nix b/hosts/creatorforge.nix index bef18c8..23f33a0 100644 --- a/hosts/creatorforge.nix +++ b/hosts/creatorforge.nix @@ -37,6 +37,7 @@ zsh vim micro + tailscale direnv uutils-coreutils ]; From 0e1fcb30ca48ccc7d964633846e473c6757d1446 Mon Sep 17 00:00:00 2001 From: Steven Date: Sat, 25 Mar 2023 19:56:17 -0400 Subject: [PATCH 061/233] removed unimported outputs --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index a9d78b1..8495fe1 100644 --- a/flake.nix +++ b/flake.nix @@ -15,7 +15,7 @@ inputs.nixpkgs.follows = "nixpkgs"; }; }; - outputs = { self, home-manager, nixos-generators, flake-utils, nixpkgs, ... }@inputs: + outputs = { self, home-manager, nixos-generators, nixpkgs, ... }@inputs: { proxmox = nixos-generators.nixosGenerate { system = "x86_64-linux"; From 490bf5bc869d0b71d911652710c97fa0df2eb620 Mon Sep 17 00:00:00 2001 From: Steven Date: Sat, 25 Mar 2023 20:21:03 -0400 Subject: [PATCH 062/233] added disko config --- .modules/base/framework.nix | 40 +++++++++++++++++++ .modules/disko/luks-lvm.nix | 77 +++++++++++++++++++++++++++++++++++++ flake.nix | 14 ++++++- 3 files changed, 130 insertions(+), 1 deletion(-) create mode 100644 .modules/base/framework.nix create mode 100644 .modules/disko/luks-lvm.nix diff --git a/.modules/base/framework.nix b/.modules/base/framework.nix new file mode 100644 index 0000000..3563406 --- /dev/null +++ b/.modules/base/framework.nix @@ -0,0 +1,40 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = [(modulesPath + "/installer/scan/not-detected.nix")]; + + boot = { + initrd = { + availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ]; + kernelModules = [ "dm-snapshot" ]; + }; + kernelModules = [ "kvm-intel" ]; + kernelParams = [ "acpi_osi=linux" "module_blacklist=hid_sensor_hub" ]; + extraModulePackages = [ ]; + kernelPackages = pkgs.linuxPackages_5_18; + loader = { + efi.canTouchEfiVariables = true; + grub = { + enable = true; + version = 2; + efiSupport = true; + enableCryptodisk = true; + device = "nodev"; + }; + }; + }; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp0s13f0u3u2.useDHCP = lib.mkDefault true; + # networking.interfaces.wlp166s0.useDHCP = lib.mkDefault true; + networking.hostName = "creatorforge"; + powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} \ No newline at end of file diff --git a/.modules/disko/luks-lvm.nix b/.modules/disko/luks-lvm.nix new file mode 100644 index 0000000..5a755ad --- /dev/null +++ b/.modules/disko/luks-lvm.nix @@ -0,0 +1,77 @@ +{ disks ? [ "/dev/nvme0n1" ], ... }: { + disk = { + nvme0n1p1 = { + type = "disk"; + device = builtins.elemAt disks 0; + content = { + type = "table"; + format = "gpt"; + partitions = [ + { + type = "partition"; + name = "ESP"; + start = "1MiB"; + end = "100MiB"; + bootable = true; + content = { + type = "filesystem"; + format = "vfat"; + mountpoint = "/boot"; + mountOptions = [ + "defaults" + ]; + }; + } + { + type = "partition"; + name = "luks"; + start = "100MiB"; + end = "100%"; + content = { + type = "luks"; + name = "crypted"; + extraOpenArgs = [ "--allow-discards" ]; + keyFile = "/tmp/secret.key"; + content = { + type = "lvm_pv"; + vg = "pool"; + }; + }; + } + ]; + }; + }; + }; + lvm_vg = { + pool = { + type = "lvm_vg"; + lvs = { + root = { + type = "lvm_lv"; + size = "128G"; + content = { + type = "filesystem"; + format = "ext4"; + mountpoint = "/"; + mountOptions = [ + "defaults" + ]; + }; + }; + home = { + type = "lvm_lv"; + size = "25G"; + content = { + type = "filesystem"; + format = "ext4"; + mountpoint = "/home"; + }; + }; + raw = { + type = "lvm_lv"; + size = "10M"; + }; + }; + }; + }; +} diff --git a/flake.nix b/flake.nix index 8495fe1..7a01a7b 100644 --- a/flake.nix +++ b/flake.nix @@ -14,8 +14,12 @@ url = "github:nix-community/nixos-generators"; inputs.nixpkgs.follows = "nixpkgs"; }; + disko = { + url = "github:nix-community/disko"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; - outputs = { self, home-manager, nixos-generators, nixpkgs, ... }@inputs: + outputs = { self, home-manager, nixos-generators, disko, nixpkgs, ... }@inputs: { proxmox = nixos-generators.nixosGenerate { system = "x86_64-linux"; @@ -32,6 +36,14 @@ ./.modules/base/proxmox-vm-hardware.nix ]; }; + creatorforge-framework = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + modules = [ + disko.nixosModules.disko + ./hosts/creatorforge.nix + ./.modules/base/proxmox-vm-hardware.nix + ]; + }; }; homeManagerConfiguration = { speccon18 = { From de79166be8f29d4ffa49661f8161af07fd60ce63 Mon Sep 17 00:00:00 2001 From: Steven Date: Sat, 25 Mar 2023 20:30:46 -0400 Subject: [PATCH 063/233] added framework hardware modules --- .modules/base/framework.nix | 8 +++++++- flake.nix | 2 ++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.modules/base/framework.nix b/.modules/base/framework.nix index 3563406..4f0fcdf 100644 --- a/.modules/base/framework.nix +++ b/.modules/base/framework.nix @@ -10,6 +10,12 @@ initrd = { availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ]; kernelModules = [ "dm-snapshot" ]; + luks.devices = { + crypted = { + device = ""; + preLVM = true; + }; + }; }; kernelModules = [ "kvm-intel" ]; kernelParams = [ "acpi_osi=linux" "module_blacklist=hid_sensor_hub" ]; @@ -26,7 +32,7 @@ }; }; }; - + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking # (the default) this is the recommended approach. When using systemd-networkd it's # still possible to use this option, but it's recommended to use it in conjunction diff --git a/flake.nix b/flake.nix index 7a01a7b..7ab7b1b 100644 --- a/flake.nix +++ b/flake.nix @@ -10,6 +10,7 @@ url = "github:nix-community/home-manager/release-22.11"; inputs.nixpkgs.follows = "nixpkgs"; }; + nixos-hardware.url = "github:NixOS/nixos-hardware/master"; nixos-generators = { url = "github:nix-community/nixos-generators"; inputs.nixpkgs.follows = "nixpkgs"; @@ -39,6 +40,7 @@ creatorforge-framework = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ + nixos-hardware.nixosModules.framework-12th-gen-intel disko.nixosModules.disko ./hosts/creatorforge.nix ./.modules/base/proxmox-vm-hardware.nix From b64d48ff3b683807055b5ba721e55a6e2ebcafc9 Mon Sep 17 00:00:00 2001 From: Steven Date: Sat, 25 Mar 2023 20:38:11 -0400 Subject: [PATCH 064/233] added swap partition to disko config --- .modules/disko/luks-lvm.nix | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/.modules/disko/luks-lvm.nix b/.modules/disko/luks-lvm.nix index 5a755ad..9deffa9 100644 --- a/.modules/disko/luks-lvm.nix +++ b/.modules/disko/luks-lvm.nix @@ -1,6 +1,6 @@ { disks ? [ "/dev/nvme0n1" ], ... }: { disk = { - nvme0n1p1 = { + nvme0n1 = { type = "disk"; device = builtins.elemAt disks 0; content = { @@ -22,6 +22,17 @@ ]; }; } +# { +# name = "swap"; +# type = "partition"; +# start = "101MiB"; +# end = "40960MiB"; +# part-type = "primary"; +# content = { +# type = "swap"; +# randomEncryption = true; +# }; +# } { type = "partition"; name = "luks"; From b6d1ba3a2443c2fe77fc30afd09da669bb8d5341 Mon Sep 17 00:00:00 2001 From: Steven Date: Sat, 25 Mar 2023 20:41:10 -0400 Subject: [PATCH 065/233] moved root to start at 40960MiB --- .modules/disko/luks-lvm.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.modules/disko/luks-lvm.nix b/.modules/disko/luks-lvm.nix index 9deffa9..934a7b6 100644 --- a/.modules/disko/luks-lvm.nix +++ b/.modules/disko/luks-lvm.nix @@ -36,7 +36,7 @@ { type = "partition"; name = "luks"; - start = "100MiB"; + start = "40960MiB"; end = "100%"; content = { type = "luks"; From 086a5dbc089d2dd482afe9c414edc53447a1cc4d Mon Sep 17 00:00:00 2001 From: Steven Date: Sat, 25 Mar 2023 20:59:43 -0400 Subject: [PATCH 066/233] finished modifying luks-lvm --- .modules/base/framework.nix | 4 +++- .modules/disko/luks-lvm.nix | 29 +++++++++++++++++------------ 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/.modules/base/framework.nix b/.modules/base/framework.nix index 4f0fcdf..bd47f50 100644 --- a/.modules/base/framework.nix +++ b/.modules/base/framework.nix @@ -32,7 +32,9 @@ }; }; }; - + disko.devices = pkgs.callPackage ../disko/luks-lvm.nix { + disks = [ "/dev/nvme" ]; # replace this with your disk name i.e. /dev/nvme0n1 + }; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking # (the default) this is the recommended approach. When using systemd-networkd it's # still possible to use this option, but it's recommended to use it in conjunction diff --git a/.modules/disko/luks-lvm.nix b/.modules/disko/luks-lvm.nix index 934a7b6..59e3b84 100644 --- a/.modules/disko/luks-lvm.nix +++ b/.modules/disko/luks-lvm.nix @@ -1,6 +1,6 @@ { disks ? [ "/dev/nvme0n1" ], ... }: { disk = { - nvme0n1 = { + disk-0 = { type = "disk"; device = builtins.elemAt disks 0; content = { @@ -9,6 +9,7 @@ partitions = [ { type = "partition"; + extraArgs = "--label nixboot01"; name = "ESP"; start = "1MiB"; end = "100MiB"; @@ -22,19 +23,21 @@ ]; }; } -# { -# name = "swap"; -# type = "partition"; -# start = "101MiB"; -# end = "40960MiB"; -# part-type = "primary"; -# content = { -# type = "swap"; -# randomEncryption = true; -# }; -# } + { + name = "swap"; + type = "partition"; + extraArgs = "--label nixswap01"; + start = "101MiB"; + end = "40960MiB"; + part-type = "primary"; + content = { + type = "swap"; + randomEncryption = true; + }; + } { type = "partition"; + extraArgs = "--label nixpv01"; name = "luks"; start = "40960MiB"; end = "100%"; @@ -59,6 +62,7 @@ lvs = { root = { type = "lvm_lv"; + extraArgs = "--label nixroot"; size = "128G"; content = { type = "filesystem"; @@ -71,6 +75,7 @@ }; home = { type = "lvm_lv"; + extraArgs = "--label nixhome"; size = "25G"; content = { type = "filesystem"; From 883e9c24b182a9bf6f2ffae27cfa5fcea6669d57 Mon Sep 17 00:00:00 2001 From: Steven Date: Sat, 25 Mar 2023 21:26:06 -0400 Subject: [PATCH 067/233] cannot use label on disko partitions --- .modules/disko/luks-lvm.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/.modules/disko/luks-lvm.nix b/.modules/disko/luks-lvm.nix index 59e3b84..6b72fe0 100644 --- a/.modules/disko/luks-lvm.nix +++ b/.modules/disko/luks-lvm.nix @@ -9,7 +9,6 @@ partitions = [ { type = "partition"; - extraArgs = "--label nixboot01"; name = "ESP"; start = "1MiB"; end = "100MiB"; @@ -26,7 +25,6 @@ { name = "swap"; type = "partition"; - extraArgs = "--label nixswap01"; start = "101MiB"; end = "40960MiB"; part-type = "primary"; @@ -37,7 +35,6 @@ } { type = "partition"; - extraArgs = "--label nixpv01"; name = "luks"; start = "40960MiB"; end = "100%"; From a6e95417615819182876badb0a057774e1ee7371 Mon Sep 17 00:00:00 2001 From: Steven Date: Sat, 25 Mar 2023 21:33:40 -0400 Subject: [PATCH 068/233] fixed bad format of extraArgs for disko config --- .modules/disko/luks-lvm.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.modules/disko/luks-lvm.nix b/.modules/disko/luks-lvm.nix index 6b72fe0..896c38b 100644 --- a/.modules/disko/luks-lvm.nix +++ b/.modules/disko/luks-lvm.nix @@ -59,7 +59,7 @@ lvs = { root = { type = "lvm_lv"; - extraArgs = "--label nixroot"; + extraArgs = ["--label nixroot"]; size = "128G"; content = { type = "filesystem"; @@ -72,7 +72,7 @@ }; home = { type = "lvm_lv"; - extraArgs = "--label nixhome"; + extraArgs = ["--label nixhome"]; size = "25G"; content = { type = "filesystem"; From 01d512323aaa053e50765aafbcd37f4d054ece3f Mon Sep 17 00:00:00 2001 From: Steven Date: Sat, 25 Mar 2023 21:42:31 -0400 Subject: [PATCH 069/233] removed keyfile arg from disko-luks config to allow for keyfile generation on setup --- .modules/disko/luks-lvm.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/.modules/disko/luks-lvm.nix b/.modules/disko/luks-lvm.nix index 896c38b..d652da7 100644 --- a/.modules/disko/luks-lvm.nix +++ b/.modules/disko/luks-lvm.nix @@ -42,7 +42,6 @@ type = "luks"; name = "crypted"; extraOpenArgs = [ "--allow-discards" ]; - keyFile = "/tmp/secret.key"; content = { type = "lvm_pv"; vg = "pool"; From e045cae920fbd969e762b9c8f9fd275a7f2fb9fd Mon Sep 17 00:00:00 2001 From: Steven Date: Sat, 25 Mar 2023 21:45:52 -0400 Subject: [PATCH 070/233] removed labels from disko config --- .modules/disko/luks-lvm.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/.modules/disko/luks-lvm.nix b/.modules/disko/luks-lvm.nix index d652da7..0a34331 100644 --- a/.modules/disko/luks-lvm.nix +++ b/.modules/disko/luks-lvm.nix @@ -58,7 +58,6 @@ lvs = { root = { type = "lvm_lv"; - extraArgs = ["--label nixroot"]; size = "128G"; content = { type = "filesystem"; @@ -71,7 +70,6 @@ }; home = { type = "lvm_lv"; - extraArgs = ["--label nixhome"]; size = "25G"; content = { type = "filesystem"; From fa8b8e1db74b0088e61912aa7bf38cfeb6437c36 Mon Sep 17 00:00:00 2001 From: Steven Date: Sat, 25 Mar 2023 21:49:05 -0400 Subject: [PATCH 071/233] removed raw partition from disko config --- .modules/disko/luks-lvm.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.modules/disko/luks-lvm.nix b/.modules/disko/luks-lvm.nix index 0a34331..01a9ced 100644 --- a/.modules/disko/luks-lvm.nix +++ b/.modules/disko/luks-lvm.nix @@ -77,10 +77,6 @@ mountpoint = "/home"; }; }; - raw = { - type = "lvm_lv"; - size = "10M"; - }; }; }; }; From 689b6f5bcbd3061321b6355f1b632a42ba076e20 Mon Sep 17 00:00:00 2001 From: Steven Date: Sat, 25 Mar 2023 22:01:58 -0400 Subject: [PATCH 072/233] updated kernel version --- .modules/base/framework.nix | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.modules/base/framework.nix b/.modules/base/framework.nix index bd47f50..48efc85 100644 --- a/.modules/base/framework.nix +++ b/.modules/base/framework.nix @@ -20,29 +20,28 @@ kernelModules = [ "kvm-intel" ]; kernelParams = [ "acpi_osi=linux" "module_blacklist=hid_sensor_hub" ]; extraModulePackages = [ ]; - kernelPackages = pkgs.linuxPackages_5_18; + kernelPackages = pkgs.linuxKernel.kernels.linux_6_2; loader = { efi.canTouchEfiVariables = true; grub = { enable = true; version = 2; efiSupport = true; - enableCryptodisk = true; - device = "nodev"; + devices =[ "/dev/nvme0n1" ]; }; }; }; disko.devices = pkgs.callPackage ../disko/luks-lvm.nix { - disks = [ "/dev/nvme" ]; # replace this with your disk name i.e. /dev/nvme0n1 + disks = [ "/dev/nvme0n1" ]; # replace this with your disk name i.e. /dev/nvme0n1 }; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking # (the default) this is the recommended approach. When using systemd-networkd it's # still possible to use this option, but it's recommended to use it in conjunction # with explicit per-interface declarations with `networking.interfaces..useDHCP`. networking.useDHCP = lib.mkDefault true; - # networking.interfaces.enp0s13f0u3u2.useDHCP = lib.mkDefault true; - # networking.interfaces.wlp166s0.useDHCP = lib.mkDefault true; networking.hostName = "creatorforge"; + powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; } \ No newline at end of file From b4384eaf2629029585ef3bdded47b04e17268fa5 Mon Sep 17 00:00:00 2001 From: Steven Date: Sat, 25 Mar 2023 22:08:48 -0400 Subject: [PATCH 073/233] removed unnecessary verbosity in framework.nix --- .modules/base/framework.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.modules/base/framework.nix b/.modules/base/framework.nix index 48efc85..b922c97 100644 --- a/.modules/base/framework.nix +++ b/.modules/base/framework.nix @@ -18,7 +18,7 @@ }; }; kernelModules = [ "kvm-intel" ]; - kernelParams = [ "acpi_osi=linux" "module_blacklist=hid_sensor_hub" ]; + kernelParams = [ "acpi_osi=linux" ]; extraModulePackages = [ ]; kernelPackages = pkgs.linuxKernel.kernels.linux_6_2; loader = { @@ -43,5 +43,4 @@ powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; - hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; } \ No newline at end of file From f0246447b653b8487a4605facebf344cab37905e Mon Sep 17 00:00:00 2001 From: Steven Date: Sat, 25 Mar 2023 22:10:35 -0400 Subject: [PATCH 074/233] added luks device --- .modules/base/framework.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.modules/base/framework.nix b/.modules/base/framework.nix index b922c97..86fc00b 100644 --- a/.modules/base/framework.nix +++ b/.modules/base/framework.nix @@ -12,7 +12,7 @@ kernelModules = [ "dm-snapshot" ]; luks.devices = { crypted = { - device = ""; + device = "/dev/nvme0n1p3"; preLVM = true; }; }; From e4181ffd0b4010c2f2484100f1322fc6d7e5f787 Mon Sep 17 00:00:00 2001 From: Steven Date: Sat, 25 Mar 2023 22:16:02 -0400 Subject: [PATCH 075/233] imported nixos-hardware into the outputs --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 7ab7b1b..535f51b 100644 --- a/flake.nix +++ b/flake.nix @@ -20,7 +20,7 @@ inputs.nixpkgs.follows = "nixpkgs"; }; }; - outputs = { self, home-manager, nixos-generators, disko, nixpkgs, ... }@inputs: + outputs = { self, home-manager, nixos-generators, nixos-hardware, disko, nixpkgs, ... }@inputs: { proxmox = nixos-generators.nixosGenerate { system = "x86_64-linux"; From 427520e12e7be36ab12265ba2a989af066e14a20 Mon Sep 17 00:00:00 2001 From: Steven Date: Sat, 25 Mar 2023 22:18:41 -0400 Subject: [PATCH 076/233] removed bad import --- hosts/creatorforge.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/hosts/creatorforge.nix b/hosts/creatorforge.nix index 23f33a0..1ec03e3 100644 --- a/hosts/creatorforge.nix +++ b/hosts/creatorforge.nix @@ -8,7 +8,6 @@ ../.modules/users/speccon18.nix ../.modules/services/openssh.nix ../.modules/features/desktop/environments/gnome.nix - ../.modules/features/desktop/applications/speccon18.nix ]; # Allow non opensource software to be installed nixpkgs.config.allowUnfree = true; From 4be3b185623ab1268ace59799883721eda2ceb57 Mon Sep 17 00:00:00 2001 From: Steven Date: Sat, 25 Mar 2023 22:23:29 -0400 Subject: [PATCH 077/233] fixed calling to wrong hardware config for framework --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 535f51b..07bb6b7 100644 --- a/flake.nix +++ b/flake.nix @@ -43,7 +43,7 @@ nixos-hardware.nixosModules.framework-12th-gen-intel disko.nixosModules.disko ./hosts/creatorforge.nix - ./.modules/base/proxmox-vm-hardware.nix + ./.modules/base/framework.nix ]; }; }; From 9fc4567d144d763121baccff960641a68d70d89a Mon Sep 17 00:00:00 2001 From: Steven Date: Sat, 25 Mar 2023 22:25:14 -0400 Subject: [PATCH 078/233] imported disko into framework.nix --- .modules/base/framework.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.modules/base/framework.nix b/.modules/base/framework.nix index 86fc00b..bcd9ca3 100644 --- a/.modules/base/framework.nix +++ b/.modules/base/framework.nix @@ -1,7 +1,7 @@ # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: +{ config, lib, pkgs, modulesPath, disko, ... }: { imports = [(modulesPath + "/installer/scan/not-detected.nix")]; From 5f0601d91429cfd387b73919d393aa5960aa7a90 Mon Sep 17 00:00:00 2001 From: Steven Date: Sat, 25 Mar 2023 22:30:18 -0400 Subject: [PATCH 079/233] swapped to import instead of overide --- .modules/base/framework.nix | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.modules/base/framework.nix b/.modules/base/framework.nix index bcd9ca3..58ef8a5 100644 --- a/.modules/base/framework.nix +++ b/.modules/base/framework.nix @@ -4,7 +4,10 @@ { config, lib, pkgs, modulesPath, disko, ... }: { - imports = [(modulesPath + "/installer/scan/not-detected.nix")]; + imports = [ + ../disko/luks-lvm.nix + (modulesPath + "/installer/scan/not-detected.nix") + ]; boot = { initrd = { @@ -31,9 +34,9 @@ }; }; }; - disko.devices = pkgs.callPackage ../disko/luks-lvm.nix { - disks = [ "/dev/nvme0n1" ]; # replace this with your disk name i.e. /dev/nvme0n1 - }; + # disko.devices = pkgs.callPackage ../disko/luks-lvm.nix { + # disks = [ "/dev/nvme0n1" ]; # replace this with your disk name i.e. /dev/nvme0n1 + # }; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking # (the default) this is the recommended approach. When using systemd-networkd it's # still possible to use this option, but it's recommended to use it in conjunction From 397b37c0e90e33e433fdd2bf3cbf1504b5cf576e Mon Sep 17 00:00:00 2001 From: Steven Date: Sat, 25 Mar 2023 22:41:42 -0400 Subject: [PATCH 080/233] swapped to overide instead of import --- .modules/base/framework.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.modules/base/framework.nix b/.modules/base/framework.nix index 58ef8a5..0b0a82a 100644 --- a/.modules/base/framework.nix +++ b/.modules/base/framework.nix @@ -5,7 +5,7 @@ { imports = [ - ../disko/luks-lvm.nix + # ../disko/luks-lvm.nix (modulesPath + "/installer/scan/not-detected.nix") ]; @@ -34,9 +34,10 @@ }; }; }; - # disko.devices = pkgs.callPackage ../disko/luks-lvm.nix { - # disks = [ "/dev/nvme0n1" ]; # replace this with your disk name i.e. /dev/nvme0n1 - # }; + disko.devices = import ../disko/luks-lvm.nix { + lib = nixpkgs.lib; + disks = [ "/dev/nvme0n1" ]; # replace this with your disk name i.e. /dev/nvme0n1 + }; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking # (the default) this is the recommended approach. When using systemd-networkd it's # still possible to use this option, but it's recommended to use it in conjunction From 362353e3a381411b661b8586b130f0c7fefd6af4 Mon Sep 17 00:00:00 2001 From: Steven Date: Sat, 25 Mar 2023 22:42:37 -0400 Subject: [PATCH 081/233] swapped to import removed lib --- .modules/base/framework.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.modules/base/framework.nix b/.modules/base/framework.nix index 0b0a82a..e85205a 100644 --- a/.modules/base/framework.nix +++ b/.modules/base/framework.nix @@ -35,7 +35,7 @@ }; }; disko.devices = import ../disko/luks-lvm.nix { - lib = nixpkgs.lib; +# lib = nixpkgs.lib; disks = [ "/dev/nvme0n1" ]; # replace this with your disk name i.e. /dev/nvme0n1 }; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking From e88fcb392e4f7c9e3c997fb08e0105e2c1b1c6d6 Mon Sep 17 00:00:00 2001 From: Steven Date: Sat, 25 Mar 2023 22:44:58 -0400 Subject: [PATCH 082/233] added lib override to kernelPackages --- .modules/base/framework.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.modules/base/framework.nix b/.modules/base/framework.nix index e85205a..b02a8f8 100644 --- a/.modules/base/framework.nix +++ b/.modules/base/framework.nix @@ -23,7 +23,7 @@ kernelModules = [ "kvm-intel" ]; kernelParams = [ "acpi_osi=linux" ]; extraModulePackages = [ ]; - kernelPackages = pkgs.linuxKernel.kernels.linux_6_2; + kernelPackages = lib.mkOverride pkgs.linuxKernel.kernels.linux_6_2; loader = { efi.canTouchEfiVariables = true; grub = { From 9cea989f9fd91c181cbc34ad8c1d8661efb3e84e Mon Sep 17 00:00:00 2001 From: Steven Date: Sat, 25 Mar 2023 22:46:47 -0400 Subject: [PATCH 083/233] changed to latest kernel package --- .modules/base/framework.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.modules/base/framework.nix b/.modules/base/framework.nix index b02a8f8..a167fac 100644 --- a/.modules/base/framework.nix +++ b/.modules/base/framework.nix @@ -23,7 +23,7 @@ kernelModules = [ "kvm-intel" ]; kernelParams = [ "acpi_osi=linux" ]; extraModulePackages = [ ]; - kernelPackages = lib.mkOverride pkgs.linuxKernel.kernels.linux_6_2; + kernelPackages = lib.mkOverride pkgs.linuxPackages_latest; #pkgs.linuxKernel.kernels.linux_6_2; loader = { efi.canTouchEfiVariables = true; grub = { From b2a92743027a4cbb6e1367ebabaab7e6fcb92d9c Mon Sep 17 00:00:00 2001 From: Steven Date: Sat, 25 Mar 2023 22:48:36 -0400 Subject: [PATCH 084/233] removed additional kernel packages --- .modules/base/framework.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.modules/base/framework.nix b/.modules/base/framework.nix index a167fac..7900e0b 100644 --- a/.modules/base/framework.nix +++ b/.modules/base/framework.nix @@ -23,7 +23,7 @@ kernelModules = [ "kvm-intel" ]; kernelParams = [ "acpi_osi=linux" ]; extraModulePackages = [ ]; - kernelPackages = lib.mkOverride pkgs.linuxPackages_latest; #pkgs.linuxKernel.kernels.linux_6_2; + # kernelPackages = lib.mkOverride pkgs.linuxPackages_latest; #pkgs.linuxKernel.kernels.linux_6_2; loader = { efi.canTouchEfiVariables = true; grub = { From 6e6ac6a6acb20cb2b0feee4821440f5e7390a805 Mon Sep 17 00:00:00 2001 From: Steven Date: Sat, 25 Mar 2023 22:52:55 -0400 Subject: [PATCH 085/233] fixed grub device --- .modules/base/framework.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.modules/base/framework.nix b/.modules/base/framework.nix index 7900e0b..3cf43f3 100644 --- a/.modules/base/framework.nix +++ b/.modules/base/framework.nix @@ -30,7 +30,7 @@ enable = true; version = 2; efiSupport = true; - devices =[ "/dev/nvme0n1" ]; + device = "/dev/nvme0n1" ; }; }; }; From ad45fb387193121a4f3236db927b399667e2513d Mon Sep 17 00:00:00 2001 From: Steven Date: Sat, 25 Mar 2023 22:55:57 -0400 Subject: [PATCH 086/233] fixed grub device --- .modules/base/framework.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/.modules/base/framework.nix b/.modules/base/framework.nix index 3cf43f3..3500ca6 100644 --- a/.modules/base/framework.nix +++ b/.modules/base/framework.nix @@ -30,6 +30,7 @@ enable = true; version = 2; efiSupport = true; + efiInstallAsRemovable = true; device = "/dev/nvme0n1" ; }; }; From 90483529a1f62eafbf11f12718a29ef2890d00fc Mon Sep 17 00:00:00 2001 From: Steven Date: Sat, 25 Mar 2023 23:02:56 -0400 Subject: [PATCH 087/233] swapped from grub to systemd boot --- .modules/base/framework.nix | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/.modules/base/framework.nix b/.modules/base/framework.nix index 3500ca6..72bca25 100644 --- a/.modules/base/framework.nix +++ b/.modules/base/framework.nix @@ -26,13 +26,14 @@ # kernelPackages = lib.mkOverride pkgs.linuxPackages_latest; #pkgs.linuxKernel.kernels.linux_6_2; loader = { efi.canTouchEfiVariables = true; - grub = { - enable = true; - version = 2; - efiSupport = true; - efiInstallAsRemovable = true; - device = "/dev/nvme0n1" ; - }; + systemd-boot.enable = true; + # grub = { + # enable = true; + # version = 2; + # efiSupport = true; + # efiInstallAsRemovable = true; + # device = "/dev/nvme0n1" ; + # }; }; }; disko.devices = import ../disko/luks-lvm.nix { From 80a1ed2050dcedc2babefeb17c448b31e83fe614 Mon Sep 17 00:00:00 2001 From: Steven Date: Sat, 25 Mar 2023 23:05:48 -0400 Subject: [PATCH 088/233] updated partition sizes --- .modules/disko/luks-lvm.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.modules/disko/luks-lvm.nix b/.modules/disko/luks-lvm.nix index 01a9ced..f199b10 100644 --- a/.modules/disko/luks-lvm.nix +++ b/.modules/disko/luks-lvm.nix @@ -11,7 +11,7 @@ type = "partition"; name = "ESP"; start = "1MiB"; - end = "100MiB"; + end = "2g"; bootable = true; content = { type = "filesystem"; @@ -25,8 +25,8 @@ { name = "swap"; type = "partition"; - start = "101MiB"; - end = "40960MiB"; + start = "2G"; + end = "40G"; part-type = "primary"; content = { type = "swap"; @@ -36,7 +36,7 @@ { type = "partition"; name = "luks"; - start = "40960MiB"; + start = "40G"; end = "100%"; content = { type = "luks"; From 6fa0b4ce443a6fab2010a6d5275fe6b6df275b9a Mon Sep 17 00:00:00 2001 From: Steven Date: Sat, 25 Mar 2023 23:11:27 -0400 Subject: [PATCH 089/233] updated password hash --- .modules/users/speccon18.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.modules/users/speccon18.nix b/.modules/users/speccon18.nix index b5466d9..dee8fe8 100644 --- a/.modules/users/speccon18.nix +++ b/.modules/users/speccon18.nix @@ -3,7 +3,7 @@ users.users.speccon18 = { shell = pkgs.zsh; isNormalUser = true; - initialHashedPassword = "$6$pJB0TDUj8IS8hQNJ$GfENlHg89lsUjRiSaePWJeqX1pevTTZOuEw5KgcVEpyPw9lyiAifz5ZiuOQnYxUAMhAiCmF/pCjaWSy6m5sWM/"; + initialHashedPassword = "$y$j9T$RdLBHOvUpb17egl0d16LT/$3Y2RD/tT1IZ0nkfAR13pp3IzBjvKLRgGpDPLobUeO23"; openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILdigmndcdQD/864P059K2hZOXyEkbGvMkH0/b2QavkD speccon18@creatorforge" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPc1AQ6hcjdSZZuhS5SISwtulFoTLpC5f5JoMFQkZ5l2 specCon18@DESKTOP-Q1I2PAE" From 7da58c8fe74292c2e8853140aee0e8351059069f Mon Sep 17 00:00:00 2001 From: Steven Date: Sat, 25 Mar 2023 23:43:17 -0400 Subject: [PATCH 090/233] added default package for homemanager --- flake.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/flake.nix b/flake.nix index 07bb6b7..fcced8c 100644 --- a/flake.nix +++ b/flake.nix @@ -22,6 +22,8 @@ }; outputs = { self, home-manager, nixos-generators, nixos-hardware, disko, nixpkgs, ... }@inputs: { + defaultPackage.x86_64-linux = home-manager.defaultPackage.x86_64-linux; + proxmox = nixos-generators.nixosGenerate { system = "x86_64-linux"; modules = [ @@ -59,4 +61,5 @@ }; }; }; + } \ No newline at end of file From 5ec6a040b7631bdcdcc15f8a9b154e0f35fd7453 Mon Sep 17 00:00:00 2001 From: Steven Date: Sun, 26 Mar 2023 00:02:38 -0400 Subject: [PATCH 091/233] added legacy packages for home manager --- flake.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index fcced8c..0cc60ee 100644 --- a/flake.nix +++ b/flake.nix @@ -50,7 +50,8 @@ }; }; homeManagerConfiguration = { - speccon18 = { + speccon18 = home-manager.lib.homeManagerConfiguration { + pkgs = nixpkgs.legacyPackages.${system}; username = "speccon18"; homeDirectory = "/home/speccon18"; configuration = { From 55b5f0afd07dfd41fe7af1aa1dd968d610312236 Mon Sep 17 00:00:00 2001 From: Steven Date: Sun, 26 Mar 2023 00:03:34 -0400 Subject: [PATCH 092/233] added legacy packages for home manager --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 0cc60ee..e56f07f 100644 --- a/flake.nix +++ b/flake.nix @@ -51,7 +51,7 @@ }; homeManagerConfiguration = { speccon18 = home-manager.lib.homeManagerConfiguration { - pkgs = nixpkgs.legacyPackages.${system}; + pkgs = nixpkgs.legacyPackages.x86_64-linux; username = "speccon18"; homeDirectory = "/home/speccon18"; configuration = { From d20f8e5a106fe91987dca5c6920e6e6646ba6c86 Mon Sep 17 00:00:00 2001 From: Steven Date: Sun, 26 Mar 2023 00:06:49 -0400 Subject: [PATCH 093/233] added legacy packages for home manager --- flake.nix | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/flake.nix b/flake.nix index e56f07f..fa8ca6a 100644 --- a/flake.nix +++ b/flake.nix @@ -52,13 +52,14 @@ homeManagerConfiguration = { speccon18 = home-manager.lib.homeManagerConfiguration { pkgs = nixpkgs.legacyPackages.x86_64-linux; - username = "speccon18"; - homeDirectory = "/home/speccon18"; - configuration = { - imports = [ - ./.hm-modules/home-manager.nix - ]; - }; + modules = [ ./hm-modules/home-manager.nix]; + # username = "speccon18"; + # homeDirectory = "/home/speccon18"; + # configuration = { + # imports = [ + # ./.hm-modules/home-manager.nix + # ]; + # }; }; }; }; From 53c7ee3f7c03526121ec24969889ba11ec834333 Mon Sep 17 00:00:00 2001 From: Steven Date: Sun, 26 Mar 2023 00:22:55 -0400 Subject: [PATCH 094/233] removed legacy packages for home manager --- flake.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/flake.nix b/flake.nix index fa8ca6a..81fb70c 100644 --- a/flake.nix +++ b/flake.nix @@ -1,6 +1,7 @@ { inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11"; + nixos-hardware.url = "github:NixOS/nixos-hardware/master"; # For Wayfire # # nixpkgs-wayland = { # url = "github:nix-community/nixpkgs-wayland"; @@ -10,7 +11,6 @@ url = "github:nix-community/home-manager/release-22.11"; inputs.nixpkgs.follows = "nixpkgs"; }; - nixos-hardware.url = "github:NixOS/nixos-hardware/master"; nixos-generators = { url = "github:nix-community/nixos-generators"; inputs.nixpkgs.follows = "nixpkgs"; @@ -49,9 +49,8 @@ ]; }; }; - homeManagerConfiguration = { + homeConfigurations = { speccon18 = home-manager.lib.homeManagerConfiguration { - pkgs = nixpkgs.legacyPackages.x86_64-linux; modules = [ ./hm-modules/home-manager.nix]; # username = "speccon18"; # homeDirectory = "/home/speccon18"; From c6bb4f23837bb4f171bdf0ee7c78142364fac364 Mon Sep 17 00:00:00 2001 From: Steven Date: Sun, 26 Mar 2023 00:26:34 -0400 Subject: [PATCH 095/233] added legacy packages for home manager --- flake.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/flake.nix b/flake.nix index 81fb70c..4c8ab2b 100644 --- a/flake.nix +++ b/flake.nix @@ -51,6 +51,7 @@ }; homeConfigurations = { speccon18 = home-manager.lib.homeManagerConfiguration { + pkgs = nixpkgs.legacyPackages.x86_64-linux; modules = [ ./hm-modules/home-manager.nix]; # username = "speccon18"; # homeDirectory = "/home/speccon18"; From 4c599566e7fc69b42864f2bd4cc9f7f138c1cb2d Mon Sep 17 00:00:00 2001 From: Steven Date: Sun, 26 Mar 2023 00:28:02 -0400 Subject: [PATCH 096/233] fixed pathing issue --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 4c8ab2b..4d3a368 100644 --- a/flake.nix +++ b/flake.nix @@ -52,7 +52,7 @@ homeConfigurations = { speccon18 = home-manager.lib.homeManagerConfiguration { pkgs = nixpkgs.legacyPackages.x86_64-linux; - modules = [ ./hm-modules/home-manager.nix]; + modules = [ ./.hm-modules/home-manager.nix]; # username = "speccon18"; # homeDirectory = "/home/speccon18"; # configuration = { From 3d40fb87e33f315c95911125bc25a51f1b7a531c Mon Sep 17 00:00:00 2001 From: Steven Date: Sun, 26 Mar 2023 00:29:17 -0400 Subject: [PATCH 097/233] prefixed packages with pkgs --- .hm-modules/users/speccon18.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.hm-modules/users/speccon18.nix b/.hm-modules/users/speccon18.nix index 53d0112..1553779 100644 --- a/.hm-modules/users/speccon18.nix +++ b/.hm-modules/users/speccon18.nix @@ -3,11 +3,11 @@ { home-manager.users.speccon18 = { home.packages = [ - firefox - vscodium-fhs - alacritty - starship - diff-so-fancy + pkgs.firefox + pkgs.vscodium-fhs + pkgs.alacritty + pkgs.starship + pkgs.diff-so-fancy ]; }; programs = { From 60b9bd6047b0b7eb3cdaa638ea9a00751dd1443c Mon Sep 17 00:00:00 2001 From: Steven Date: Sun, 26 Mar 2023 00:32:34 -0400 Subject: [PATCH 098/233] prefixed home-manager with programs --- .hm-modules/users/speccon18.nix | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.hm-modules/users/speccon18.nix b/.hm-modules/users/speccon18.nix index 1553779..274ae20 100644 --- a/.hm-modules/users/speccon18.nix +++ b/.hm-modules/users/speccon18.nix @@ -1,16 +1,16 @@ { config, pkgs, lib, ... }: { - home-manager.users.speccon18 = { - home.packages = [ - pkgs.firefox - pkgs.vscodium-fhs - pkgs.alacritty - pkgs.starship - pkgs.diff-so-fancy - ]; - }; programs = { + home-manager.users.speccon18 = { + home.packages = [ + pkgs.firefox + pkgs.vscodium-fhs + pkgs.alacritty + pkgs.starship + pkgs.diff-so-fancy + ]; + }; home = { username = "speccon18"; homeDirectory = "/home/speccon18"; From 000c6ea493fdaea271aa6ce378619eecaf19cb82 Mon Sep 17 00:00:00 2001 From: Steven Date: Sun, 26 Mar 2023 00:42:59 -0400 Subject: [PATCH 099/233] rearranged speccon18.nix --- .hm-modules/users/speccon18.nix | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/.hm-modules/users/speccon18.nix b/.hm-modules/users/speccon18.nix index 274ae20..ad4ed7b 100644 --- a/.hm-modules/users/speccon18.nix +++ b/.hm-modules/users/speccon18.nix @@ -3,19 +3,20 @@ { programs = { home-manager.users.speccon18 = { - home.packages = [ - pkgs.firefox - pkgs.vscodium-fhs - pkgs.alacritty - pkgs.starship - pkgs.diff-so-fancy - ]; - }; - home = { - username = "speccon18"; - homeDirectory = "/home/speccon18"; - stateVersion = "22.11"; + home = { + username = "speccon18"; + homeDirectory = "/home/speccon18"; + stateVersion = "22.11"; + packages = [ + pkgs.firefox + pkgs.vscodium-fhs + pkgs.alacritty + pkgs.starship + pkgs.diff-so-fancy + ]; + }; }; + direnv = { enableZshIntegration = true; enable = true; From ca7ac8bad429e9c2f1fbf57eb4f80ba090db1c58 Mon Sep 17 00:00:00 2001 From: Steven Date: Sun, 26 Mar 2023 00:50:11 -0400 Subject: [PATCH 100/233] rearranged speccon18.nix --- .hm-modules/users/speccon18.nix | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/.hm-modules/users/speccon18.nix b/.hm-modules/users/speccon18.nix index ad4ed7b..4fb531e 100644 --- a/.hm-modules/users/speccon18.nix +++ b/.hm-modules/users/speccon18.nix @@ -1,21 +1,19 @@ { config, pkgs, lib, ... }: { + home = { + username = "speccon18"; + homeDirectory = "/home/speccon18"; + stateVersion = "22.11"; + packages = [ + pkgs.firefox + pkgs.vscodium-fhs + pkgs.alacritty + pkgs.starship + pkgs.diff-so-fancy + ]; + }; programs = { - home-manager.users.speccon18 = { - home = { - username = "speccon18"; - homeDirectory = "/home/speccon18"; - stateVersion = "22.11"; - packages = [ - pkgs.firefox - pkgs.vscodium-fhs - pkgs.alacritty - pkgs.starship - pkgs.diff-so-fancy - ]; - }; - }; direnv = { enableZshIntegration = true; From a47b432911f7d385fdfa20ec202406fbfd125169 Mon Sep 17 00:00:00 2001 From: Steven Date: Sun, 26 Mar 2023 00:54:33 -0400 Subject: [PATCH 101/233] rearranged speccon18.nix --- .hm-modules/users/speccon18.nix | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.hm-modules/users/speccon18.nix b/.hm-modules/users/speccon18.nix index 4fb531e..c3e1911 100644 --- a/.hm-modules/users/speccon18.nix +++ b/.hm-modules/users/speccon18.nix @@ -31,19 +31,19 @@ save = 10000000; }; }; - git = { - enable = true; - userName = "specCon18"; - userEmail = "specCon18@gmail.com"; + #git = { + # enable = true; + # userName = "specCon18"; + # userEmail = "specCon18@gmail.com"; # signing = { # key = "71F252936D785219"; # signByDefault = true; # }; - diff-so-fancy = { - enable = true; - changeHunkIndicators = true; - }; - lfs.enable = true; - }; + # diff-so-fancy = { + # enable = true; + # changeHunkIndicators = true; + # }; + # lfs.enable = true; + #}; }; } \ No newline at end of file From 6e4baf2e513168e641c38d393647cab298b0a9c9 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Sun, 26 Mar 2023 01:37:25 -0400 Subject: [PATCH 102/233] updated flake.lock --- flake.lock | 87 ++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 74 insertions(+), 13 deletions(-) diff --git a/flake.lock b/flake.lock index 5a27957..4729bcc 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,47 @@ { "nodes": { + "disko": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1679643957, + "narHash": "sha256-umr+j/0b3DXQO4VnhRwAJYS0Y2fW64I+ydHnZqpN/Pc=", + "owner": "nix-community", + "repo": "disko", + "rev": "eb5def310c7331545e72090b4cda6cb0255b870d", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "disko", + "type": "github" + } + }, + "home-manager": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ], + "utils": "utils" + }, + "locked": { + "lastModified": 1679738842, + "narHash": "sha256-CvqRbsyDW756EskojZptDU590rez29RcHDV3ezoze08=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "83110c259889230b324bb2d35bef78bf5f214a1f", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "release-22.11", + "repo": "home-manager", + "type": "github" + } + }, "nixlib": { "locked": { "lastModified": 1636849918, @@ -36,27 +78,29 @@ "type": "github" } }, - "nixpkgs": { + "nixos-hardware": { "locked": { - "lastModified": 1675153841, - "narHash": "sha256-EWvU3DLq+4dbJiukfhS7r6sWZyJikgXn6kNl7eHljW8=", + "lastModified": 1679765008, + "narHash": "sha256-VCkg/wC2e882suYDS5PDAemaMLYSOdFm4fsx2gowMR0=", "owner": "NixOS", - "repo": "nixpkgs", - "rev": "ea692c2ad1afd6384e171eabef4f0887d2b882d3", + "repo": "nixos-hardware", + "rev": "f38f9a4c9b2b6f89a5778465e0afd166a8300680", "type": "github" }, "original": { - "id": "nixpkgs", - "type": "indirect" + "owner": "NixOS", + "ref": "master", + "repo": "nixos-hardware", + "type": "github" } }, - "nixpkgs-small": { + "nixpkgs": { "locked": { - "lastModified": 1675154384, - "narHash": "sha256-gUXzyTS3WsO3g2Rz0qOYR2a26whkyL2UfTr1oPH9mm8=", + "lastModified": 1679710833, + "narHash": "sha256-9yKVvGX1oAnlc8vTVvN2lRH35q6ETudQbM1w9ragMRU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0218941ea68b4c625533bead7bbb94ccce52dceb", + "rev": "83607dae4e05e1de755bbc7d7949b33fc1cfbbb9", "type": "github" }, "original": { @@ -68,9 +112,26 @@ }, "root": { "inputs": { + "disko": "disko", + "home-manager": "home-manager", "nixos-generators": "nixos-generators", - "nixpkgs": "nixpkgs", - "nixpkgs-small": "nixpkgs-small" + "nixos-hardware": "nixos-hardware", + "nixpkgs": "nixpkgs" + } + }, + "utils": { + "locked": { + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" } } }, From df58ed2ed8c8e45007dd4179396297a16ce2b41d Mon Sep 17 00:00:00 2001 From: specCon18 Date: Sun, 26 Mar 2023 01:54:38 -0400 Subject: [PATCH 103/233] added nushell to home-manager --- .hm-modules/users/speccon18.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.hm-modules/users/speccon18.nix b/.hm-modules/users/speccon18.nix index c3e1911..046bd4f 100644 --- a/.hm-modules/users/speccon18.nix +++ b/.hm-modules/users/speccon18.nix @@ -11,10 +11,15 @@ pkgs.alacritty pkgs.starship pkgs.diff-so-fancy + pkgs.bat + pkgs.nushell ]; }; programs = { - + #Generate and add configs for this + nushell = { + enable = true; + }; direnv = { enableZshIntegration = true; enable = true; @@ -22,6 +27,7 @@ starship = { enable = true; enableZshIntegration = true; + enableNushellIntegration = true; }; zsh = { enable = lib.mkDefault true; From 4164d24d0c3004d14c2041f1497e23d3aaa39808 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Sun, 26 Mar 2023 02:37:17 -0400 Subject: [PATCH 104/233] switched from vscodium to vscode --- .hm-modules/users/speccon18.nix | 10 ++++++++-- .modules/base/framework.nix | 3 +-- .modules/features/development/devenv.nix | 4 ---- flake.nix | 5 ++--- 4 files changed, 11 insertions(+), 11 deletions(-) delete mode 100644 .modules/features/development/devenv.nix diff --git a/.hm-modules/users/speccon18.nix b/.hm-modules/users/speccon18.nix index 046bd4f..6d01a6c 100644 --- a/.hm-modules/users/speccon18.nix +++ b/.hm-modules/users/speccon18.nix @@ -7,7 +7,7 @@ stateVersion = "22.11"; packages = [ pkgs.firefox - pkgs.vscodium-fhs + pkgs.vscode-fhs pkgs.alacritty pkgs.starship pkgs.diff-so-fancy @@ -16,6 +16,12 @@ ]; }; programs = { + #TODO: https://mipmip.github.io/home-manager-option-search/ add options + vscode = { + enable = true; + enableExtensionUpdateCheck = true; + enableUpdateCheck = false; + }; #Generate and add configs for this nushell = { enable = true; @@ -52,4 +58,4 @@ # lfs.enable = true; #}; }; -} \ No newline at end of file +} diff --git a/.modules/base/framework.nix b/.modules/base/framework.nix index 72bca25..f9ce9b9 100644 --- a/.modules/base/framework.nix +++ b/.modules/base/framework.nix @@ -45,8 +45,7 @@ # still possible to use this option, but it's recommended to use it in conjunction # with explicit per-interface declarations with `networking.interfaces..useDHCP`. networking.useDHCP = lib.mkDefault true; - networking.hostName = "creatorforge"; - + powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; } \ No newline at end of file diff --git a/.modules/features/development/devenv.nix b/.modules/features/development/devenv.nix deleted file mode 100644 index 25ac50e..0000000 --- a/.modules/features/development/devenv.nix +++ /dev/null @@ -1,4 +0,0 @@ -{ config, pkgs, lib, ... }: -{ - -} \ No newline at end of file diff --git a/flake.nix b/flake.nix index 4d3a368..dd79017 100644 --- a/flake.nix +++ b/flake.nix @@ -22,8 +22,7 @@ }; outputs = { self, home-manager, nixos-generators, nixos-hardware, disko, nixpkgs, ... }@inputs: { - defaultPackage.x86_64-linux = home-manager.defaultPackage.x86_64-linux; - + defaultPackage.x86_64-linux = home-manager.defaultPackage.x86_64-linux; proxmox = nixos-generators.nixosGenerate { system = "x86_64-linux"; modules = [ @@ -51,7 +50,7 @@ }; homeConfigurations = { speccon18 = home-manager.lib.homeManagerConfiguration { - pkgs = nixpkgs.legacyPackages.x86_64-linux; + pkgs = nixpkgs.legacyPackages.x86_64-linux; modules = [ ./.hm-modules/home-manager.nix]; # username = "speccon18"; # homeDirectory = "/home/speccon18"; From 99a5a2ceeba25735ec2c2136b61019d954a6e3af Mon Sep 17 00:00:00 2001 From: specCon18 Date: Sun, 26 Mar 2023 12:28:16 -0400 Subject: [PATCH 105/233] added vscode config --- .hm-modules/users/speccon18.nix | 45 ++++++++++++++++++++++++++++++++- hosts/creatorforge.nix | 1 - 2 files changed, 44 insertions(+), 2 deletions(-) diff --git a/.hm-modules/users/speccon18.nix b/.hm-modules/users/speccon18.nix index 6d01a6c..477eec4 100644 --- a/.hm-modules/users/speccon18.nix +++ b/.hm-modules/users/speccon18.nix @@ -19,10 +19,53 @@ #TODO: https://mipmip.github.io/home-manager-option-search/ add options vscode = { enable = true; + package = pkgs.vscode.fhs; enableExtensionUpdateCheck = true; enableUpdateCheck = false; + extensions = [ +# "tlahmann.alex-linter" +# "astro-build.astro-vscode" +# "aaron-bond.better-comments" +# "bungcip.better-toml" +# "antfu.browse-lite" +# "firefox-devtools.vscode-firefox-debug" +# "ms-vscode-remote.remote-containers" +# "ms-azuretools.vscode-docker" +# "editorconfig.editorconfig" +# "dbaeumer.vscode-eslint" +# "donjayamanne.githistory" +# "felipecaputo.git-project-manager" +# "github.copilot" +# "eamodio.gitlens" +# "graphql.vscode-graphql" +# "graphql.vscode-graphql-syntax" +# "oderwat.indent-rainbow" +# "skellock.just" +# "monokai.theme-monokai-pro-vscode" +# "bbenoist.nix" +# "jnoortheen.nix-ide" +# "christian-kohler.path-intellisense" +# "csstools.postcss" +# "esbenp.prettier-vscode" +# "ms-vscode-remote.remote-ssh" +# "ms-vscode-remote.remote-ssh-edit" +# "ms-vscode.remote-server" +# "ms-vscode-remote.vscode-remote-extensionpack" +# "ms-vscode.remote-explorer" +# "rust-lang.rust-analyzer" +# "rhalaly.scope-to-this" +# "svelte.svelte-vscode" +# "bradlc.vscode-tailwindcss" +# "tauri-apps.tauri-vscode" +# "antfu.vite" +# "zixuanchen.vitest-explorer" +# "vscode-icons-team.vscode-icons" +# "thenuprojectcontributors.vscode-nushell-lang" +# "ms-vscode-remote.remote-wsl" +# "redhat.vscode-yaml" + ]; }; - #Generate and add configs for this + #TODO: Generate and add configs for this nushell = { enable = true; }; diff --git a/hosts/creatorforge.nix b/hosts/creatorforge.nix index 1ec03e3..a66c657 100644 --- a/hosts/creatorforge.nix +++ b/hosts/creatorforge.nix @@ -35,7 +35,6 @@ exa zsh vim - micro tailscale direnv uutils-coreutils From 42c28868133c23e7f908bcfb6bde9535faf2bd32 Mon Sep 17 00:00:00 2001 From: Steven Date: Sun, 26 Mar 2023 14:33:08 -0400 Subject: [PATCH 106/233] rearranging file structure --- .modules/base/tmpfs.nix | 35 ------- flake.nix | 92 ++++++++++++------- {.modules/base => machines}/framework.nix | 0 .../proxmox-vm.nix | 0 users/speccon18.nix | 60 ++++++++++++ 5 files changed, 121 insertions(+), 66 deletions(-) delete mode 100644 .modules/base/tmpfs.nix rename {.modules/base => machines}/framework.nix (100%) rename .modules/base/proxmox-vm-hardware.nix => machines/proxmox-vm.nix (100%) create mode 100644 users/speccon18.nix diff --git a/.modules/base/tmpfs.nix b/.modules/base/tmpfs.nix deleted file mode 100644 index ccea92d..0000000 --- a/.modules/base/tmpfs.nix +++ /dev/null @@ -1,35 +0,0 @@ -{config}: -{ - # Don't allow mutation of users outside of the config. - users.mutableUsers = false; - - # Set a root password, consider using initialHashedPassword instead. - # - # To generate a hash to put in initialHashedPassword - # you can do this: - # $ nix-shell --run 'mkpasswd -m SHA-512 -s' -p mkpasswd - users.users.root.initialPassword = "hunter2"; - - # machine-id is used by systemd for the journal, if you don't - # persist this file you won't be able to easily use journalctl to - # look at journals for previous boots. - environment.etc."machine-id".source - = "/nix/persist/etc/machine-id"; - - - # if you want to run an openssh daemon, you may want to store the - # host keys across reboots. - # - # For this to work you will need to create the directory yourself: - # $ mkdir /nix/persist/etc/ssh - environment.etc."ssh/ssh_host_rsa_key".source - = "/nix/persist/etc/ssh/ssh_host_rsa_key"; - environment.etc."ssh/ssh_host_rsa_key.pub".source - = "/nix/persist/etc/ssh/ssh_host_rsa_key.pub"; - environment.etc."ssh/ssh_host_ed25519_key".source - = "/nix/persist/etc/ssh/ssh_host_ed25519_key"; - environment.etc."ssh/ssh_host_ed25519_key.pub".source - = "/nix/persist/etc/ssh/ssh_host_ed25519_key.pub"; - - -} \ No newline at end of file diff --git a/flake.nix b/flake.nix index dd79017..8443436 100644 --- a/flake.nix +++ b/flake.nix @@ -1,64 +1,94 @@ { + description = "respec's nixos configs"; + inputs = { + # For NixOS # nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11"; + # NixOS Hardware Configuration for framework # nixos-hardware.url = "github:NixOS/nixos-hardware/master"; # For Wayfire # # nixpkgs-wayland = { # url = "github:nix-community/nixpkgs-wayland"; # inputs.nixpkgs.follows = "nixpkgs"; # }; + # For Home Manager # home-manager = { url = "github:nix-community/home-manager/release-22.11"; inputs.nixpkgs.follows = "nixpkgs"; }; - nixos-generators = { - url = "github:nix-community/nixos-generators"; - inputs.nixpkgs.follows = "nixpkgs"; - }; + # For Disko Disk Provisioning # disko = { url = "github:nix-community/disko"; inputs.nixpkgs.follows = "nixpkgs"; }; + # For Secrets Management # + sops-nix.url = github:Mic92/sops-nix; }; - outputs = { self, home-manager, nixos-generators, nixos-hardware, disko, nixpkgs, ... }@inputs: + + outputs = { self, home-manager, nixos-hardware, disko, nixpkgs, sops-nix, ... }@inputs: { - defaultPackage.x86_64-linux = home-manager.defaultPackage.x86_64-linux; - proxmox = nixos-generators.nixosGenerate { - system = "x86_64-linux"; - modules = [ - ./hosts/creatorforge.nix - ]; - format = "proxmox"; + + + let + system = "x86_64-linux"; + pkgs = import nixpkgs { + inherit system; + config.allowUnfree = true; }; + + defaultPackage.x86_64-linux = home-manager.defaultPackage.x86_64-linux; + defaultNixOptions = { + nix.autoOptimiseStore = true; + }; + mkComputer = configurationNix: userName: extraModules: extraHomeModules: inputs.nixpkgs.lib.nixosSystem { + inherit system; + specialArgs = { inherit system inputs pkgs nixos-hardware; }; + modules = [ + #Secrets management + sops-nix.nixosModules.sops + + #Machine config + configurationNix + defaultNixOptions + + #User config + (./. + "/users/${userName}") + + #Home manager + home-manager.nixosModules.home-manager + { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.users."${userName}" = { + imports = [ (./. + "/users/${userName}/home.nix") ] ++ extraHomeModules; + }; + } + ] ++ extraModules; + }; + in + { nixosConfigurations = { - creatorforge-vm = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - modules = [ + creatorforge-vm = mkComputer + ./machines/proxmox-vm.nix #machine specific configuration + "speccon18" #default user + [ ./hosts/creatorforge.nix - ./.modules/base/proxmox-vm-hardware.nix - ]; - }; - creatorforge-framework = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - modules = [ + ] #modules to load + []; #modules to be loaded by home-manager + creatorforge-framework = mkComputer + ./machines/framework.nix #machine specific configuration + "speccon18" #default user + [ nixos-hardware.nixosModules.framework-12th-gen-intel disko.nixosModules.disko ./hosts/creatorforge.nix - ./.modules/base/framework.nix - ]; - }; + ] #modules to load + []; #modules to be loaded by home-manager }; homeConfigurations = { speccon18 = home-manager.lib.homeManagerConfiguration { pkgs = nixpkgs.legacyPackages.x86_64-linux; modules = [ ./.hm-modules/home-manager.nix]; - # username = "speccon18"; - # homeDirectory = "/home/speccon18"; - # configuration = { - # imports = [ - # ./.hm-modules/home-manager.nix - # ]; - # }; }; }; }; diff --git a/.modules/base/framework.nix b/machines/framework.nix similarity index 100% rename from .modules/base/framework.nix rename to machines/framework.nix diff --git a/.modules/base/proxmox-vm-hardware.nix b/machines/proxmox-vm.nix similarity index 100% rename from .modules/base/proxmox-vm-hardware.nix rename to machines/proxmox-vm.nix diff --git a/users/speccon18.nix b/users/speccon18.nix new file mode 100644 index 0000000..c890e90 --- /dev/null +++ b/users/speccon18.nix @@ -0,0 +1,60 @@ +{ pkgs, config, ... }: { + #Home manager configuration + home.username = "speccon18"; + home.homeDirectory = "/home/speccon18"; + imports = [ ./../../home ./../../home/nixos ]; + + home.packages = with pkgs; [ + loc + element-desktop + discord + bat + exa + nodejs-18_x + spotify + dig + nerdfonts + age + sops + steam-run + fira-code + libreoffice + asciinema + postman + gimp + rustup + neofetch + htop + vlc + polymc + remmina + signal-desktop + ]; + + programs.direnv.enable = true; + programs.direnv.nix-direnv.enable = true; + programs.home-manager.enable = true; + + programs.vscode = { + enable = true; + package = pkgs.vscode; + }; + + programs.git = { + enable = true; + userName = "specCon18"; + userEmail = "steven.carpenter@skdevstudios.com"; + delta.enable = true; + extraConfig = { + init = { + defaultBranch = "main"; + }; + }; + }; + + dconf.settings = { + "org/gnome/mutter" = { + experimental-features = [ "x11-randr-fractional-scaling" ]; + }; + }; +} From 00105229a07f07a9ed40fcd9db3ae3628858c054 Mon Sep 17 00:00:00 2001 From: Steven Date: Sun, 26 Mar 2023 14:42:36 -0400 Subject: [PATCH 107/233] removed extra braces in flake --- flake.nix | 117 ++++++++++++++++++++++++++---------------------------- 1 file changed, 57 insertions(+), 60 deletions(-) diff --git a/flake.nix b/flake.nix index 8443436..4acd059 100644 --- a/flake.nix +++ b/flake.nix @@ -26,71 +26,68 @@ }; outputs = { self, home-manager, nixos-hardware, disko, nixpkgs, sops-nix, ... }@inputs: - { + let + system = "x86_64-linux"; + pkgs = import nixpkgs { + inherit system; + config.allowUnfree = true; + }; - - let - system = "x86_64-linux"; - pkgs = import nixpkgs { + defaultPackage.x86_64-linux = home-manager.defaultPackage.x86_64-linux; + defaultNixOptions = { + nix.autoOptimiseStore = true; + }; + mkComputer = configurationNix: userName: extraModules: extraHomeModules: inputs.nixpkgs.lib.nixosSystem { inherit system; - config.allowUnfree = true; - }; + specialArgs = { inherit system inputs pkgs nixos-hardware; }; + modules = [ + #Secrets management + sops-nix.nixosModules.sops - defaultPackage.x86_64-linux = home-manager.defaultPackage.x86_64-linux; - defaultNixOptions = { - nix.autoOptimiseStore = true; - }; - mkComputer = configurationNix: userName: extraModules: extraHomeModules: inputs.nixpkgs.lib.nixosSystem { - inherit system; - specialArgs = { inherit system inputs pkgs nixos-hardware; }; - modules = [ - #Secrets management - sops-nix.nixosModules.sops - - #Machine config - configurationNix - defaultNixOptions - - #User config - (./. + "/users/${userName}") - - #Home manager - home-manager.nixosModules.home-manager - { - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.users."${userName}" = { - imports = [ (./. + "/users/${userName}/home.nix") ] ++ extraHomeModules; - }; - } - ] ++ extraModules; - }; - in - { - nixosConfigurations = { - creatorforge-vm = mkComputer - ./machines/proxmox-vm.nix #machine specific configuration - "speccon18" #default user - [ - ./hosts/creatorforge.nix - ] #modules to load - []; #modules to be loaded by home-manager - creatorforge-framework = mkComputer - ./machines/framework.nix #machine specific configuration - "speccon18" #default user - [ - nixos-hardware.nixosModules.framework-12th-gen-intel - disko.nixosModules.disko - ./hosts/creatorforge.nix - ] #modules to load - []; #modules to be loaded by home-manager + #Machine config + configurationNix + defaultNixOptions + + #User config + (./. + "/users/${userName}") + + #Home manager + home-manager.nixosModules.home-manager + { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.users."${userName}" = { + imports = [ (./. + "/users/${userName}/home.nix") ] ++ extraHomeModules; + }; + } + ] ++ extraModules; }; - homeConfigurations = { - speccon18 = home-manager.lib.homeManagerConfiguration { - pkgs = nixpkgs.legacyPackages.x86_64-linux; - modules = [ ./.hm-modules/home-manager.nix]; + in + { + nixosConfigurations = { + creatorforge-vm = mkComputer + ./machines/proxmox-vm.nix #machine specific configuration + "speccon18" #default user + [ + ./hosts/creatorforge.nix + ] #modules to load + []; #modules to be loaded by home-manager + creatorforge-framework = mkComputer + ./machines/framework.nix #machine specific configuration + "speccon18" #default user + [ + nixos-hardware.nixosModules.framework-12th-gen-intel + disko.nixosModules.disko + ./hosts/creatorforge.nix + ] #modules to load + []; #modules to be loaded by home-manager + }; + homeConfigurations = { + speccon18 = home-manager.lib.homeManagerConfiguration { + pkgs = nixpkgs.legacyPackages.x86_64-linux; + modules = [ ./.hm-modules/home-manager.nix]; + }; }; }; - }; } \ No newline at end of file From 5764ac111952d37bc28d085951db62cb66dea5c6 Mon Sep 17 00:00:00 2001 From: Steven Date: Sun, 26 Mar 2023 15:06:04 -0400 Subject: [PATCH 108/233] commented home config in flake --- flake.nix | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/flake.nix b/flake.nix index 4acd059..aa25779 100644 --- a/flake.nix +++ b/flake.nix @@ -7,8 +7,8 @@ # NixOS Hardware Configuration for framework # nixos-hardware.url = "github:NixOS/nixos-hardware/master"; # For Wayfire # -# nixpkgs-wayland = { -# url = "github:nix-community/nixpkgs-wayland"; +# nixpkgs-wayland = { +# url = "github:nix-community/nixpkgs-wayland"; # inputs.nixpkgs.follows = "nixpkgs"; # }; # For Home Manager # @@ -33,7 +33,7 @@ config.allowUnfree = true; }; - defaultPackage.x86_64-linux = home-manager.defaultPackage.x86_64-linux; + defaultPackage.x86_64-linux = home-manager.defaultPackage.x86_64-linux; defaultNixOptions = { nix.autoOptimiseStore = true; }; @@ -82,12 +82,12 @@ ] #modules to load []; #modules to be loaded by home-manager }; - homeConfigurations = { - speccon18 = home-manager.lib.homeManagerConfiguration { - pkgs = nixpkgs.legacyPackages.x86_64-linux; - modules = [ ./.hm-modules/home-manager.nix]; - }; - }; + # homeConfigurations = { + # speccon18 = home-manager.lib.homeManagerConfiguration { + # pkgs = nixpkgs.legacyPackages.x86_64-linux; + # modules = [ ./.hm-modules/home-manager.nix]; + # }; + # }; }; - + } \ No newline at end of file From 7404966c92a9dc1a52f3ff4b45a0320ec6953024 Mon Sep 17 00:00:00 2001 From: Steven Date: Sun, 26 Mar 2023 16:40:14 -0400 Subject: [PATCH 109/233] finished migrating config to new flake structure --- .hm-modules/home-manager.nix | 10 -- .hm-modules/users/speccon18.nix | 104 ------------------ .modules/disko/luks-lvm.nix | 83 -------------- .../features/desktop/environments/gnome.nix | 38 ------- .../features/desktop/environments/wayfire.nix | 6 - .modules/services/docker.nix | 11 -- .modules/services/openssh.nix | 19 ---- .modules/services/pipewire.nix | 17 --- .modules/users/arouzing.nix | 12 -- .modules/users/speccon18.nix | 14 --- flake.nix | 39 +++---- hosts/creatorforge.nix | 41 +++---- hosts/openldap.nix | 10 +- users/speccon18.nix | 60 ---------- 14 files changed, 37 insertions(+), 427 deletions(-) delete mode 100644 .hm-modules/home-manager.nix delete mode 100644 .hm-modules/users/speccon18.nix delete mode 100644 .modules/disko/luks-lvm.nix delete mode 100644 .modules/features/desktop/environments/gnome.nix delete mode 100644 .modules/features/desktop/environments/wayfire.nix delete mode 100644 .modules/services/docker.nix delete mode 100644 .modules/services/openssh.nix delete mode 100644 .modules/services/pipewire.nix delete mode 100644 .modules/users/arouzing.nix delete mode 100644 .modules/users/speccon18.nix delete mode 100644 users/speccon18.nix diff --git a/.hm-modules/home-manager.nix b/.hm-modules/home-manager.nix deleted file mode 100644 index 01e905f..0000000 --- a/.hm-modules/home-manager.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ config, pkgs, lib, ... }: -{ - imports = [ - ./users/speccon18.nix - ]; - programs.home-manager.enable = true; - -# https://github.com/arouzing/nix/blob/main/hm/sky/home.nix - -} \ No newline at end of file diff --git a/.hm-modules/users/speccon18.nix b/.hm-modules/users/speccon18.nix deleted file mode 100644 index 477eec4..0000000 --- a/.hm-modules/users/speccon18.nix +++ /dev/null @@ -1,104 +0,0 @@ -{ config, pkgs, lib, ... }: - -{ - home = { - username = "speccon18"; - homeDirectory = "/home/speccon18"; - stateVersion = "22.11"; - packages = [ - pkgs.firefox - pkgs.vscode-fhs - pkgs.alacritty - pkgs.starship - pkgs.diff-so-fancy - pkgs.bat - pkgs.nushell - ]; - }; - programs = { - #TODO: https://mipmip.github.io/home-manager-option-search/ add options - vscode = { - enable = true; - package = pkgs.vscode.fhs; - enableExtensionUpdateCheck = true; - enableUpdateCheck = false; - extensions = [ -# "tlahmann.alex-linter" -# "astro-build.astro-vscode" -# "aaron-bond.better-comments" -# "bungcip.better-toml" -# "antfu.browse-lite" -# "firefox-devtools.vscode-firefox-debug" -# "ms-vscode-remote.remote-containers" -# "ms-azuretools.vscode-docker" -# "editorconfig.editorconfig" -# "dbaeumer.vscode-eslint" -# "donjayamanne.githistory" -# "felipecaputo.git-project-manager" -# "github.copilot" -# "eamodio.gitlens" -# "graphql.vscode-graphql" -# "graphql.vscode-graphql-syntax" -# "oderwat.indent-rainbow" -# "skellock.just" -# "monokai.theme-monokai-pro-vscode" -# "bbenoist.nix" -# "jnoortheen.nix-ide" -# "christian-kohler.path-intellisense" -# "csstools.postcss" -# "esbenp.prettier-vscode" -# "ms-vscode-remote.remote-ssh" -# "ms-vscode-remote.remote-ssh-edit" -# "ms-vscode.remote-server" -# "ms-vscode-remote.vscode-remote-extensionpack" -# "ms-vscode.remote-explorer" -# "rust-lang.rust-analyzer" -# "rhalaly.scope-to-this" -# "svelte.svelte-vscode" -# "bradlc.vscode-tailwindcss" -# "tauri-apps.tauri-vscode" -# "antfu.vite" -# "zixuanchen.vitest-explorer" -# "vscode-icons-team.vscode-icons" -# "thenuprojectcontributors.vscode-nushell-lang" -# "ms-vscode-remote.remote-wsl" -# "redhat.vscode-yaml" - ]; - }; - #TODO: Generate and add configs for this - nushell = { - enable = true; - }; - direnv = { - enableZshIntegration = true; - enable = true; - }; - starship = { - enable = true; - enableZshIntegration = true; - enableNushellIntegration = true; - }; - zsh = { - enable = lib.mkDefault true; - dotDir = ".config/zsh"; - history = { - path = "$ZDOTDIR/.zsh_history"; - save = 10000000; - }; - }; - #git = { - # enable = true; - # userName = "specCon18"; - # userEmail = "specCon18@gmail.com"; - # signing = { - # key = "71F252936D785219"; - # signByDefault = true; - # }; - # diff-so-fancy = { - # enable = true; - # changeHunkIndicators = true; - # }; - # lfs.enable = true; - #}; - }; -} diff --git a/.modules/disko/luks-lvm.nix b/.modules/disko/luks-lvm.nix deleted file mode 100644 index f199b10..0000000 --- a/.modules/disko/luks-lvm.nix +++ /dev/null @@ -1,83 +0,0 @@ -{ disks ? [ "/dev/nvme0n1" ], ... }: { - disk = { - disk-0 = { - type = "disk"; - device = builtins.elemAt disks 0; - content = { - type = "table"; - format = "gpt"; - partitions = [ - { - type = "partition"; - name = "ESP"; - start = "1MiB"; - end = "2g"; - bootable = true; - content = { - type = "filesystem"; - format = "vfat"; - mountpoint = "/boot"; - mountOptions = [ - "defaults" - ]; - }; - } - { - name = "swap"; - type = "partition"; - start = "2G"; - end = "40G"; - part-type = "primary"; - content = { - type = "swap"; - randomEncryption = true; - }; - } - { - type = "partition"; - name = "luks"; - start = "40G"; - end = "100%"; - content = { - type = "luks"; - name = "crypted"; - extraOpenArgs = [ "--allow-discards" ]; - content = { - type = "lvm_pv"; - vg = "pool"; - }; - }; - } - ]; - }; - }; - }; - lvm_vg = { - pool = { - type = "lvm_vg"; - lvs = { - root = { - type = "lvm_lv"; - size = "128G"; - content = { - type = "filesystem"; - format = "ext4"; - mountpoint = "/"; - mountOptions = [ - "defaults" - ]; - }; - }; - home = { - type = "lvm_lv"; - size = "25G"; - content = { - type = "filesystem"; - format = "ext4"; - mountpoint = "/home"; - }; - }; - }; - }; - }; -} diff --git a/.modules/features/desktop/environments/gnome.nix b/.modules/features/desktop/environments/gnome.nix deleted file mode 100644 index 5435bed..0000000 --- a/.modules/features/desktop/environments/gnome.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ config, pkgs, lib, ... }: -{ - # Gnome extensions - environment.systemPackages = with pkgs; [ - gnomeExtensions.dock-from-dash - gnomeExtensions.pop-shell - ]; - services = { - gnome = { - core-utilities.enable = false; - gnome-keyring.enable = true; - }; - - xserver = { - enable = true; - layout = "us"; - xkbVariant = ""; - displayManager = { - gdm = { - enable = true; - wayland = true; - }; - defaultSession = lib.mkDefault "gnome"; - }; - desktopManager = { - xterm.enable = lib.mkForce false; - gnome.enable = lib.mkDefault true; - }; - }; - }; - - programs = { - xwayland.enable = lib.mkDefault true; - }; - - xdg.portal = { enable = lib.mkDefault true; }; - -} diff --git a/.modules/features/desktop/environments/wayfire.nix b/.modules/features/desktop/environments/wayfire.nix deleted file mode 100644 index 60282a1..0000000 --- a/.modules/features/desktop/environments/wayfire.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ config, pkgs, lib, ... }: -{ - environment.systemPackages = with pkgs; [ - inputs.nixpkgs-wayland.packages.${system}.wayfire-unstable - ]; -} \ No newline at end of file diff --git a/.modules/services/docker.nix b/.modules/services/docker.nix deleted file mode 100644 index 6f9acf0..0000000 --- a/.modules/services/docker.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ config, pkgs, lib, ... }: -{ - virtualisation.docker = { - enable = true; - liveRestore = false; - autoPrune.enable = true; - }; - - # But allow docker containers to access the local machine - networking.firewall.trustedInterfaces = [ "docker0" ]; -} \ No newline at end of file diff --git a/.modules/services/openssh.nix b/.modules/services/openssh.nix deleted file mode 100644 index abdd037..0000000 --- a/.modules/services/openssh.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ config, pkgs, lib, ... }: - -{ - services.openssh = lib.mkDefault { - enable = true; - openFirewall = true; - #settings = lib.mkDefault { - passwordAuthentication = false; - permitRootLogin = "no"; - kbdInteractiveAuthentication = false; - #}; - startWhenNeeded = true; - kexAlgorithms = [ "curve25519-sha256@libssh.org" ]; - }; - security.pam = lib.mkDefault { - enableSSHAgentAuth = true; - services.sudo.sshAgentAuth = true; - }; -} \ No newline at end of file diff --git a/.modules/services/pipewire.nix b/.modules/services/pipewire.nix deleted file mode 100644 index dfde8b9..0000000 --- a/.modules/services/pipewire.nix +++ /dev/null @@ -1,17 +0,0 @@ -# https://nixos.wiki/wiki/PipeWire -{ config, pkgs, lib, ... }: -{ - # Remove sound.enable or turn it off if you had it set previously, it seems to cause conflicts with pipewire - #sound.enable = false; - # rtkit is optional but recommended - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa = { - enable = true; - support32Bit = true; - }; - pulse.enable = true; - jack.enable = true; - }; -} \ No newline at end of file diff --git a/.modules/users/arouzing.nix b/.modules/users/arouzing.nix deleted file mode 100644 index a4510ef..0000000 --- a/.modules/users/arouzing.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ config, pkgs, lib, ... }: -{ - users.users.arouzing = { - isNormalUser = true; - initialHashedPassword = "$6$tucSnzN8mqHQo/Fd$Q/RtaTpoXN0xnlLAFy6ohWWYuTYd54CXaCrocV1vgFRQVuONga1LyzwdJ0vXa.NT6MRcO7IXNQ3YeURJsSdP61"; - openssh.authorizedKeys.keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJAGm66rJsr8vjRCYDkH4lEPncPq27o6BHzpmRmkzOiM" - ]; - description = "admin"; - extraGroups = [ "wheel" "docker" ]; - }; -} \ No newline at end of file diff --git a/.modules/users/speccon18.nix b/.modules/users/speccon18.nix deleted file mode 100644 index dee8fe8..0000000 --- a/.modules/users/speccon18.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ config, pkgs, lib, ... }: -{ - users.users.speccon18 = { - shell = pkgs.zsh; - isNormalUser = true; - initialHashedPassword = "$y$j9T$RdLBHOvUpb17egl0d16LT/$3Y2RD/tT1IZ0nkfAR13pp3IzBjvKLRgGpDPLobUeO23"; - openssh.authorizedKeys.keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILdigmndcdQD/864P059K2hZOXyEkbGvMkH0/b2QavkD speccon18@creatorforge" - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPc1AQ6hcjdSZZuhS5SISwtulFoTLpC5f5JoMFQkZ5l2 specCon18@DESKTOP-Q1I2PAE" - ]; - description = "admin"; - extraGroups = [ "wheel" "docker" ]; - }; -} \ No newline at end of file diff --git a/flake.nix b/flake.nix index aa25779..0b8faa7 100644 --- a/flake.nix +++ b/flake.nix @@ -6,11 +6,6 @@ nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11"; # NixOS Hardware Configuration for framework # nixos-hardware.url = "github:NixOS/nixos-hardware/master"; -# For Wayfire # -# nixpkgs-wayland = { -# url = "github:nix-community/nixpkgs-wayland"; -# inputs.nixpkgs.follows = "nixpkgs"; -# }; # For Home Manager # home-manager = { url = "github:nix-community/home-manager/release-22.11"; @@ -27,7 +22,7 @@ outputs = { self, home-manager, nixos-hardware, disko, nixpkgs, sops-nix, ... }@inputs: let - system = "x86_64-linux"; + system = "x86_64-linux"; # Set the system architecture to x86_64-linux. pkgs = import nixpkgs { inherit system; config.allowUnfree = true; @@ -54,10 +49,12 @@ #Home manager home-manager.nixosModules.home-manager { - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.users."${userName}" = { - imports = [ (./. + "/users/${userName}/home.nix") ] ++ extraHomeModules; + home-manager = { + useGlobalPkgs = true; + useUserPackages = true; + users."${userName}" = { + imports = [ (./. + "/users/${userName}/home.nix") ] ++ extraHomeModules; + }; }; } ] ++ extraModules; @@ -70,8 +67,11 @@ "speccon18" #default user [ ./hosts/creatorforge.nix - ] #modules to load - []; #modules to be loaded by home-manager + modules/services/docker.nix + modules/services/openssh.nix + modules/desktop/gui/gnome.nix + ] #extra modules to load + []; #extra modules to be loaded by home-manager creatorforge-framework = mkComputer ./machines/framework.nix #machine specific configuration "speccon18" #default user @@ -79,15 +79,12 @@ nixos-hardware.nixosModules.framework-12th-gen-intel disko.nixosModules.disko ./hosts/creatorforge.nix - ] #modules to load - []; #modules to be loaded by home-manager + modules/services/docker.nix + modules/services/openssh.nix + modules/desktop/gui/gnome.nix + + ] #extra modules to load + []; #extra modules to be loaded by home-manager }; - # homeConfigurations = { - # speccon18 = home-manager.lib.homeManagerConfiguration { - # pkgs = nixpkgs.legacyPackages.x86_64-linux; - # modules = [ ./.hm-modules/home-manager.nix]; - # }; - # }; }; - } \ No newline at end of file diff --git a/hosts/creatorforge.nix b/hosts/creatorforge.nix index a66c657..ee56c0d 100644 --- a/hosts/creatorforge.nix +++ b/hosts/creatorforge.nix @@ -1,14 +1,9 @@ { modulesPath, config, pkgs, lib, ... }: { - imports = [ - # Include the results of the hardware scan. - (modulesPath + "/profiles/qemu-guest.nix") - ../.modules/services/docker.nix - ../.modules/users/speccon18.nix - ../.modules/services/openssh.nix - ../.modules/features/desktop/environments/gnome.nix - ]; + system.stateVersion = "22.11"; + time.timeZone = "America/Detroit"; + # Allow non opensource software to be installed nixpkgs.config.allowUnfree = true; @@ -33,34 +28,26 @@ htop bat exa + helix zsh - vim tailscale + dig + rage + sops direnv - uutils-coreutils + htop ]; networking = { - firewall.checkReversePath = "loose"; hostName = "creatorforge"; # Define your hostname. + firewall = { + enable = true; + allowedTCPPorts = []; + allowedUDPPorts = []; + checkReversePath = "loose"; + }; # networkmanager.enable = true; }; services.tailscale.enable = true; - - time.timeZone = "America/Detroit"; - - # Open ports in the firewall. - networking.firewall = { - enable = true; - allowedTCPPorts = []; - allowedUDPPorts = []; - }; - ## main services - system.stateVersion = "22.11"; - - ### testing ### - boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "virtio_pci" "sr_mod" "virtio_blk" ]; - - } \ No newline at end of file diff --git a/hosts/openldap.nix b/hosts/openldap.nix index d98c1e6..e7e4fcc 100644 --- a/hosts/openldap.nix +++ b/hosts/openldap.nix @@ -3,12 +3,12 @@ { imports = [ # Include the results of the hardware scan. - # ../.modules/base/hardware.nix + # ../modules/base/hardware.nix (modulesPath + "/profiles/qemu-guest.nix") - ../.modules/services/docker.nix - ../.modules/users/arouzing.nix - ../.modules/users/speccon18.nix - ../.modules/services/openssh.nix + ../modules/services/docker.nix + ../modules/users/arouzing.nix + ../modules/users/speccon18.nix + ../modules/services/openssh.nix ]; # base packages diff --git a/users/speccon18.nix b/users/speccon18.nix deleted file mode 100644 index c890e90..0000000 --- a/users/speccon18.nix +++ /dev/null @@ -1,60 +0,0 @@ -{ pkgs, config, ... }: { - #Home manager configuration - home.username = "speccon18"; - home.homeDirectory = "/home/speccon18"; - imports = [ ./../../home ./../../home/nixos ]; - - home.packages = with pkgs; [ - loc - element-desktop - discord - bat - exa - nodejs-18_x - spotify - dig - nerdfonts - age - sops - steam-run - fira-code - libreoffice - asciinema - postman - gimp - rustup - neofetch - htop - vlc - polymc - remmina - signal-desktop - ]; - - programs.direnv.enable = true; - programs.direnv.nix-direnv.enable = true; - programs.home-manager.enable = true; - - programs.vscode = { - enable = true; - package = pkgs.vscode; - }; - - programs.git = { - enable = true; - userName = "specCon18"; - userEmail = "steven.carpenter@skdevstudios.com"; - delta.enable = true; - extraConfig = { - init = { - defaultBranch = "main"; - }; - }; - }; - - dconf.settings = { - "org/gnome/mutter" = { - experimental-features = [ "x11-randr-fractional-scaling" ]; - }; - }; -} From d0f4af12146eba4d2b26f114cb4b7ad0f1df518b Mon Sep 17 00:00:00 2001 From: Steven Date: Sun, 26 Mar 2023 16:45:07 -0400 Subject: [PATCH 110/233] ammending the previous with un added files --- flake.nix | 12 ++-- modules/desktop/gui/gnome.nix | 38 ++++++++++ modules/desktop/gui/wayfire.nix | 6 ++ modules/disko/luks-lvm.nix | 83 +++++++++++++++++++++ modules/services/docker.nix | 11 +++ modules/services/openssh.nix | 19 +++++ modules/services/pipewire.nix | 17 +++++ users/arouzing/default.nix | 12 ++++ users/speccon18/default.nix | 14 ++++ users/speccon18/home.nix | 124 ++++++++++++++++++++++++++++++++ 10 files changed, 330 insertions(+), 6 deletions(-) create mode 100644 modules/desktop/gui/gnome.nix create mode 100644 modules/desktop/gui/wayfire.nix create mode 100644 modules/disko/luks-lvm.nix create mode 100644 modules/services/docker.nix create mode 100644 modules/services/openssh.nix create mode 100644 modules/services/pipewire.nix create mode 100644 users/arouzing/default.nix create mode 100644 users/speccon18/default.nix create mode 100644 users/speccon18/home.nix diff --git a/flake.nix b/flake.nix index 0b8faa7..6e2faa0 100644 --- a/flake.nix +++ b/flake.nix @@ -67,9 +67,9 @@ "speccon18" #default user [ ./hosts/creatorforge.nix - modules/services/docker.nix - modules/services/openssh.nix - modules/desktop/gui/gnome.nix + ./modules/services/docker.nix + ./modules/services/openssh.nix + ./modules/desktop/gui/gnome.nix ] #extra modules to load []; #extra modules to be loaded by home-manager creatorforge-framework = mkComputer @@ -79,9 +79,9 @@ nixos-hardware.nixosModules.framework-12th-gen-intel disko.nixosModules.disko ./hosts/creatorforge.nix - modules/services/docker.nix - modules/services/openssh.nix - modules/desktop/gui/gnome.nix + ./modules/services/docker.nix + ./modules/services/openssh.nix + ./modules/desktop/gui/gnome.nix ] #extra modules to load []; #extra modules to be loaded by home-manager diff --git a/modules/desktop/gui/gnome.nix b/modules/desktop/gui/gnome.nix new file mode 100644 index 0000000..89cf1e2 --- /dev/null +++ b/modules/desktop/gui/gnome.nix @@ -0,0 +1,38 @@ +{ config, pkgs, lib, ... }: +{ + # Gnome extensions + environment.systemPackages = with pkgs; [ + gnomeExtensions.dock-from-dash + gnomeExtensions.pop-shell + ]; + services = { + gnome = { + core-utilities.enable = false; + gnome-keyring.enable = true; + }; + + xserver = { + enable = true; + layout = "us"; + xkbVariant = ""; + displayManager = { + gdm = { + enable = true; + wayland = true; + }; + defaultSession = lib.mkDefault "gnome"; + }; + desktopManager = { + xterm.enable = lib.mkForce false; + gnome.enable = lib.mkDefault true; + }; + }; + }; + + programs = { + xwayland.enable = lib.mkDefault true; + }; + + xdg.portal = { enable = lib.mkDefault true; }; + +} diff --git a/modules/desktop/gui/wayfire.nix b/modules/desktop/gui/wayfire.nix new file mode 100644 index 0000000..3373d70 --- /dev/null +++ b/modules/desktop/gui/wayfire.nix @@ -0,0 +1,6 @@ +{ config, pkgs, lib, ... }: +{ + environment.systemPackages = with pkgs; [ + inputs.nixpkgs-wayland.packages.${system}.wayfire-unstable + ]; +} \ No newline at end of file diff --git a/modules/disko/luks-lvm.nix b/modules/disko/luks-lvm.nix new file mode 100644 index 0000000..f199b10 --- /dev/null +++ b/modules/disko/luks-lvm.nix @@ -0,0 +1,83 @@ +{ disks ? [ "/dev/nvme0n1" ], ... }: { + disk = { + disk-0 = { + type = "disk"; + device = builtins.elemAt disks 0; + content = { + type = "table"; + format = "gpt"; + partitions = [ + { + type = "partition"; + name = "ESP"; + start = "1MiB"; + end = "2g"; + bootable = true; + content = { + type = "filesystem"; + format = "vfat"; + mountpoint = "/boot"; + mountOptions = [ + "defaults" + ]; + }; + } + { + name = "swap"; + type = "partition"; + start = "2G"; + end = "40G"; + part-type = "primary"; + content = { + type = "swap"; + randomEncryption = true; + }; + } + { + type = "partition"; + name = "luks"; + start = "40G"; + end = "100%"; + content = { + type = "luks"; + name = "crypted"; + extraOpenArgs = [ "--allow-discards" ]; + content = { + type = "lvm_pv"; + vg = "pool"; + }; + }; + } + ]; + }; + }; + }; + lvm_vg = { + pool = { + type = "lvm_vg"; + lvs = { + root = { + type = "lvm_lv"; + size = "128G"; + content = { + type = "filesystem"; + format = "ext4"; + mountpoint = "/"; + mountOptions = [ + "defaults" + ]; + }; + }; + home = { + type = "lvm_lv"; + size = "25G"; + content = { + type = "filesystem"; + format = "ext4"; + mountpoint = "/home"; + }; + }; + }; + }; + }; +} diff --git a/modules/services/docker.nix b/modules/services/docker.nix new file mode 100644 index 0000000..6f9acf0 --- /dev/null +++ b/modules/services/docker.nix @@ -0,0 +1,11 @@ +{ config, pkgs, lib, ... }: +{ + virtualisation.docker = { + enable = true; + liveRestore = false; + autoPrune.enable = true; + }; + + # But allow docker containers to access the local machine + networking.firewall.trustedInterfaces = [ "docker0" ]; +} \ No newline at end of file diff --git a/modules/services/openssh.nix b/modules/services/openssh.nix new file mode 100644 index 0000000..abdd037 --- /dev/null +++ b/modules/services/openssh.nix @@ -0,0 +1,19 @@ +{ config, pkgs, lib, ... }: + +{ + services.openssh = lib.mkDefault { + enable = true; + openFirewall = true; + #settings = lib.mkDefault { + passwordAuthentication = false; + permitRootLogin = "no"; + kbdInteractiveAuthentication = false; + #}; + startWhenNeeded = true; + kexAlgorithms = [ "curve25519-sha256@libssh.org" ]; + }; + security.pam = lib.mkDefault { + enableSSHAgentAuth = true; + services.sudo.sshAgentAuth = true; + }; +} \ No newline at end of file diff --git a/modules/services/pipewire.nix b/modules/services/pipewire.nix new file mode 100644 index 0000000..9481f9b --- /dev/null +++ b/modules/services/pipewire.nix @@ -0,0 +1,17 @@ +# https://nixos.wiki/wiki/PipeWire +{ config, pkgs, lib, ... }: +{ + # Remove sound.enable or turn it off if you had it set previously, it seems to cause conflicts with pipewire + #sound.enable = false; + # rtkit is optional but recommended + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa = { + enable = true; + support32Bit = true; + }; + pulse.enable = true; + jack.enable = true; + }; +} \ No newline at end of file diff --git a/users/arouzing/default.nix b/users/arouzing/default.nix new file mode 100644 index 0000000..a4510ef --- /dev/null +++ b/users/arouzing/default.nix @@ -0,0 +1,12 @@ +{ config, pkgs, lib, ... }: +{ + users.users.arouzing = { + isNormalUser = true; + initialHashedPassword = "$6$tucSnzN8mqHQo/Fd$Q/RtaTpoXN0xnlLAFy6ohWWYuTYd54CXaCrocV1vgFRQVuONga1LyzwdJ0vXa.NT6MRcO7IXNQ3YeURJsSdP61"; + openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJAGm66rJsr8vjRCYDkH4lEPncPq27o6BHzpmRmkzOiM" + ]; + description = "admin"; + extraGroups = [ "wheel" "docker" ]; + }; +} \ No newline at end of file diff --git a/users/speccon18/default.nix b/users/speccon18/default.nix new file mode 100644 index 0000000..dee8fe8 --- /dev/null +++ b/users/speccon18/default.nix @@ -0,0 +1,14 @@ +{ config, pkgs, lib, ... }: +{ + users.users.speccon18 = { + shell = pkgs.zsh; + isNormalUser = true; + initialHashedPassword = "$y$j9T$RdLBHOvUpb17egl0d16LT/$3Y2RD/tT1IZ0nkfAR13pp3IzBjvKLRgGpDPLobUeO23"; + openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILdigmndcdQD/864P059K2hZOXyEkbGvMkH0/b2QavkD speccon18@creatorforge" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPc1AQ6hcjdSZZuhS5SISwtulFoTLpC5f5JoMFQkZ5l2 specCon18@DESKTOP-Q1I2PAE" + ]; + description = "admin"; + extraGroups = [ "wheel" "docker" ]; + }; +} \ No newline at end of file diff --git a/users/speccon18/home.nix b/users/speccon18/home.nix new file mode 100644 index 0000000..2f7f3fe --- /dev/null +++ b/users/speccon18/home.nix @@ -0,0 +1,124 @@ +{ pkgs, config, ... }: { +#Home manager configuration +imports = [ ./../../home ./../../home/nixos ]; + + home = { + username = "speccon18"; + homeDirectory = "/home/speccon18"; + stateVersion = "22.11"; + packages = with pkgs; [ + nushell + firefox + discord + nodejs-18_x + spotify + nerdfonts + fira-code + libreoffice + asciinema + postman + gimp + rustup + neofetch + vlc + remmina + signal-desktop + starship + alacritty + uutils-coreutils + ]; + }; + + + programs = { + nushell = { + enable = true; + }; + starship = { + enable = true; + enableZshIntegration = true; + enableNushellIntegration = true; + }; + zsh = { + enable = lib.mkDefault true; + dotDir = ".config/zsh"; + history = { + path = "$ZDOTDIR/.zsh_history"; + save = 10000000; + }; + }; + direnv = { + enable = true; + enableZshIntegration = lib.mkDefault true; + enableNushellIntegration = true; + }; + home-manager = { + enable = true; + }; + vscode = { + enable = true; + package = pkgs.vscode.fhs; + enableExtensionUpdateCheck = true; + enableUpdateCheck = false; + extensions = [ +# "tlahmann.alex-linter" +# "astro-build.astro-vscode" +# "aaron-bond.better-comments" +# "bungcip.better-toml" +# "antfu.browse-lite" +# "firefox-devtools.vscode-firefox-debug" +# "ms-vscode-remote.remote-containers" +# "ms-azuretools.vscode-docker" +# "editorconfig.editorconfig" +# "dbaeumer.vscode-eslint" +# "donjayamanne.githistory" +# "felipecaputo.git-project-manager" +# "github.copilot" +# "eamodio.gitlens" +# "graphql.vscode-graphql" +# "graphql.vscode-graphql-syntax" +# "oderwat.indent-rainbow" +# "skellock.just" +# "monokai.theme-monokai-pro-vscode" +# "bbenoist.nix" +# "jnoortheen.nix-ide" +# "christian-kohler.path-intellisense" +# "csstools.postcss" +# "esbenp.prettier-vscode" +# "ms-vscode-remote.remote-ssh" +# "ms-vscode-remote.remote-ssh-edit" +# "ms-vscode.remote-server" +# "ms-vscode-remote.vscode-remote-extensionpack" +# "ms-vscode.remote-explorer" +# "rust-lang.rust-analyzer" +# "rhalaly.scope-to-this" +# "svelte.svelte-vscode" +# "bradlc.vscode-tailwindcss" +# "tauri-apps.tauri-vscode" +# "antfu.vite" +# "zixuanchen.vitest-explorer" +# "vscode-icons-team.vscode-icons" +# "thenuprojectcontributors.vscode-nushell-lang" +# "ms-vscode-remote.remote-wsl" +# "redhat.vscode-yaml" + ]; + }; + git = { + enable = true; + userName = "specCon18"; + userEmail = "steven.carpenter@skdevstudios.com"; + # delta.enable = true; + extraConfig = { + init = { + defaultBranch = "main"; + }; + }; + }; + }; + + dconf.settings = { + "org/gnome/mutter" = { + experimental-features = [ "x11-randr-fractional-scaling" ]; + }; + }; +} From 7b61ac34e866c0d5b75786cee05b2b4461cf0c0d Mon Sep 17 00:00:00 2001 From: Steven Date: Sun, 26 Mar 2023 20:18:42 -0400 Subject: [PATCH 111/233] fixed missing import for framework.nix --- machines/framework.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/machines/framework.nix b/machines/framework.nix index f9ce9b9..00abf1d 100644 --- a/machines/framework.nix +++ b/machines/framework.nix @@ -5,7 +5,7 @@ { imports = [ - # ../disko/luks-lvm.nix + ../modules/disko/luks-lvm.nix (modulesPath + "/installer/scan/not-detected.nix") ]; @@ -38,7 +38,7 @@ }; disko.devices = import ../disko/luks-lvm.nix { # lib = nixpkgs.lib; - disks = [ "/dev/nvme0n1" ]; # replace this with your disk name i.e. /dev/nvme0n1 + disks = [ "/dev/nvme0n1" ]; }; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking # (the default) this is the recommended approach. When using systemd-networkd it's From 44e9cfe96a8e071e52403a26432256eda328c05b Mon Sep 17 00:00:00 2001 From: Steven Date: Sun, 26 Mar 2023 20:21:18 -0400 Subject: [PATCH 112/233] fixed missing import for framework.nix --- machines/framework.nix | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/machines/framework.nix b/machines/framework.nix index 00abf1d..193257d 100644 --- a/machines/framework.nix +++ b/machines/framework.nix @@ -5,7 +5,6 @@ { imports = [ - ../modules/disko/luks-lvm.nix (modulesPath + "/installer/scan/not-detected.nix") ]; @@ -27,17 +26,9 @@ loader = { efi.canTouchEfiVariables = true; systemd-boot.enable = true; - # grub = { - # enable = true; - # version = 2; - # efiSupport = true; - # efiInstallAsRemovable = true; - # device = "/dev/nvme0n1" ; - # }; }; }; - disko.devices = import ../disko/luks-lvm.nix { -# lib = nixpkgs.lib; + disko.devices = import ../modules/disko/luks-lvm.nix { disks = [ "/dev/nvme0n1" ]; }; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking From f9706f25d25e00ae462233e37c85ea5839d0ecf2 Mon Sep 17 00:00:00 2001 From: Steven Date: Sun, 26 Mar 2023 20:22:22 -0400 Subject: [PATCH 113/233] fixed missing import home.nix --- users/speccon18/home.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/users/speccon18/home.nix b/users/speccon18/home.nix index 2f7f3fe..70bc7e5 100644 --- a/users/speccon18/home.nix +++ b/users/speccon18/home.nix @@ -1,4 +1,4 @@ -{ pkgs, config, ... }: { +{ pkgs, config, lib, ... }: { #Home manager configuration imports = [ ./../../home ./../../home/nixos ]; From 4fe134e5ee85ceab52df255ad4cc92a560ea1ca7 Mon Sep 17 00:00:00 2001 From: Steven Date: Sun, 26 Mar 2023 20:27:36 -0400 Subject: [PATCH 114/233] removing un-needed imports from home.nix --- users/speccon18/home.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/users/speccon18/home.nix b/users/speccon18/home.nix index 70bc7e5..96e7a82 100644 --- a/users/speccon18/home.nix +++ b/users/speccon18/home.nix @@ -1,6 +1,6 @@ { pkgs, config, lib, ... }: { #Home manager configuration -imports = [ ./../../home ./../../home/nixos ]; +#imports = [ ./../../home ./../../home/nixos ]; home = { username = "speccon18"; From 7ee82758a586ed74a70d3eb495f7cd3ca9798134 Mon Sep 17 00:00:00 2001 From: Steven Date: Sun, 26 Mar 2023 20:28:41 -0400 Subject: [PATCH 115/233] removing bad direnv opt --- users/speccon18/home.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/users/speccon18/home.nix b/users/speccon18/home.nix index 96e7a82..0225953 100644 --- a/users/speccon18/home.nix +++ b/users/speccon18/home.nix @@ -50,7 +50,7 @@ direnv = { enable = true; enableZshIntegration = lib.mkDefault true; - enableNushellIntegration = true; + #enableNushellIntegration = true; }; home-manager = { enable = true; From b38e2a0acdcd048bcf28fb7d55c3d04c52d337b6 Mon Sep 17 00:00:00 2001 From: Steven Date: Sun, 26 Mar 2023 20:29:52 -0400 Subject: [PATCH 116/233] fixed renamed nix opt in flake --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 6e2faa0..e6ac1dc 100644 --- a/flake.nix +++ b/flake.nix @@ -30,7 +30,7 @@ defaultPackage.x86_64-linux = home-manager.defaultPackage.x86_64-linux; defaultNixOptions = { - nix.autoOptimiseStore = true; + nix.settings.autoOptimiseStore = true; }; mkComputer = configurationNix: userName: extraModules: extraHomeModules: inputs.nixpkgs.lib.nixosSystem { inherit system; From cc8abdbd3c780ea85ebe49ed237650852a29faa6 Mon Sep 17 00:00:00 2001 From: Steven Date: Sun, 26 Mar 2023 20:31:25 -0400 Subject: [PATCH 117/233] damned tiny text --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index e6ac1dc..515f8c2 100644 --- a/flake.nix +++ b/flake.nix @@ -30,7 +30,7 @@ defaultPackage.x86_64-linux = home-manager.defaultPackage.x86_64-linux; defaultNixOptions = { - nix.settings.autoOptimiseStore = true; + nix.settings.auto-optimise-store = true; }; mkComputer = configurationNix: userName: extraModules: extraHomeModules: inputs.nixpkgs.lib.nixosSystem { inherit system; From 1a749c02781845901ed0616e8cdb052f77b6b33d Mon Sep 17 00:00:00 2001 From: Steven Date: Sun, 26 Mar 2023 21:05:02 -0400 Subject: [PATCH 118/233] clean up move fast break shit comments --- hosts/creatorforge.nix | 1 - hosts/openldap.nix | 22 +++++++-------- machines/framework.nix | 4 --- machines/proxmox-vm.nix | 20 -------------- modules/services/openssh.nix | 8 +++--- modules/services/pipewire.nix | 2 -- users/speccon18/home.nix | 50 +---------------------------------- 7 files changed, 13 insertions(+), 94 deletions(-) diff --git a/hosts/creatorforge.nix b/hosts/creatorforge.nix index ee56c0d..3abb401 100644 --- a/hosts/creatorforge.nix +++ b/hosts/creatorforge.nix @@ -46,7 +46,6 @@ allowedUDPPorts = []; checkReversePath = "loose"; }; - # networkmanager.enable = true; }; services.tailscale.enable = true; diff --git a/hosts/openldap.nix b/hosts/openldap.nix index e7e4fcc..64a2370 100644 --- a/hosts/openldap.nix +++ b/hosts/openldap.nix @@ -1,9 +1,7 @@ { modulesPath, config, pkgs, lib, ... }: { - imports = - [ # Include the results of the hardware scan. - # ../modules/base/hardware.nix + imports = [ (modulesPath + "/profiles/qemu-guest.nix") ../modules/services/docker.nix ../modules/users/arouzing.nix @@ -20,27 +18,25 @@ ]; networking = { - firewall.checkReversePath = "loose"; hostName = "openldap"; # Define your hostname. + firewall = { + enable = true; + allowedTCPPorts = []; + allowedUDPPorts = []; + checkReversePath = "loose"; + }; # networkmanager.enable = true; }; services.tailscale.enable = true; - time.timeZone = "America/New_York"; + time.timeZone = "America/Detroit"; - # Open ports in the firewall. - networking.firewall = { - enable = true; - allowedTCPPorts = []; - allowedUDPPorts = []; - }; ## main services system.stateVersion = "22.11"; ### testing ### - boot.initrd.availableKernelModules = - [ "ata_piix" "uhci_hcd" "virtio_pci" "sr_mod" "virtio_blk" ]; + boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "virtio_pci" "sr_mod" "virtio_blk" ]; } \ No newline at end of file diff --git a/machines/framework.nix b/machines/framework.nix index 193257d..d52bf6a 100644 --- a/machines/framework.nix +++ b/machines/framework.nix @@ -31,10 +31,6 @@ disko.devices = import ../modules/disko/luks-lvm.nix { disks = [ "/dev/nvme0n1" ]; }; - # Enables DHCP on each ethernet and wireless interface. In case of scripted networking - # (the default) this is the recommended approach. When using systemd-networkd it's - # still possible to use this option, but it's recommended to use it in conjunction - # with explicit per-interface declarations with `networking.interfaces..useDHCP`. networking.useDHCP = lib.mkDefault true; powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; diff --git a/machines/proxmox-vm.nix b/machines/proxmox-vm.nix index 4dd7e4a..27161f8 100644 --- a/machines/proxmox-vm.nix +++ b/machines/proxmox-vm.nix @@ -19,14 +19,7 @@ swapDevices = [ ]; - # Enables DHCP on each ethernet and wireless interface. In case of scripted networking - # (the default) this is the recommended approach. When using systemd-networkd it's - # still possible to use this option, but it's recommended to use it in conjunction - # with explicit per-interface declarations with `networking.interfaces..useDHCP`. networking.useDHCP = lib.mkDefault true; - # networking.interfaces.docker0.useDHCP = lib.mkDefault true; - # networking.interfaces.enp6s18.useDHCP = lib.mkDefault true; - # networking.interfaces.tailscale0.useDHCP = lib.mkDefault true; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; @@ -40,24 +33,11 @@ }; extraModulePackages = [ ]; loader = { - # systemd-boot.enable = true; grub = { - # Even if there is a separate no-fs partition ("/dev/disk/by-partlabel/no-fs" i.e. "/dev/vda2"), - # which will be used the bootloader, do not set it as loader.grub.device. - # GRUB installation fails, unless the whole disk is selected. device = "/dev/vda"; }; timeout = 0; }; }; -# fileSystems."/" = { -# device = "/dev/disk/by-label/nixos"; -# autoResize = true; -# fsType = "ext4"; -# }; -# fileSystems."/boot" = lib.mkIf hasBootPartition { -# device = "/dev/disk/by-label/ESP"; -# fsType = "vfat"; -# }; services.qemuGuest.enable = lib.mkDefault true; } \ No newline at end of file diff --git a/modules/services/openssh.nix b/modules/services/openssh.nix index abdd037..61569a6 100644 --- a/modules/services/openssh.nix +++ b/modules/services/openssh.nix @@ -4,11 +4,9 @@ services.openssh = lib.mkDefault { enable = true; openFirewall = true; - #settings = lib.mkDefault { - passwordAuthentication = false; - permitRootLogin = "no"; - kbdInteractiveAuthentication = false; - #}; + passwordAuthentication = false; + permitRootLogin = "no"; + kbdInteractiveAuthentication = false; startWhenNeeded = true; kexAlgorithms = [ "curve25519-sha256@libssh.org" ]; }; diff --git a/modules/services/pipewire.nix b/modules/services/pipewire.nix index 9481f9b..2918735 100644 --- a/modules/services/pipewire.nix +++ b/modules/services/pipewire.nix @@ -1,8 +1,6 @@ # https://nixos.wiki/wiki/PipeWire { config, pkgs, lib, ... }: { - # Remove sound.enable or turn it off if you had it set previously, it seems to cause conflicts with pipewire - #sound.enable = false; # rtkit is optional but recommended security.rtkit.enable = true; services.pipewire = { diff --git a/users/speccon18/home.nix b/users/speccon18/home.nix index 0225953..2e2d1de 100644 --- a/users/speccon18/home.nix +++ b/users/speccon18/home.nix @@ -1,7 +1,4 @@ -{ pkgs, config, lib, ... }: { -#Home manager configuration -#imports = [ ./../../home ./../../home/nixos ]; - +{ pkgs, config, lib, ... }: { home = { username = "speccon18"; homeDirectory = "/home/speccon18"; @@ -29,7 +26,6 @@ ]; }; - programs = { nushell = { enable = true; @@ -50,7 +46,6 @@ direnv = { enable = true; enableZshIntegration = lib.mkDefault true; - #enableNushellIntegration = true; }; home-manager = { enable = true; @@ -60,54 +55,11 @@ package = pkgs.vscode.fhs; enableExtensionUpdateCheck = true; enableUpdateCheck = false; - extensions = [ -# "tlahmann.alex-linter" -# "astro-build.astro-vscode" -# "aaron-bond.better-comments" -# "bungcip.better-toml" -# "antfu.browse-lite" -# "firefox-devtools.vscode-firefox-debug" -# "ms-vscode-remote.remote-containers" -# "ms-azuretools.vscode-docker" -# "editorconfig.editorconfig" -# "dbaeumer.vscode-eslint" -# "donjayamanne.githistory" -# "felipecaputo.git-project-manager" -# "github.copilot" -# "eamodio.gitlens" -# "graphql.vscode-graphql" -# "graphql.vscode-graphql-syntax" -# "oderwat.indent-rainbow" -# "skellock.just" -# "monokai.theme-monokai-pro-vscode" -# "bbenoist.nix" -# "jnoortheen.nix-ide" -# "christian-kohler.path-intellisense" -# "csstools.postcss" -# "esbenp.prettier-vscode" -# "ms-vscode-remote.remote-ssh" -# "ms-vscode-remote.remote-ssh-edit" -# "ms-vscode.remote-server" -# "ms-vscode-remote.vscode-remote-extensionpack" -# "ms-vscode.remote-explorer" -# "rust-lang.rust-analyzer" -# "rhalaly.scope-to-this" -# "svelte.svelte-vscode" -# "bradlc.vscode-tailwindcss" -# "tauri-apps.tauri-vscode" -# "antfu.vite" -# "zixuanchen.vitest-explorer" -# "vscode-icons-team.vscode-icons" -# "thenuprojectcontributors.vscode-nushell-lang" -# "ms-vscode-remote.remote-wsl" -# "redhat.vscode-yaml" - ]; }; git = { enable = true; userName = "specCon18"; userEmail = "steven.carpenter@skdevstudios.com"; - # delta.enable = true; extraConfig = { init = { defaultBranch = "main"; From ddecbcd4455a0cd5b691ce5c1d217aba252e1274 Mon Sep 17 00:00:00 2001 From: Steven Date: Sun, 26 Mar 2023 22:20:17 -0400 Subject: [PATCH 119/233] moved dhcp option and added max boot config limit --- hosts/creatorforge.nix | 3 +-- install.sh | 6 ++++++ machines/framework.nix | 11 ++++++----- 3 files changed, 13 insertions(+), 7 deletions(-) create mode 100644 install.sh diff --git a/hosts/creatorforge.nix b/hosts/creatorforge.nix index 3abb401..94ffd7c 100644 --- a/hosts/creatorforge.nix +++ b/hosts/creatorforge.nix @@ -40,6 +40,7 @@ networking = { hostName = "creatorforge"; # Define your hostname. + useDHCP = true; firewall = { enable = true; allowedTCPPorts = []; @@ -47,6 +48,4 @@ checkReversePath = "loose"; }; }; - - services.tailscale.enable = true; } \ No newline at end of file diff --git a/install.sh b/install.sh new file mode 100644 index 0000000..9876c28 --- /dev/null +++ b/install.sh @@ -0,0 +1,6 @@ +#!/bin/sh +nix-env -iA nixos.git +git clone https://git.skdevstudios.cloud/specCon18/nixos-config.git +sudo nix run github:nix-community/disko -- --mode zap_create_mount /modules/disko/luks-lvm.nix --arg disks '[ "/dev/nvme0n1" ]' +nixos-generate-config --no-filesystems --root /mnt +nixos-install --flake ./#creatorforge-framework diff --git a/machines/framework.nix b/machines/framework.nix index d52bf6a..c82590a 100644 --- a/machines/framework.nix +++ b/machines/framework.nix @@ -7,7 +7,6 @@ imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; - boot = { initrd = { availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ]; @@ -22,17 +21,19 @@ kernelModules = [ "kvm-intel" ]; kernelParams = [ "acpi_osi=linux" ]; extraModulePackages = [ ]; - # kernelPackages = lib.mkOverride pkgs.linuxPackages_latest; #pkgs.linuxKernel.kernels.linux_6_2; loader = { efi.canTouchEfiVariables = true; - systemd-boot.enable = true; + systemd-boot = { + enable = true; + configurationLimit = 10; + }; }; }; + disko.devices = import ../modules/disko/luks-lvm.nix { disks = [ "/dev/nvme0n1" ]; }; - networking.useDHCP = lib.mkDefault true; - + powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; } \ No newline at end of file From b84cb458587f55f555a4c10910f4bd3480470ce8 Mon Sep 17 00:00:00 2001 From: Steven Date: Sun, 26 Mar 2023 22:38:50 -0400 Subject: [PATCH 120/233] updated install.sh --- install.sh | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/install.sh b/install.sh index 9876c28..b909bef 100644 --- a/install.sh +++ b/install.sh @@ -1,6 +1,12 @@ #!/bin/sh + +if [ $# -ne 3 ]; then + echo "Usage: $0 Disko Partiton Scheme, Disk to Partition, Flake Name" + exit 1 +fi + nix-env -iA nixos.git git clone https://git.skdevstudios.cloud/specCon18/nixos-config.git -sudo nix run github:nix-community/disko -- --mode zap_create_mount /modules/disko/luks-lvm.nix --arg disks '[ "/dev/nvme0n1" ]' +sudo nix run github:nix-community/disko -- --mode zap_create_mount /modules/disko/"$1" --arg disks '[ "'"$2"'" ]' nixos-generate-config --no-filesystems --root /mnt -nixos-install --flake ./#creatorforge-framework +nixos-install --flake ./#"$3" From b927c5bb609bdb460cfbb13e92ed59b70ab4cb3d Mon Sep 17 00:00:00 2001 From: specCon18 Date: Mon, 27 Mar 2023 01:22:44 -0400 Subject: [PATCH 121/233] had to force dhcp option --- flake.lock | 91 ++++++++++++++++++++++++------------------ hosts/creatorforge.nix | 2 +- 2 files changed, 54 insertions(+), 39 deletions(-) diff --git a/flake.lock b/flake.lock index 4729bcc..b3d23d3 100644 --- a/flake.lock +++ b/flake.lock @@ -42,42 +42,6 @@ "type": "github" } }, - "nixlib": { - "locked": { - "lastModified": 1636849918, - "narHash": "sha256-nzUK6dPcTmNVrgTAC1EOybSMsrcx+QrVPyqRdyKLkjA=", - "owner": "nix-community", - "repo": "nixpkgs.lib", - "rev": "28a5b0557f14124608db68d3ee1f77e9329e9dd5", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixpkgs.lib", - "type": "github" - } - }, - "nixos-generators": { - "inputs": { - "nixlib": "nixlib", - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1674666581, - "narHash": "sha256-KNI2s/xrL7WOYaPJAWKBtb7cCH3335rLfsL+B+ssuGY=", - "owner": "nix-community", - "repo": "nixos-generators", - "rev": "6a5dc1d3d557ea7b5c19b15ff91955124d0400fa", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixos-generators", - "type": "github" - } - }, "nixos-hardware": { "locked": { "lastModified": 1679765008, @@ -110,13 +74,64 @@ "type": "github" } }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1679748960, + "narHash": "sha256-BP8XcYHyj1NxQi04RpyNW8e7KiXSoI+Fy1tXIK2GfdA=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "da26ae9f6ce2c9ab380c0f394488892616fc5a6a", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "release-22.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1679734080, + "narHash": "sha256-z846xfGLlon6t9lqUzlNtBOmsgQLQIZvR6Lt2dImk1M=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "dbf5322e93bcc6cfc52268367a8ad21c09d76fea", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "root": { "inputs": { "disko": "disko", "home-manager": "home-manager", - "nixos-generators": "nixos-generators", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs", + "sops-nix": "sops-nix" + } + }, + "sops-nix": { + "inputs": { + "nixpkgs": "nixpkgs_2", + "nixpkgs-stable": "nixpkgs-stable" + }, + "locked": { + "lastModified": 1679799335, + "narHash": "sha256-YrnDyftm0Mk4JLuw3sDBPNfSjk054N0dqQx8FW4JqDM=", + "owner": "Mic92", + "repo": "sops-nix", + "rev": "4740f80ca6e756915aaaa0a9c5fbb61ba09cc145", + "type": "github" + }, + "original": { + "owner": "Mic92", + "repo": "sops-nix", + "type": "github" } }, "utils": { diff --git a/hosts/creatorforge.nix b/hosts/creatorforge.nix index 94ffd7c..6b99849 100644 --- a/hosts/creatorforge.nix +++ b/hosts/creatorforge.nix @@ -40,7 +40,7 @@ networking = { hostName = "creatorforge"; # Define your hostname. - useDHCP = true; + useDHCP = lib.mkForce true; firewall = { enable = true; allowedTCPPorts = []; From d9e42f00f769d3304fad0050e711b9fb04209b44 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Mon, 27 Mar 2023 03:40:58 -0400 Subject: [PATCH 122/233] added extensions to vscode home-manager config --- users/speccon18/home.nix | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/users/speccon18/home.nix b/users/speccon18/home.nix index 2e2d1de..62a321e 100644 --- a/users/speccon18/home.nix +++ b/users/speccon18/home.nix @@ -5,6 +5,7 @@ stateVersion = "22.11"; packages = with pkgs; [ nushell + bitwarden firefox discord nodejs-18_x @@ -55,6 +56,28 @@ package = pkgs.vscode.fhs; enableExtensionUpdateCheck = true; enableUpdateCheck = false; + extensions = with pkgs.vscode-extensions; [ + bbenoist.nix + redhat.vscode-yaml + bungcip.better-toml + firefox-devtools.vscode-firefox-debug + ms-vscode-remote.remote-ssh + ms-azuretools.vscode-docker + editorconfig.editorconfig + dbaeumer.vscode-eslint + donjayamanne.githistory + github.copilot + eamodio.gitlens + graphql.vscode-graphql + oderwat.indent-rainbow + skellock.just + jnoortheen.nix-ide + christian-kohler.path-intellisense + esbenp.prettier-vscode + svelte.svelte-vscode + bradlc.vscode-tailwindcss + thenuprojectcontributors.vscode-nushell-lang + ]; }; git = { enable = true; @@ -70,7 +93,7 @@ dconf.settings = { "org/gnome/mutter" = { - experimental-features = [ "x11-randr-fractional-scaling" ]; + experimental-features = [ "x11-randr-fractional-scaling" "scale-monitor-framebuffer" ]; }; }; } From 8a48442a37126cc6e0ac389c4843bd09395682d5 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Mon, 27 Mar 2023 03:46:59 -0400 Subject: [PATCH 123/233] added age-plugin-yubikey to creatorforge packages --- hosts/creatorforge.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/creatorforge.nix b/hosts/creatorforge.nix index 6b99849..d129e44 100644 --- a/hosts/creatorforge.nix +++ b/hosts/creatorforge.nix @@ -33,6 +33,7 @@ tailscale dig rage + age-plugin-yubikey sops direnv htop From 13f561443d60e7c1e187c037bdbea2b9a65e470e Mon Sep 17 00:00:00 2001 From: specCon18 Date: Mon, 27 Mar 2023 05:06:33 -0400 Subject: [PATCH 124/233] added gnome extensions --- modules/desktop/gui/gnome.nix | 2 ++ users/speccon18/default.nix | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/desktop/gui/gnome.nix b/modules/desktop/gui/gnome.nix index 89cf1e2..6c727a5 100644 --- a/modules/desktop/gui/gnome.nix +++ b/modules/desktop/gui/gnome.nix @@ -4,6 +4,8 @@ environment.systemPackages = with pkgs; [ gnomeExtensions.dock-from-dash gnomeExtensions.pop-shell +# gnomeExtensions.gtile + gnome.gnome-tweaks ]; services = { gnome = { diff --git a/users/speccon18/default.nix b/users/speccon18/default.nix index dee8fe8..9bd5e46 100644 --- a/users/speccon18/default.nix +++ b/users/speccon18/default.nix @@ -1,7 +1,7 @@ { config, pkgs, lib, ... }: { users.users.speccon18 = { - shell = pkgs.zsh; + shell = pkgs.nushell; isNormalUser = true; initialHashedPassword = "$y$j9T$RdLBHOvUpb17egl0d16LT/$3Y2RD/tT1IZ0nkfAR13pp3IzBjvKLRgGpDPLobUeO23"; openssh.authorizedKeys.keys = [ From 107c968ba1502f6865673b144173bf8265e44ab8 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Mon, 27 Mar 2023 05:23:58 -0400 Subject: [PATCH 125/233] added rustc and cargo --- users/speccon18/home.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/users/speccon18/home.nix b/users/speccon18/home.nix index 62a321e..1dbe0ea 100644 --- a/users/speccon18/home.nix +++ b/users/speccon18/home.nix @@ -5,6 +5,8 @@ stateVersion = "22.11"; packages = with pkgs; [ nushell + cargo + rustc bitwarden firefox discord From e81c3aa4990cced0ced9a81fb5c05718c7135f0b Mon Sep 17 00:00:00 2001 From: specCon18 Date: Mon, 27 Mar 2023 20:01:22 -0400 Subject: [PATCH 126/233] updating home manager config for rust development and vs-code support --- hosts/creatorforge.nix | 18 ++++++++-------- users/speccon18/default.nix | 2 +- users/speccon18/home.nix | 41 +++++++++++++++++++++++++++++-------- 3 files changed, 43 insertions(+), 18 deletions(-) diff --git a/hosts/creatorforge.nix b/hosts/creatorforge.nix index d129e44..048c316 100644 --- a/hosts/creatorforge.nix +++ b/hosts/creatorforge.nix @@ -25,18 +25,20 @@ }; # base packages environment.systemPackages = with pkgs; [ - htop + cargo + rustc + helix bat exa - helix + uutils-coreutils + htop zsh tailscale - dig - rage - age-plugin-yubikey - sops - direnv - htop + dig #dns lookup + rage #file encryption + age-plugin-yubikey #plugin for rage to manage yubi-2fa + sops #file based secrets operations + direnv #used for development environments ]; networking = { diff --git a/users/speccon18/default.nix b/users/speccon18/default.nix index 9bd5e46..dee8fe8 100644 --- a/users/speccon18/default.nix +++ b/users/speccon18/default.nix @@ -1,7 +1,7 @@ { config, pkgs, lib, ... }: { users.users.speccon18 = { - shell = pkgs.nushell; + shell = pkgs.zsh; isNormalUser = true; initialHashedPassword = "$y$j9T$RdLBHOvUpb17egl0d16LT/$3Y2RD/tT1IZ0nkfAR13pp3IzBjvKLRgGpDPLobUeO23"; openssh.authorizedKeys.keys = [ diff --git a/users/speccon18/home.nix b/users/speccon18/home.nix index 1dbe0ea..c2daa0c 100644 --- a/users/speccon18/home.nix +++ b/users/speccon18/home.nix @@ -5,8 +5,6 @@ stateVersion = "22.11"; packages = with pkgs; [ nushell - cargo - rustc bitwarden firefox discord @@ -18,25 +16,23 @@ asciinema postman gimp - rustup neofetch vlc remmina signal-desktop starship alacritty - uutils-coreutils ]; }; programs = { nushell = { - enable = true; + enable = false; }; starship = { enable = true; enableZshIntegration = true; - enableNushellIntegration = true; + enableNushellIntegration = false; }; zsh = { enable = lib.mkDefault true; @@ -79,7 +75,30 @@ svelte.svelte-vscode bradlc.vscode-tailwindcss thenuprojectcontributors.vscode-nushell-lang + matklad.rust-analyzer ]; + userSettings = { + "workbench.colorTheme" = "Monokai Pro (Filter Octagon)"; + "workbench.startupEditor" = "none"; + "workbench.iconTheme" = "vscode-icons"; + "git.autofetch" = true; + "redhat.telemetry.enabled" = false; + "svelte.enable-ts-plugin" = true; + "window.menuBarVisibility" = "compact"; + "prettier.singleQuote" = true; + "prettier.useTabs" = true; + "prettier.bracketSpacing" = false; + "prettier.htmlWhitespaceSensitivity" = "strict"; + "typescript.updateImportsOnFileMove.enabled" = "always"; + "editor.fontFamily" = "OpenDyslexic, OpenDyslexic Mono NF"; + "rust-analyzer.inlayHints.chainingHints.enable" = false; + "rust-analyzer.inlayHints.closingBraceHints.enable" = false; + "rust-analyzer.inlayHints.renderColons" = false; + "rust-analyzer.inlayHints.parameterHints.enable" = false; + "editor.minimap.enabled" = false; + "editor.inlineSuggest.enabled" = true; + "window.zoomLevel" = 1; + }; }; git = { enable = true; @@ -93,9 +112,13 @@ }; }; - dconf.settings = { - "org/gnome/mutter" = { - experimental-features = [ "x11-randr-fractional-scaling" "scale-monitor-framebuffer" ]; + dconf = { + enable = true; + settings = { + "org/gnome/mutter" = { + experimental-features = [ "x11-randr-fractional-scaling" "scale-monitor-framebuffer" ]; }; }; + + }; } From d592e6c86030e1e6e5438f23b642e21b43f1ce32 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Mon, 27 Mar 2023 21:04:44 -0400 Subject: [PATCH 127/233] added vscode svelte snippet --- users/speccon18/home.nix | 38 +++++++++++++++++++++++++++++--------- 1 file changed, 29 insertions(+), 9 deletions(-) diff --git a/users/speccon18/home.nix b/users/speccon18/home.nix index c2daa0c..13c9abc 100644 --- a/users/speccon18/home.nix +++ b/users/speccon18/home.nix @@ -80,7 +80,7 @@ userSettings = { "workbench.colorTheme" = "Monokai Pro (Filter Octagon)"; "workbench.startupEditor" = "none"; - "workbench.iconTheme" = "vscode-icons"; + "workbench.iconTheme" = "Monokai Pro Icons"; "git.autofetch" = true; "redhat.telemetry.enabled" = false; "svelte.enable-ts-plugin" = true; @@ -99,6 +99,28 @@ "editor.inlineSuggest.enabled" = true; "window.zoomLevel" = 1; }; + languageSnippets = { + svelte = { + scaffold = { + description = "scaffold a file"; + "prefix" = "!S"; + "body" = [ + "" + "" + "
" + "" + "
" + "" + "" + ]; + }; + }; + }; + }; }; git = { enable = true; @@ -110,15 +132,13 @@ }; }; }; - }; - dconf = { - enable = true; - settings = { - "org/gnome/mutter" = { - experimental-features = [ "x11-randr-fractional-scaling" "scale-monitor-framebuffer" ]; + dconf = { + enable = true; + settings = { + "org/gnome/mutter" = { + experimental-features = [ "x11-randr-fractional-scaling" "scale-monitor-framebuffer" ]; + }; }; }; - - }; } From bf8d6b704507b488892b330d4abaaa03a82636b6 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Tue, 28 Mar 2023 16:43:51 -0400 Subject: [PATCH 128/233] added devenv support --- README.md | 4 + flake.lock | 206 +++++++++++++++++++++++++++++++++++++-- flake.nix | 14 +-- hosts/creatorforge.nix | 5 +- users/speccon18/home.nix | 41 +++----- 5 files changed, 226 insertions(+), 44 deletions(-) diff --git a/README.md b/README.md index 4811a92..ab03df0 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,8 @@ # NixOS Config My personal NixOS Configuration Repository +This Nix flake defines NixOS configurations for two machines: creatorforge-vm and creatorforge-framework. The flake imports various external repositories to provide additional functionality, such as Home Manager, sops-nix, and disko. + +Here is an overview of the flake: + [![built with nix](https://builtwithnix.org/badge.svg)](https://builtwithnix.org) diff --git a/flake.lock b/flake.lock index b3d23d3..125b9d9 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,27 @@ { "nodes": { + "devenv": { + "inputs": { + "flake-compat": "flake-compat", + "nix": "nix", + "nixpkgs": "nixpkgs", + "pre-commit-hooks": "pre-commit-hooks" + }, + "locked": { + "lastModified": 1678113758, + "narHash": "sha256-mD3SkN43b1s5CJ8Rx3l2oK3Dqgs+6Ze0FfWrdMcrrYk=", + "owner": "cachix", + "repo": "devenv", + "rev": "6455f319fc90e0be2071327093c5458f9afc61bf", + "type": "github" + }, + "original": { + "owner": "cachix", + "ref": "latest", + "repo": "devenv", + "type": "github" + } + }, "disko": { "inputs": { "nixpkgs": [ @@ -20,6 +42,59 @@ "type": "github" } }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-utils": { + "locked": { + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "gitignore": { + "inputs": { + "nixpkgs": [ + "devenv", + "pre-commit-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1660459072, + "narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "a20de23b925fd8264fd7fad6454652e142fd7f73", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -42,6 +117,46 @@ "type": "github" } }, + "lowdown-src": { + "flake": false, + "locked": { + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", + "type": "github" + }, + "original": { + "owner": "kristapsdz", + "repo": "lowdown", + "type": "github" + } + }, + "nix": { + "inputs": { + "lowdown-src": "lowdown-src", + "nixpkgs": [ + "devenv", + "nixpkgs" + ], + "nixpkgs-regression": "nixpkgs-regression" + }, + "locked": { + "lastModified": 1676545802, + "narHash": "sha256-EK4rZ+Hd5hsvXnzSzk2ikhStJnD63odF7SzsQ8CuSPU=", + "owner": "domenkozar", + "repo": "nix", + "rev": "7c91803598ffbcfe4a55c44ac6d49b2cf07a527f", + "type": "github" + }, + "original": { + "owner": "domenkozar", + "ref": "relaxed-flakes", + "repo": "nix", + "type": "github" + } + }, "nixos-hardware": { "locked": { "lastModified": 1679765008, @@ -60,11 +175,43 @@ }, "nixpkgs": { "locked": { - "lastModified": 1679710833, - "narHash": "sha256-9yKVvGX1oAnlc8vTVvN2lRH35q6ETudQbM1w9ragMRU=", + "lastModified": 1677534593, + "narHash": "sha256-PuZSAHeq4/9pP/uYH1FcagQ3nLm/DrDrvKi/xC9glvw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "83607dae4e05e1de755bbc7d7949b33fc1cfbbb9", + "rev": "3ad64d9e2d5bf80c877286102355b1625891ae9a", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-regression": { + "locked": { + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "github" + } + }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1673800717, + "narHash": "sha256-SFHraUqLSu5cC6IxTprex/nTsI81ZQAtDvlBvGDWfnA=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "2f9fd351ec37f5d479556cd48be4ca340da59b8f", "type": "github" }, "original": { @@ -74,7 +221,7 @@ "type": "github" } }, - "nixpkgs-stable": { + "nixpkgs-stable_2": { "locked": { "lastModified": 1679748960, "narHash": "sha256-BP8XcYHyj1NxQi04RpyNW8e7KiXSoI+Fy1tXIK2GfdA=", @@ -91,6 +238,22 @@ } }, "nixpkgs_2": { + "locked": { + "lastModified": 1679710833, + "narHash": "sha256-9yKVvGX1oAnlc8vTVvN2lRH35q6ETudQbM1w9ragMRU=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "83607dae4e05e1de755bbc7d7949b33fc1cfbbb9", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-22.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { "locked": { "lastModified": 1679734080, "narHash": "sha256-z846xfGLlon6t9lqUzlNtBOmsgQLQIZvR6Lt2dImk1M=", @@ -106,19 +269,48 @@ "type": "github" } }, + "pre-commit-hooks": { + "inputs": { + "flake-compat": [ + "devenv", + "flake-compat" + ], + "flake-utils": "flake-utils", + "gitignore": "gitignore", + "nixpkgs": [ + "devenv", + "nixpkgs" + ], + "nixpkgs-stable": "nixpkgs-stable" + }, + "locked": { + "lastModified": 1677160285, + "narHash": "sha256-tBzpCjMP+P3Y3nKLYvdBkXBg3KvTMo3gvi8tLQaqXVY=", + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "rev": "2bd861ab81469428d9c823ef72c4bb08372dd2c4", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "type": "github" + } + }, "root": { "inputs": { + "devenv": "devenv", "disko": "disko", "home-manager": "home-manager", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_2", "sops-nix": "sops-nix" } }, "sops-nix": { "inputs": { - "nixpkgs": "nixpkgs_2", - "nixpkgs-stable": "nixpkgs-stable" + "nixpkgs": "nixpkgs_3", + "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { "lastModified": 1679799335, diff --git a/flake.nix b/flake.nix index 515f8c2..06494e0 100644 --- a/flake.nix +++ b/flake.nix @@ -18,27 +18,27 @@ }; # For Secrets Management # sops-nix.url = github:Mic92/sops-nix; + + devenv.url = "github:cachix/devenv/latest"; }; - outputs = { self, home-manager, nixos-hardware, disko, nixpkgs, sops-nix, ... }@inputs: + outputs = { self, home-manager, nixos-hardware, disko, nixpkgs, sops-nix, devenv, ... }@inputs: let - system = "x86_64-linux"; # Set the system architecture to x86_64-linux. + system = "x86_64-linux"; pkgs = import nixpkgs { inherit system; config.allowUnfree = true; }; - - defaultPackage.x86_64-linux = home-manager.defaultPackage.x86_64-linux; + defaultPackage.system = home-manager.defaultPackage.x86_64-linux; defaultNixOptions = { nix.settings.auto-optimise-store = true; }; mkComputer = configurationNix: userName: extraModules: extraHomeModules: inputs.nixpkgs.lib.nixosSystem { inherit system; - specialArgs = { inherit system inputs pkgs nixos-hardware; }; + specialArgs = { inherit system inputs self pkgs nixos-hardware; }; modules = [ #Secrets management sops-nix.nixosModules.sops - #Machine config configurationNix defaultNixOptions @@ -56,6 +56,7 @@ imports = [ (./. + "/users/${userName}/home.nix") ] ++ extraHomeModules; }; }; + } ] ++ extraModules; }; @@ -87,4 +88,5 @@ []; #extra modules to be loaded by home-manager }; }; + } \ No newline at end of file diff --git a/hosts/creatorforge.nix b/hosts/creatorforge.nix index 048c316..eafe4e9 100644 --- a/hosts/creatorforge.nix +++ b/hosts/creatorforge.nix @@ -1,4 +1,4 @@ -{ modulesPath, config, pkgs, lib, ... }: +{ modulesPath, config, pkgs, lib, self, ... }: { system.stateVersion = "22.11"; @@ -39,7 +39,8 @@ age-plugin-yubikey #plugin for rage to manage yubi-2fa sops #file based secrets operations direnv #used for development environments - ]; + + ] ++ [self.inputs.devenv.packages.x86_64-linux.devenv]; networking = { hostName = "creatorforge"; # Define your hostname. diff --git a/users/speccon18/home.nix b/users/speccon18/home.nix index 13c9abc..1da3007 100644 --- a/users/speccon18/home.nix +++ b/users/speccon18/home.nix @@ -1,4 +1,5 @@ -{ pkgs, config, lib, ... }: { +{ pkgs, config, lib, ... }: +{ home = { username = "speccon18"; homeDirectory = "/home/speccon18"; @@ -16,6 +17,7 @@ asciinema postman gimp + obsidian neofetch vlc remmina @@ -99,28 +101,6 @@ "editor.inlineSuggest.enabled" = true; "window.zoomLevel" = 1; }; - languageSnippets = { - svelte = { - scaffold = { - description = "scaffold a file"; - "prefix" = "!S"; - "body" = [ - "" - "" - "
" - "" - "
" - "" - "" - ]; - }; - }; - }; - }; }; git = { enable = true; @@ -132,12 +112,15 @@ }; }; }; - - dconf = { - enable = true; - settings = { - "org/gnome/mutter" = { - experimental-features = [ "x11-randr-fractional-scaling" "scale-monitor-framebuffer" ]; + }; + dconf = { + enable = true; + settings = { + "org/gnome/mutter" = { + experimental-features = [ + "x11-randr-fractional-scaling" + "scale-monitor-framebuffer" + ]; }; }; }; From a7bb33bc24832654b27b00a6043879d7886f3b67 Mon Sep 17 00:00:00 2001 From: Steven Date: Tue, 28 Mar 2023 18:25:28 -0400 Subject: [PATCH 129/233] updated install.sh --- install.sh | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/install.sh b/install.sh index b909bef..f51bdb8 100644 --- a/install.sh +++ b/install.sh @@ -1,7 +1,15 @@ #!/bin/sh if [ $# -ne 3 ]; then - echo "Usage: $0 Disko Partiton Scheme, Disk to Partition, Flake Name" + echo \ +"Usage: + \$1 Disko Partiton Scheme + - This pulls from existing paritions located in ./modules/disko/ inside the repo + \$2 Disk to Partition + - This script can and will destro data, please do be careful + \$3 Target system flake + - These can be found via running nix show. +" exit 1 fi From 5810685c036475d3255170b7484de3bc7a56fbce Mon Sep 17 00:00:00 2001 From: specCon18 Date: Wed, 29 Mar 2023 00:47:10 -0400 Subject: [PATCH 130/233] added ncspot and configured alacritty --- flake.nix | 1 + users/speccon18/home.nix | 69 +++++++++++++++++++++++++++++++++++++++- 2 files changed, 69 insertions(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 06494e0..e42cb94 100644 --- a/flake.nix +++ b/flake.nix @@ -19,6 +19,7 @@ # For Secrets Management # sops-nix.url = github:Mic92/sops-nix; + # For Dev Env https://devenv.sh # devenv.url = "github:cachix/devenv/latest"; }; diff --git a/users/speccon18/home.nix b/users/speccon18/home.nix index 1da3007..be663b9 100644 --- a/users/speccon18/home.nix +++ b/users/speccon18/home.nix @@ -20,14 +20,81 @@ obsidian neofetch vlc + zellij remmina signal-desktop starship alacritty + ncspot ]; }; - + programs = { + ncspot = { + enable = true; + package = pkgs.ncspot; + }; + alacritty = { + enable = true; + settings = { + window = { + dimensions = { + columns = 120; + lines = 25; + }; + decorations = "none"; + opacity = 0.8; + title = "Alacritty"; + }; + font = { + normal = { + family = "SauceCodePro Nerd Font"; + }; + bold = { + family = "SauceCodePro Nerd Font"; + style = "bold"; + }; + size = 12; + }; + colors = { + primary = { + background = "#1d1f21"; + foreground = "#c5c8c6"; + }; + cursor = { + text = "CellBackground"; + cursor = "CellForeground"; + }; + # Normal colors + normal = { + black = "#363537"; + red = "#FC618D"; + green = "#7BD88F"; + yellow = "#FCE566"; + blue = "#FD9353"; + magenta = "#948AE3"; + cyan = "#5AD4E6"; + white = "#F7F1FF"; + }; + + # Bright colors + bright = { + black = "#69676C"; + red = "#FC618D"; + green = "#7BD88F"; + yellow = "#FCE566"; + blue = "#FD9353"; + magenta = "#948AE3"; + cyan = "#5AD4E6"; + white = "#F7F1FF"; + }; + }; + }; + }; + zellij = { + enable = true; + package = pkgs.zellij; + }; nushell = { enable = false; }; From fe291a56ab71ee6235412e8de9ba63da18ab0fdc Mon Sep 17 00:00:00 2001 From: specCon18 Date: Wed, 29 Mar 2023 17:55:05 -0400 Subject: [PATCH 131/233] fixed dconf issues fractional scaling works now --- flake.nix | 5 +++++ hosts/creatorforge.nix | 1 + users/speccon18/home.nix | 17 +++++++++++++---- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/flake.nix b/flake.nix index e42cb94..d6be26a 100644 --- a/flake.nix +++ b/flake.nix @@ -88,6 +88,11 @@ ] #extra modules to load []; #extra modules to be loaded by home-manager }; + packages.${system} = { + dconfnixdump = pkgs.writeScriptBin "deconfnixdump"'' + dconf dump / | dconf2nix > dconf.nix + ''; + }; }; } \ No newline at end of file diff --git a/hosts/creatorforge.nix b/hosts/creatorforge.nix index eafe4e9..8391f65 100644 --- a/hosts/creatorforge.nix +++ b/hosts/creatorforge.nix @@ -26,6 +26,7 @@ # base packages environment.systemPackages = with pkgs; [ cargo + dconf2nix rustc helix bat diff --git a/users/speccon18/home.nix b/users/speccon18/home.nix index be663b9..aff44e2 100644 --- a/users/speccon18/home.nix +++ b/users/speccon18/home.nix @@ -21,15 +21,22 @@ neofetch vlc zellij + zoxide remmina signal-desktop starship alacritty ncspot + bacon ]; }; programs = { + zoxide = { + enable = true; + enableZshIntegration = lib.mkDefault true; +# enableNushellIntegration = false; + }; ncspot = { enable = true; package = pkgs.ncspot; @@ -184,10 +191,12 @@ enable = true; settings = { "org/gnome/mutter" = { - experimental-features = [ - "x11-randr-fractional-scaling" - "scale-monitor-framebuffer" - ]; + attach-modal-dialogs = true; + dynamic-workspaces = true; + edge-tiling = false; + experimental-features = [ "scale-monitor-framebuffer" ]; + focus-change-on-pointer-rest = true; + workspaces-only-on-primary = true; }; }; }; From 17b548d7d5b2cf1df50b5740068ee4d6a523c6ff Mon Sep 17 00:00:00 2001 From: specCon18 Date: Thu, 30 Mar 2023 02:00:53 -0400 Subject: [PATCH 132/233] added helix config to home manager --- hosts/creatorforge.nix | 1 - users/speccon18/home.nix | 8 ++++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/hosts/creatorforge.nix b/hosts/creatorforge.nix index 8391f65..749bcb3 100644 --- a/hosts/creatorforge.nix +++ b/hosts/creatorforge.nix @@ -28,7 +28,6 @@ cargo dconf2nix rustc - helix bat exa uutils-coreutils diff --git a/users/speccon18/home.nix b/users/speccon18/home.nix index aff44e2..4dd9b15 100644 --- a/users/speccon18/home.nix +++ b/users/speccon18/home.nix @@ -5,6 +5,7 @@ homeDirectory = "/home/speccon18"; stateVersion = "22.11"; packages = with pkgs; [ + w3m nushell bitwarden firefox @@ -176,6 +177,13 @@ "window.zoomLevel" = 1; }; }; + helix = { + enable = true; + settings = { + editor.line-number = "relative"; + editor.shell = ["zsh" "-c"]; + }; + }; git = { enable = true; userName = "specCon18"; From 361de1c0b4a5bdf7748b23b5b0077343e3ecefe1 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Thu, 30 Mar 2023 16:14:49 -0400 Subject: [PATCH 133/233] added zsh aliases --- users/speccon18/home.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/users/speccon18/home.nix b/users/speccon18/home.nix index 4dd9b15..ce99bd5 100644 --- a/users/speccon18/home.nix +++ b/users/speccon18/home.nix @@ -118,6 +118,20 @@ path = "$ZDOTDIR/.zsh_history"; save = 10000000; }; + enableAutosuggestions = lib.mkDefault true; + enableCompletion = lib.mkDefault true; + enableSyntaxHighlighting = lib.mkDefault true; + shellAliases = { + ls = "exa -l"; + lsa = "exa -al"; + cd = "z"; + osrb = "sudo nixos-rebuild $1 ~/nixos-config/#creatorforge-framework"; + zel = "zellij -s"; + ns = "nix-shell"; + top = "btm"; + hx = "hx ."; + cat = "bat"; + }; }; direnv = { enable = true; From 8365624c3b816fb790e996b2071731da7f6ebae1 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Thu, 30 Mar 2023 22:14:46 -0400 Subject: [PATCH 134/233] fixed hx alias and added xplr and bottom --- users/speccon18/home.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/users/speccon18/home.nix b/users/speccon18/home.nix index ce99bd5..793d2eb 100644 --- a/users/speccon18/home.nix +++ b/users/speccon18/home.nix @@ -29,6 +29,8 @@ alacritty ncspot bacon + bottom + xplr ]; }; @@ -129,7 +131,7 @@ zel = "zellij -s"; ns = "nix-shell"; top = "btm"; - hx = "hx ."; + hx = "hx"; cat = "bat"; }; }; From b72c53f9acea9f378a29d41fec4a737eb28582e0 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Sun, 2 Apr 2023 00:10:11 -0400 Subject: [PATCH 135/233] added mime default for md --- flake.lock | 6 +++--- modules/desktop/gui/gnome.nix | 10 +++++++--- users/speccon18/home.nix | 7 ++++++- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/flake.lock b/flake.lock index 125b9d9..3204e58 100644 --- a/flake.lock +++ b/flake.lock @@ -239,11 +239,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1679710833, - "narHash": "sha256-9yKVvGX1oAnlc8vTVvN2lRH35q6ETudQbM1w9ragMRU=", + "lastModified": 1680122840, + "narHash": "sha256-zCQ/9iFHzCW5JMYkkHMwgK1/1/kTMgCMHq4THPINpAU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "83607dae4e05e1de755bbc7d7949b33fc1cfbbb9", + "rev": "a575c243c23e2851b78c00e9fa245232926ec32f", "type": "github" }, "original": { diff --git a/modules/desktop/gui/gnome.nix b/modules/desktop/gui/gnome.nix index 6c727a5..382d625 100644 --- a/modules/desktop/gui/gnome.nix +++ b/modules/desktop/gui/gnome.nix @@ -4,7 +4,6 @@ environment.systemPackages = with pkgs; [ gnomeExtensions.dock-from-dash gnomeExtensions.pop-shell -# gnomeExtensions.gtile gnome.gnome-tweaks ]; services = { @@ -25,7 +24,7 @@ defaultSession = lib.mkDefault "gnome"; }; desktopManager = { - xterm.enable = lib.mkForce false; + xterm.enable = false; gnome.enable = lib.mkDefault true; }; }; @@ -35,6 +34,11 @@ xwayland.enable = lib.mkDefault true; }; - xdg.portal = { enable = lib.mkDefault true; }; + xdg= { + portal = { enable = lib.mkDefault true; }; + mime.defaultApplications = { + "text/markdown" = "hx" + }; + }; } diff --git a/users/speccon18/home.nix b/users/speccon18/home.nix index 793d2eb..be6a026 100644 --- a/users/speccon18/home.nix +++ b/users/speccon18/home.nix @@ -5,6 +5,7 @@ homeDirectory = "/home/speccon18"; stateVersion = "22.11"; packages = with pkgs; [ + mdbook w3m nushell bitwarden @@ -31,6 +32,7 @@ bacon bottom xplr + broot ]; }; @@ -127,13 +129,16 @@ ls = "exa -l"; lsa = "exa -al"; cd = "z"; - osrb = "sudo nixos-rebuild $1 ~/nixos-config/#creatorforge-framework"; + osrb = "sudo nixos-rebuild $1 --flake ~/code/nix/nixos-config/#creatorforge-framework"; zel = "zellij -s"; ns = "nix-shell"; top = "btm"; hx = "hx"; cat = "bat"; }; + localVariables = { + EDITOR="hx"; + }; }; direnv = { enable = true; From 9b3111d53a2a21fb61cbfaae4f1d3d07b4b4234f Mon Sep 17 00:00:00 2001 From: specCon18 Date: Sat, 15 Apr 2023 02:55:20 -0400 Subject: [PATCH 136/233] added helix theme --- users/speccon18/home.nix | 85 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) diff --git a/users/speccon18/home.nix b/users/speccon18/home.nix index be6a026..0161346 100644 --- a/users/speccon18/home.nix +++ b/users/speccon18/home.nix @@ -204,6 +204,91 @@ editor.line-number = "relative"; editor.shell = ["zsh" "-c"]; }; + themes = { + monokai_pro_octagon.toml = let + red = "#ff657a"; + orange = "#ff9b5e"; + yellow = "#ffd76d"; + green = "#bad761"; + blue = "#9cd1bb"; + purple = "#c39ac9"; + base0 = "#161821"; + base1 = "#1e1f2b"; + base2 = "#282a3a"; + base3 = "#3a3d4b"; + base4 = "#535763"; + base5 = "#696d77"; + base6 = "#767b81"; + base7 = "#b2b9bd"; + base8 = "#eaf2f1"; + base8x0c = "#303342"; + in { + "ui.linenr.selected" = { bg = base3; }; + "ui.text.focus" = { fg = yellow; modifiers = ["bold"]; }; + "ui.menu" = { fg = base8; bg = base3; }; + "ui.menu.selected" = { fg = base2; bg = yellow; }; + "ui.virtual.whitespace" = base5; + "ui.virtual.ruler" = { bg = base1; }; + "info" = base8; + "hint" = base8; + "ui.background" = { bg = base2; }; + "ui.statusline.inactive" = { fg = base8; bg = base8x0c; }; + "ui.statusline" = { fg = base8; bg = base4; }; + "ui.statusline.normal" = { fg = base4; bg = blue; }; + "ui.statusline.insert" = { fg = base4; bg = green; }; + "ui.statusline.select" = { fg = base4; bg = purple; }; + "ui.popup" = { bg = base3; }; + "ui.window" = { bg = base3; }; + "ui.help" = { fg = base8; bg = base3; }; + "ui.selection" = { bg = base4; }; + "ui.cursor.match" = { bg = base4; }; + "ui.cursorline" = { bg = base1; }; + "comment" = { fg = base5; modifiers = ["italic"]; }; + "ui.linenr" = { fg = base5; }; + "ui.cursor.primary" = { fg = base7; modifiers = ["reversed"]; }; + "attribute" = blue; + "variable" = base8; + "constant" = orange; + "variable.builtin" = red; + "constant.builtin" = red; + "namespace" = base8; + "ui.text" = { fg = base8; }; + "punctuation" = base6; + "type" = green; + "type.builtin" = { fg = red; }; + "label" = base8; + "constructor" = blue; + "function" = green; + "function.macro" = { fg = blue; }; + "function.builtin" = { fg = "cyan"; }; + "operator" = red; + "variable.other.member" = base8; + "keyword" = { fg = red; }; + "keyword.directive" = blue; + "variable.parameter" = "#f59762"; + "error" = red; + "special" = "#f59762"; + "module" = "#f59762"; + "warning" = "orange"; + "constant.character.escape" = { fg = base8; }; + "string" = yellow; + "constant.numeric" = purple; + "diff.plus" = green; + "diff.delta" = "orange"; + "diff.minus" = red; + "diagnostic.warning" = { underline = { color = "orange"; style = "curl"; }; }; + "diagnostic.error" = { underline = { color = red; style = "curl"; }; }; + "diagnostic.info" = { underline = { color = base8; style = "curl"; }; }; + "diagnostic.hint" = { underline = { color = base8; style = "curl"; }; }; + "markup.heading" = green; + "markup.bold" = { fg = "orange"; modifiers = ["bold"]; }; + "markup.italic" = { fg = "orange"; modifiers = ["italic"]; }; + "markup.strikethrough" = { modifiers = ["crossed_out"]; }; + "markup.link.url" = { fg = "orange"; modifiers = ["underlined"]; }; + "markup.link.text" = yellow; + "markup.quote" = green; + }; + }; }; git = { enable = true; From 846b7482a9ada946792c5a349278c374229fe584 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Sat, 15 Apr 2023 02:56:27 -0400 Subject: [PATCH 137/233] added helix theme --- hosts/creatorforge.nix | 9 ++++++++- modules/desktop/gui/gnome.nix | 2 +- users/speccon18/home.nix | 7 +++++-- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/hosts/creatorforge.nix b/hosts/creatorforge.nix index 749bcb3..0a5f6ea 100644 --- a/hosts/creatorforge.nix +++ b/hosts/creatorforge.nix @@ -26,10 +26,17 @@ # base packages environment.systemPackages = with pkgs; [ cargo + feh + unrar + unzip + gzip + p7zip + bzip2 dconf2nix rustc bat exa + mdbook uutils-coreutils htop zsh @@ -39,7 +46,7 @@ age-plugin-yubikey #plugin for rage to manage yubi-2fa sops #file based secrets operations direnv #used for development environments - + python39 ] ++ [self.inputs.devenv.packages.x86_64-linux.devenv]; networking = { diff --git a/modules/desktop/gui/gnome.nix b/modules/desktop/gui/gnome.nix index 382d625..0c051ff 100644 --- a/modules/desktop/gui/gnome.nix +++ b/modules/desktop/gui/gnome.nix @@ -37,7 +37,7 @@ xdg= { portal = { enable = lib.mkDefault true; }; mime.defaultApplications = { - "text/markdown" = "hx" + "text/markdown" = "hx"; }; }; diff --git a/users/speccon18/home.nix b/users/speccon18/home.nix index 0161346..364ace7 100644 --- a/users/speccon18/home.nix +++ b/users/speccon18/home.nix @@ -5,7 +5,9 @@ homeDirectory = "/home/speccon18"; stateVersion = "22.11"; packages = with pkgs; [ - mdbook + freecad + prismlauncher + calibre w3m nushell bitwarden @@ -135,6 +137,7 @@ top = "btm"; hx = "hx"; cat = "bat"; + extract = "~/.config/zsh/extract.sh"; }; localVariables = { EDITOR="hx"; @@ -223,7 +226,7 @@ base8 = "#eaf2f1"; base8x0c = "#303342"; in { - "ui.linenr.selected" = { bg = base3; }; + "ui.linenr.selected" = { bg = base3; }; "ui.text.focus" = { fg = yellow; modifiers = ["bold"]; }; "ui.menu" = { fg = base8; bg = base3; }; "ui.menu.selected" = { fg = base2; bg = yellow; }; From 237a44e74a382e40644d5b663c294ae6acc86297 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Sat, 15 Apr 2023 03:01:58 -0400 Subject: [PATCH 138/233] added helix theme: working --- users/speccon18/home.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/users/speccon18/home.nix b/users/speccon18/home.nix index 364ace7..57057ec 100644 --- a/users/speccon18/home.nix +++ b/users/speccon18/home.nix @@ -204,11 +204,12 @@ helix = { enable = true; settings = { + theme = "monokai_pro_octagon"; editor.line-number = "relative"; editor.shell = ["zsh" "-c"]; }; themes = { - monokai_pro_octagon.toml = let + monokai_pro_octagon = let red = "#ff657a"; orange = "#ff9b5e"; yellow = "#ffd76d"; From e3c0ddd5360828cc18a1cba9b55949798cb478ec Mon Sep 17 00:00:00 2001 From: specCon18 Date: Tue, 18 Apr 2023 00:06:24 -0400 Subject: [PATCH 139/233] added inkscape --- hosts/creatorforge.nix | 1 + modules/desktop/gui/gnome.nix | 1 + users/speccon18/home.nix | 2 ++ 3 files changed, 4 insertions(+) diff --git a/hosts/creatorforge.nix b/hosts/creatorforge.nix index 0a5f6ea..b9541bf 100644 --- a/hosts/creatorforge.nix +++ b/hosts/creatorforge.nix @@ -28,6 +28,7 @@ cargo feh unrar + niv unzip gzip p7zip diff --git a/modules/desktop/gui/gnome.nix b/modules/desktop/gui/gnome.nix index 0c051ff..7474831 100644 --- a/modules/desktop/gui/gnome.nix +++ b/modules/desktop/gui/gnome.nix @@ -5,6 +5,7 @@ gnomeExtensions.dock-from-dash gnomeExtensions.pop-shell gnome.gnome-tweaks + gnome-extension-manager ]; services = { gnome = { diff --git a/users/speccon18/home.nix b/users/speccon18/home.nix index 57057ec..b1678d5 100644 --- a/users/speccon18/home.nix +++ b/users/speccon18/home.nix @@ -5,6 +5,7 @@ homeDirectory = "/home/speccon18"; stateVersion = "22.11"; packages = with pkgs; [ + inkscape freecad prismlauncher calibre @@ -29,6 +30,7 @@ remmina signal-desktop starship + just alacritty ncspot bacon From 28cb330858fca9ecdb1046e157cbc0bba6504412 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Tue, 18 Apr 2023 00:06:36 -0400 Subject: [PATCH 140/233] added inkscape --- Logo.svg | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 Logo.svg diff --git a/Logo.svg b/Logo.svg new file mode 100644 index 0000000..ea046f3 --- /dev/null +++ b/Logo.svg @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + From da7cafce818af09eeccab37afeef61f5eb4897c6 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Tue, 18 Apr 2023 00:06:47 -0400 Subject: [PATCH 141/233] added inkscape --- Logo.svg | 71 -------------------------------------------------------- 1 file changed, 71 deletions(-) delete mode 100644 Logo.svg diff --git a/Logo.svg b/Logo.svg deleted file mode 100644 index ea046f3..0000000 --- a/Logo.svg +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - From 70fc55512c58f80c7cf66b2ef16cff586790a178 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Tue, 18 Apr 2023 00:12:01 -0400 Subject: [PATCH 142/233] added inkscape --- hosts/creatorforge.nix | 1 - users/speccon18/home.nix | 90 +--------------------------------------- 2 files changed, 1 insertion(+), 90 deletions(-) diff --git a/hosts/creatorforge.nix b/hosts/creatorforge.nix index b9541bf..0a5f6ea 100644 --- a/hosts/creatorforge.nix +++ b/hosts/creatorforge.nix @@ -28,7 +28,6 @@ cargo feh unrar - niv unzip gzip p7zip diff --git a/users/speccon18/home.nix b/users/speccon18/home.nix index b1678d5..bc6d962 100644 --- a/users/speccon18/home.nix +++ b/users/speccon18/home.nix @@ -5,10 +5,7 @@ homeDirectory = "/home/speccon18"; stateVersion = "22.11"; packages = with pkgs; [ - inkscape - freecad - prismlauncher - calibre + mdbook w3m nushell bitwarden @@ -210,91 +207,6 @@ editor.line-number = "relative"; editor.shell = ["zsh" "-c"]; }; - themes = { - monokai_pro_octagon = let - red = "#ff657a"; - orange = "#ff9b5e"; - yellow = "#ffd76d"; - green = "#bad761"; - blue = "#9cd1bb"; - purple = "#c39ac9"; - base0 = "#161821"; - base1 = "#1e1f2b"; - base2 = "#282a3a"; - base3 = "#3a3d4b"; - base4 = "#535763"; - base5 = "#696d77"; - base6 = "#767b81"; - base7 = "#b2b9bd"; - base8 = "#eaf2f1"; - base8x0c = "#303342"; - in { - "ui.linenr.selected" = { bg = base3; }; - "ui.text.focus" = { fg = yellow; modifiers = ["bold"]; }; - "ui.menu" = { fg = base8; bg = base3; }; - "ui.menu.selected" = { fg = base2; bg = yellow; }; - "ui.virtual.whitespace" = base5; - "ui.virtual.ruler" = { bg = base1; }; - "info" = base8; - "hint" = base8; - "ui.background" = { bg = base2; }; - "ui.statusline.inactive" = { fg = base8; bg = base8x0c; }; - "ui.statusline" = { fg = base8; bg = base4; }; - "ui.statusline.normal" = { fg = base4; bg = blue; }; - "ui.statusline.insert" = { fg = base4; bg = green; }; - "ui.statusline.select" = { fg = base4; bg = purple; }; - "ui.popup" = { bg = base3; }; - "ui.window" = { bg = base3; }; - "ui.help" = { fg = base8; bg = base3; }; - "ui.selection" = { bg = base4; }; - "ui.cursor.match" = { bg = base4; }; - "ui.cursorline" = { bg = base1; }; - "comment" = { fg = base5; modifiers = ["italic"]; }; - "ui.linenr" = { fg = base5; }; - "ui.cursor.primary" = { fg = base7; modifiers = ["reversed"]; }; - "attribute" = blue; - "variable" = base8; - "constant" = orange; - "variable.builtin" = red; - "constant.builtin" = red; - "namespace" = base8; - "ui.text" = { fg = base8; }; - "punctuation" = base6; - "type" = green; - "type.builtin" = { fg = red; }; - "label" = base8; - "constructor" = blue; - "function" = green; - "function.macro" = { fg = blue; }; - "function.builtin" = { fg = "cyan"; }; - "operator" = red; - "variable.other.member" = base8; - "keyword" = { fg = red; }; - "keyword.directive" = blue; - "variable.parameter" = "#f59762"; - "error" = red; - "special" = "#f59762"; - "module" = "#f59762"; - "warning" = "orange"; - "constant.character.escape" = { fg = base8; }; - "string" = yellow; - "constant.numeric" = purple; - "diff.plus" = green; - "diff.delta" = "orange"; - "diff.minus" = red; - "diagnostic.warning" = { underline = { color = "orange"; style = "curl"; }; }; - "diagnostic.error" = { underline = { color = red; style = "curl"; }; }; - "diagnostic.info" = { underline = { color = base8; style = "curl"; }; }; - "diagnostic.hint" = { underline = { color = base8; style = "curl"; }; }; - "markup.heading" = green; - "markup.bold" = { fg = "orange"; modifiers = ["bold"]; }; - "markup.italic" = { fg = "orange"; modifiers = ["italic"]; }; - "markup.strikethrough" = { modifiers = ["crossed_out"]; }; - "markup.link.url" = { fg = "orange"; modifiers = ["underlined"]; }; - "markup.link.text" = yellow; - "markup.quote" = green; - }; - }; }; git = { enable = true; From 08e8a1ef8c0ce0c70b621973da4afab8f954cf85 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Tue, 18 Apr 2023 00:20:46 -0400 Subject: [PATCH 143/233] setup hx transparent bg --- users/speccon18/home.nix | 90 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 89 insertions(+), 1 deletion(-) diff --git a/users/speccon18/home.nix b/users/speccon18/home.nix index bc6d962..03ff77c 100644 --- a/users/speccon18/home.nix +++ b/users/speccon18/home.nix @@ -5,7 +5,10 @@ homeDirectory = "/home/speccon18"; stateVersion = "22.11"; packages = with pkgs; [ - mdbook + inkscape + freecad + prismlauncher + calibre w3m nushell bitwarden @@ -207,6 +210,91 @@ editor.line-number = "relative"; editor.shell = ["zsh" "-c"]; }; + themes = { + monokai_pro_octagon = let + red = "#ff657a"; + orange = "#ff9b5e"; + yellow = "#ffd76d"; + green = "#bad761"; + blue = "#9cd1bb"; + purple = "#c39ac9"; + base0 = "#161821"; + base1 = "#1e1f2b"; + base2 = "#282a3a"; + base3 = "#3a3d4b"; + base4 = "#535763"; + base5 = "#696d77"; + base6 = "#767b81"; + base7 = "#b2b9bd"; + base8 = "#eaf2f1"; + base8x0c = "#303342"; + in { + "ui.linenr.selected" = { bg = base3; }; + "ui.text.focus" = { fg = yellow; modifiers = ["bold"]; }; + "ui.menu" = { fg = base8; bg = base3; }; + "ui.menu.selected" = { fg = base2; bg = yellow; }; + "ui.virtual.whitespace" = base5; + "ui.virtual.ruler" = { bg = base1; }; + "info" = base8; + "hint" = base8; + "ui.background" = {}; + "ui.statusline.inactive" = { fg = base8; bg = base8x0c; }; + "ui.statusline" = { fg = base8; bg = base4; }; + "ui.statusline.normal" = { fg = base4; bg = blue; }; + "ui.statusline.insert" = { fg = base4; bg = green; }; + "ui.statusline.select" = { fg = base4; bg = purple; }; + "ui.popup" = { bg = base3; }; + "ui.window" = { bg = base3; }; + "ui.help" = { fg = base8; bg = base3; }; + "ui.selection" = { bg = base4; }; + "ui.cursor.match" = { bg = base4; }; + "ui.cursorline" = { bg = base1; }; + "comment" = { fg = base5; modifiers = ["italic"]; }; + "ui.linenr" = { fg = base5; }; + "ui.cursor.primary" = { fg = base7; modifiers = ["reversed"]; }; + "attribute" = blue; + "variable" = base8; + "constant" = orange; + "variable.builtin" = red; + "constant.builtin" = red; + "namespace" = base8; + "ui.text" = { fg = base8; }; + "punctuation" = base6; + "type" = green; + "type.builtin" = { fg = red; }; + "label" = base8; + "constructor" = blue; + "function" = green; + "function.macro" = { fg = blue; }; + "function.builtin" = { fg = "cyan"; }; + "operator" = red; + "variable.other.member" = base8; + "keyword" = { fg = red; }; + "keyword.directive" = blue; + "variable.parameter" = "#f59762"; + "error" = red; + "special" = "#f59762"; + "module" = "#f59762"; + "warning" = "orange"; + "constant.character.escape" = { fg = base8; }; + "string" = yellow; + "constant.numeric" = purple; + "diff.plus" = green; + "diff.delta" = "orange"; + "diff.minus" = red; + "diagnostic.warning" = { underline = { color = "orange"; style = "curl"; }; }; + "diagnostic.error" = { underline = { color = red; style = "curl"; }; }; + "diagnostic.info" = { underline = { color = base8; style = "curl"; }; }; + "diagnostic.hint" = { underline = { color = base8; style = "curl"; }; }; + "markup.heading" = green; + "markup.bold" = { fg = "orange"; modifiers = ["bold"]; }; + "markup.italic" = { fg = "orange"; modifiers = ["italic"]; }; + "markup.strikethrough" = { modifiers = ["crossed_out"]; }; + "markup.link.url" = { fg = "orange"; modifiers = ["underlined"]; }; + "markup.link.text" = yellow; + "markup.quote" = green; + }; + }; }; git = { enable = true; From cdbed49c5c512fecaa67c3fe72d9b25d415db64a Mon Sep 17 00:00:00 2001 From: specCon18 Date: Tue, 18 Apr 2023 01:14:02 -0400 Subject: [PATCH 144/233] installed tree --- hosts/creatorforge.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/creatorforge.nix b/hosts/creatorforge.nix index 0a5f6ea..ddb0b02 100644 --- a/hosts/creatorforge.nix +++ b/hosts/creatorforge.nix @@ -25,6 +25,7 @@ }; # base packages environment.systemPackages = with pkgs; [ + tree cargo feh unrar From 0d0acb828009b0aabf014b8308bf6697ebcd5ae8 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Tue, 18 Apr 2023 01:16:26 -0400 Subject: [PATCH 145/233] installed ripgrep --- hosts/creatorforge.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/creatorforge.nix b/hosts/creatorforge.nix index ddb0b02..7446211 100644 --- a/hosts/creatorforge.nix +++ b/hosts/creatorforge.nix @@ -25,6 +25,7 @@ }; # base packages environment.systemPackages = with pkgs; [ + ripgrep tree cargo feh From 5c860a838859e7c96268a14b28ed90765920c258 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Tue, 18 Apr 2023 01:29:01 -0400 Subject: [PATCH 146/233] rearranged modules/ --- flake.nix | 12 ++++++------ machines/framework.nix | 2 +- modules/home-manager/helix.nix | 0 .../gui => system/desktop-environments}/gnome.nix | 0 .../gui => system/desktop-environments}/wayfire.nix | 0 modules/{ => system}/disko/luks-lvm.nix | 0 modules/{ => system}/services/docker.nix | 0 modules/{ => system}/services/openssh.nix | 0 modules/{ => system}/services/pipewire.nix | 0 9 files changed, 7 insertions(+), 7 deletions(-) create mode 100644 modules/home-manager/helix.nix rename modules/{desktop/gui => system/desktop-environments}/gnome.nix (100%) rename modules/{desktop/gui => system/desktop-environments}/wayfire.nix (100%) rename modules/{ => system}/disko/luks-lvm.nix (100%) rename modules/{ => system}/services/docker.nix (100%) rename modules/{ => system}/services/openssh.nix (100%) rename modules/{ => system}/services/pipewire.nix (100%) diff --git a/flake.nix b/flake.nix index d6be26a..c79c10e 100644 --- a/flake.nix +++ b/flake.nix @@ -69,9 +69,9 @@ "speccon18" #default user [ ./hosts/creatorforge.nix - ./modules/services/docker.nix - ./modules/services/openssh.nix - ./modules/desktop/gui/gnome.nix + ./modules/system/services/docker.nix + ./modules/system/services/openssh.nix + ./modules/system/desktop-environments/gnome.nix ] #extra modules to load []; #extra modules to be loaded by home-manager creatorforge-framework = mkComputer @@ -81,9 +81,9 @@ nixos-hardware.nixosModules.framework-12th-gen-intel disko.nixosModules.disko ./hosts/creatorforge.nix - ./modules/services/docker.nix - ./modules/services/openssh.nix - ./modules/desktop/gui/gnome.nix + ./modules/system/services/docker.nix + ./modules/system/services/openssh.nix + ./modules/system/desktop-environments/gnome.nix ] #extra modules to load []; #extra modules to be loaded by home-manager diff --git a/machines/framework.nix b/machines/framework.nix index c82590a..d466ed3 100644 --- a/machines/framework.nix +++ b/machines/framework.nix @@ -30,7 +30,7 @@ }; }; - disko.devices = import ../modules/disko/luks-lvm.nix { + disko.devices = import ../modules/system/disko/luks-lvm.nix { disks = [ "/dev/nvme0n1" ]; }; diff --git a/modules/home-manager/helix.nix b/modules/home-manager/helix.nix new file mode 100644 index 0000000..e69de29 diff --git a/modules/desktop/gui/gnome.nix b/modules/system/desktop-environments/gnome.nix similarity index 100% rename from modules/desktop/gui/gnome.nix rename to modules/system/desktop-environments/gnome.nix diff --git a/modules/desktop/gui/wayfire.nix b/modules/system/desktop-environments/wayfire.nix similarity index 100% rename from modules/desktop/gui/wayfire.nix rename to modules/system/desktop-environments/wayfire.nix diff --git a/modules/disko/luks-lvm.nix b/modules/system/disko/luks-lvm.nix similarity index 100% rename from modules/disko/luks-lvm.nix rename to modules/system/disko/luks-lvm.nix diff --git a/modules/services/docker.nix b/modules/system/services/docker.nix similarity index 100% rename from modules/services/docker.nix rename to modules/system/services/docker.nix diff --git a/modules/services/openssh.nix b/modules/system/services/openssh.nix similarity index 100% rename from modules/services/openssh.nix rename to modules/system/services/openssh.nix diff --git a/modules/services/pipewire.nix b/modules/system/services/pipewire.nix similarity index 100% rename from modules/services/pipewire.nix rename to modules/system/services/pipewire.nix From 37784af8b088736c5dd9748ade4d2b1dee2b017e Mon Sep 17 00:00:00 2001 From: specCon18 Date: Tue, 18 Apr 2023 02:00:09 -0400 Subject: [PATCH 147/233] moved helix hm config to new module --- flake.nix | 4 +- modules/home-manager/helix.nix | 81 +++++++++++++++++++++++++++++ users/speccon18/home.nix | 94 ---------------------------------- 3 files changed, 84 insertions(+), 95 deletions(-) diff --git a/flake.nix b/flake.nix index c79c10e..6773231 100644 --- a/flake.nix +++ b/flake.nix @@ -86,7 +86,9 @@ ./modules/system/desktop-environments/gnome.nix ] #extra modules to load - []; #extra modules to be loaded by home-manager + [ + ./modules/home-manager/helix.nix + ]; #extra modules to be loaded by home-manager }; packages.${system} = { dconfnixdump = pkgs.writeScriptBin "deconfnixdump"'' diff --git a/modules/home-manager/helix.nix b/modules/home-manager/helix.nix index e69de29..b709d72 100644 --- a/modules/home-manager/helix.nix +++ b/modules/home-manager/helix.nix @@ -0,0 +1,81 @@ +{ pkgs, config, lib, ...}: +{ + programs.helix = { + enable = true; + settings = { + theme = "monokai_pro_octagon"; + editor.line-number = "relative"; + editor.shell = ["zsh" "-c"]; + }; + themes = { + monokai_pro_octagon = let + red = "#ff657a"; + orange = "#ff9b5e"; + yellow = "#ffd76d"; + green = "#bad761"; + blue = "#9cd1bb"; + purple = "#c39ac9"; + base0 = "#161821"; + base1 = "#1e1f2b"; + base2 = "#282a3a"; + base3 = "#3a3d4b"; + base4 = "#535763"; + base5 = "#696d77"; + base6 = "#767b81"; + base7 = "#b2b9bd"; + base8 = "#eaf2f1"; + base8x0c = "#303342"; + in { + "ui.linenr.selected" = { bg = base3; }; "ui.text.focus" = { fg = yellow; modifiers = ["bold"]; }; "ui.menu" = { fg = base8; bg = base3; }; "ui.menu.selected" = { fg = base2; bg = yellow; }; "ui.virtual.whitespace" = base5; "ui.virtual.ruler" = { bg = base1; }; "info" = base8; "hint" = base8; "ui.background" = {}; "ui.statusline.inactive" = { fg = base8; bg = base8x0c; }; "ui.statusline" = { fg = base8; bg = base4; }; "ui.statusline.normal" = { fg = base4; bg = blue; }; "ui.statusline.insert" = { fg = base4; bg = green; }; "ui.statusline.select" = { fg = base4; bg = purple; }; "ui.popup" = { bg = base3; }; "ui.window" = { bg = base3; }; + "ui.help" = { fg = base8; bg = base3; }; + "ui.selection" = { bg = base4; }; + "ui.cursor.match" = { bg = base4; }; + "ui.cursorline" = { bg = base1; }; + "comment" = { fg = base5; modifiers = ["italic"]; }; + "ui.linenr" = { fg = base5; }; + "ui.cursor.primary" = { fg = base7; modifiers = ["reversed"]; }; + "attribute" = blue; + "variable" = base8; + "constant" = orange; + "variable.builtin" = red; + "constant.builtin" = red; + "namespace" = base8; + "ui.text" = { fg = base8; }; + "punctuation" = base6; + "type" = green; + "type.builtin" = { fg = red; }; + "label" = base8; + "constructor" = blue; + "function" = green; + "function.macro" = { fg = blue; }; + "function.builtin" = { fg = "cyan"; }; + "operator" = red; + "variable.other.member" = base8; + "keyword" = { fg = red; }; + "keyword.directive" = blue; + "variable.parameter" = "#f59762"; + "error" = red; + "special" = "#f59762"; + "module" = "#f59762"; + "warning" = "orange"; + "constant.character.escape" = { fg = base8; }; + "string" = yellow; + "constant.numeric" = purple; + "diff.plus" = green; + "diff.delta" = "orange"; + "diff.minus" = red; + "diagnostic.warning" = { underline = { color = "orange"; style = "curl"; }; }; + "diagnostic.error" = { underline = { color = red; style = "curl"; }; }; + "diagnostic.info" = { underline = { color = base8; style = "curl"; }; }; + "diagnostic.hint" = { underline = { color = base8; style = "curl"; }; }; + "markup.heading" = green; + "markup.bold" = { fg = "orange"; modifiers = ["bold"]; }; + "markup.italic" = { fg = "orange"; modifiers = ["italic"]; }; + "markup.strikethrough" = { modifiers = ["crossed_out"]; }; + "markup.link.url" = { fg = "orange"; modifiers = ["underlined"]; }; + "markup.link.text" = yellow; + "markup.quote" = green; + }; + }; + }; +} \ No newline at end of file diff --git a/users/speccon18/home.nix b/users/speccon18/home.nix index 03ff77c..fee3297 100644 --- a/users/speccon18/home.nix +++ b/users/speccon18/home.nix @@ -32,7 +32,6 @@ starship just alacritty - ncspot bacon bottom xplr @@ -203,99 +202,6 @@ "window.zoomLevel" = 1; }; }; - helix = { - enable = true; - settings = { - theme = "monokai_pro_octagon"; - editor.line-number = "relative"; - editor.shell = ["zsh" "-c"]; - }; - themes = { - monokai_pro_octagon = let - red = "#ff657a"; - orange = "#ff9b5e"; - yellow = "#ffd76d"; - green = "#bad761"; - blue = "#9cd1bb"; - purple = "#c39ac9"; - base0 = "#161821"; - base1 = "#1e1f2b"; - base2 = "#282a3a"; - base3 = "#3a3d4b"; - base4 = "#535763"; - base5 = "#696d77"; - base6 = "#767b81"; - base7 = "#b2b9bd"; - base8 = "#eaf2f1"; - base8x0c = "#303342"; - in { - "ui.linenr.selected" = { bg = base3; }; - "ui.text.focus" = { fg = yellow; modifiers = ["bold"]; }; - "ui.menu" = { fg = base8; bg = base3; }; - "ui.menu.selected" = { fg = base2; bg = yellow; }; - "ui.virtual.whitespace" = base5; - "ui.virtual.ruler" = { bg = base1; }; - "info" = base8; - "hint" = base8; - "ui.background" = {}; - "ui.statusline.inactive" = { fg = base8; bg = base8x0c; }; - "ui.statusline" = { fg = base8; bg = base4; }; - "ui.statusline.normal" = { fg = base4; bg = blue; }; - "ui.statusline.insert" = { fg = base4; bg = green; }; - "ui.statusline.select" = { fg = base4; bg = purple; }; - "ui.popup" = { bg = base3; }; - "ui.window" = { bg = base3; }; - "ui.help" = { fg = base8; bg = base3; }; - "ui.selection" = { bg = base4; }; - "ui.cursor.match" = { bg = base4; }; - "ui.cursorline" = { bg = base1; }; - "comment" = { fg = base5; modifiers = ["italic"]; }; - "ui.linenr" = { fg = base5; }; - "ui.cursor.primary" = { fg = base7; modifiers = ["reversed"]; }; - "attribute" = blue; - "variable" = base8; - "constant" = orange; - "variable.builtin" = red; - "constant.builtin" = red; - "namespace" = base8; - "ui.text" = { fg = base8; }; - "punctuation" = base6; - "type" = green; - "type.builtin" = { fg = red; }; - "label" = base8; - "constructor" = blue; - "function" = green; - "function.macro" = { fg = blue; }; - "function.builtin" = { fg = "cyan"; }; - "operator" = red; - "variable.other.member" = base8; - "keyword" = { fg = red; }; - "keyword.directive" = blue; - "variable.parameter" = "#f59762"; - "error" = red; - "special" = "#f59762"; - "module" = "#f59762"; - "warning" = "orange"; - "constant.character.escape" = { fg = base8; }; - "string" = yellow; - "constant.numeric" = purple; - "diff.plus" = green; - "diff.delta" = "orange"; - "diff.minus" = red; - "diagnostic.warning" = { underline = { color = "orange"; style = "curl"; }; }; - "diagnostic.error" = { underline = { color = red; style = "curl"; }; }; - "diagnostic.info" = { underline = { color = base8; style = "curl"; }; }; - "diagnostic.hint" = { underline = { color = base8; style = "curl"; }; }; - "markup.heading" = green; - "markup.bold" = { fg = "orange"; modifiers = ["bold"]; }; - "markup.italic" = { fg = "orange"; modifiers = ["italic"]; }; - "markup.strikethrough" = { modifiers = ["crossed_out"]; }; - "markup.link.url" = { fg = "orange"; modifiers = ["underlined"]; }; - "markup.link.text" = yellow; - "markup.quote" = green; - }; - }; - }; git = { enable = true; userName = "specCon18"; From b40c908ffe5d70820214eb2ba43c2a69a557552d Mon Sep 17 00:00:00 2001 From: specCon18 Date: Tue, 18 Apr 2023 02:09:20 -0400 Subject: [PATCH 148/233] moved zsh,vscode,and alacritty hm config to new module --- flake.nix | 8 +- modules/home-manager/alacritty.nix | 60 ++++++++++++ modules/home-manager/vscode.nix | 54 +++++++++++ modules/home-manager/zsh.nix | 29 ++++++ users/speccon18/home.nix | 141 +---------------------------- 5 files changed, 148 insertions(+), 144 deletions(-) create mode 100644 modules/home-manager/alacritty.nix create mode 100644 modules/home-manager/vscode.nix create mode 100644 modules/home-manager/zsh.nix diff --git a/flake.nix b/flake.nix index 6773231..098c144 100644 --- a/flake.nix +++ b/flake.nix @@ -88,13 +88,11 @@ ] #extra modules to load [ ./modules/home-manager/helix.nix + ./modules/home-manager/alacritty.nix + ./modules/home-manager/vscode.nix + ./modules/home-manager/zsh.nix ]; #extra modules to be loaded by home-manager }; - packages.${system} = { - dconfnixdump = pkgs.writeScriptBin "deconfnixdump"'' - dconf dump / | dconf2nix > dconf.nix - ''; - }; }; } \ No newline at end of file diff --git a/modules/home-manager/alacritty.nix b/modules/home-manager/alacritty.nix new file mode 100644 index 0000000..758ede6 --- /dev/null +++ b/modules/home-manager/alacritty.nix @@ -0,0 +1,60 @@ +{ pkgs, config, lib, ...}: +{ + programs.alacritty = { + enable = true; + settings = { + window = { + dimensions = { + columns = 120; + lines = 25; + }; + decorations = "none"; + opacity = 0.8; + title = "Alacritty"; + }; + font = { + normal = { + family = "SauceCodePro Nerd Font"; + }; + bold = { + family = "SauceCodePro Nerd Font"; + style = "bold"; + }; + size = 12; + }; + colors = { + primary = { + background = "#1d1f21"; + foreground = "#c5c8c6"; + }; + cursor = { + text = "CellBackground"; + cursor = "CellForeground"; + }; + # Normal colors + normal = { + black = "#363537"; + red = "#FC618D"; + green = "#7BD88F"; + yellow = "#FCE566"; + blue = "#FD9353"; + magenta = "#948AE3"; + cyan = "#5AD4E6"; + white = "#F7F1FF"; + }; + + # Bright colors + bright = { + black = "#69676C"; + red = "#FC618D"; + green = "#7BD88F"; + yellow = "#FCE566"; + blue = "#FD9353"; + magenta = "#948AE3"; + cyan = "#5AD4E6"; + white = "#F7F1FF"; + }; + }; + }; + }; +} \ No newline at end of file diff --git a/modules/home-manager/vscode.nix b/modules/home-manager/vscode.nix new file mode 100644 index 0000000..15f9882 --- /dev/null +++ b/modules/home-manager/vscode.nix @@ -0,0 +1,54 @@ +{ pkgs, config, lib, ...}: +{ + programs.vscode = { + enable = true; + package = pkgs.vscode.fhs; + enableExtensionUpdateCheck = true; + enableUpdateCheck = false; + extensions = with pkgs.vscode-extensions; [ + bbenoist.nix + redhat.vscode-yaml + bungcip.better-toml + firefox-devtools.vscode-firefox-debug + ms-vscode-remote.remote-ssh + ms-azuretools.vscode-docker + editorconfig.editorconfig + dbaeumer.vscode-eslint + donjayamanne.githistory + github.copilot + eamodio.gitlens + graphql.vscode-graphql + oderwat.indent-rainbow + skellock.just + jnoortheen.nix-ide + christian-kohler.path-intellisense + esbenp.prettier-vscode + svelte.svelte-vscode + bradlc.vscode-tailwindcss + thenuprojectcontributors.vscode-nushell-lang + matklad.rust-analyzer + ]; + userSettings = { + "workbench.colorTheme" = "Monokai Pro (Filter Octagon)"; + "workbench.startupEditor" = "none"; + "workbench.iconTheme" = "Monokai Pro Icons"; + "git.autofetch" = true; + "redhat.telemetry.enabled" = false; + "svelte.enable-ts-plugin" = true; + "window.menuBarVisibility" = "compact"; + "prettier.singleQuote" = true; + "prettier.useTabs" = true; + "prettier.bracketSpacing" = false; + "prettier.htmlWhitespaceSensitivity" = "strict"; + "typescript.updateImportsOnFileMove.enabled" = "always"; + "editor.fontFamily" = "OpenDyslexic, OpenDyslexic Mono NF"; + "rust-analyzer.inlayHints.chainingHints.enable" = false; + "rust-analyzer.inlayHints.closingBraceHints.enable" = false; + "rust-analyzer.inlayHints.renderColons" = false; + "rust-analyzer.inlayHints.parameterHints.enable" = false; + "editor.minimap.enabled" = false; + "editor.inlineSuggest.enabled" = true; + "window.zoomLevel" = 1; + }; + }; +} \ No newline at end of file diff --git a/modules/home-manager/zsh.nix b/modules/home-manager/zsh.nix new file mode 100644 index 0000000..2d15f08 --- /dev/null +++ b/modules/home-manager/zsh.nix @@ -0,0 +1,29 @@ +{ pkgs, config, lib, ...}: +{ + programs.zsh = { + enable = lib.mkDefault true; + dotDir = ".config/zsh"; + history = { + path = "$ZDOTDIR/.zsh_history"; + save = 10000000; + }; + enableAutosuggestions = lib.mkDefault true; + enableCompletion = lib.mkDefault true; + enableSyntaxHighlighting = lib.mkDefault true; + shellAliases = { + ls = "exa -l"; + lsa = "exa -al"; + cd = "z"; + osrb = "sudo nixos-rebuild $1 --flake ~/code/nix/nixos-config/#creatorforge-framework"; + zel = "zellij -s"; + ns = "nix-shell"; + top = "btm"; + hx = "hx"; + cat = "bat"; + extract = "~/.config/zsh/extract.sh"; + }; + localVariables = { + EDITOR="hx"; + }; + }; +} \ No newline at end of file diff --git a/users/speccon18/home.nix b/users/speccon18/home.nix index fee3297..f998961 100644 --- a/users/speccon18/home.nix +++ b/users/speccon18/home.nix @@ -10,12 +10,10 @@ prismlauncher calibre w3m - nushell bitwarden firefox discord nodejs-18_x - spotify nerdfonts fira-code libreoffice @@ -25,13 +23,9 @@ obsidian neofetch vlc - zellij - zoxide remmina signal-desktop - starship just - alacritty bacon bottom xplr @@ -49,63 +43,7 @@ enable = true; package = pkgs.ncspot; }; - alacritty = { - enable = true; - settings = { - window = { - dimensions = { - columns = 120; - lines = 25; - }; - decorations = "none"; - opacity = 0.8; - title = "Alacritty"; - }; - font = { - normal = { - family = "SauceCodePro Nerd Font"; - }; - bold = { - family = "SauceCodePro Nerd Font"; - style = "bold"; - }; - size = 12; - }; - colors = { - primary = { - background = "#1d1f21"; - foreground = "#c5c8c6"; - }; - cursor = { - text = "CellBackground"; - cursor = "CellForeground"; - }; - # Normal colors - normal = { - black = "#363537"; - red = "#FC618D"; - green = "#7BD88F"; - yellow = "#FCE566"; - blue = "#FD9353"; - magenta = "#948AE3"; - cyan = "#5AD4E6"; - white = "#F7F1FF"; - }; - # Bright colors - bright = { - black = "#69676C"; - red = "#FC618D"; - green = "#7BD88F"; - yellow = "#FCE566"; - blue = "#FD9353"; - magenta = "#948AE3"; - cyan = "#5AD4E6"; - white = "#F7F1FF"; - }; - }; - }; - }; zellij = { enable = true; package = pkgs.zellij; @@ -118,32 +56,7 @@ enableZshIntegration = true; enableNushellIntegration = false; }; - zsh = { - enable = lib.mkDefault true; - dotDir = ".config/zsh"; - history = { - path = "$ZDOTDIR/.zsh_history"; - save = 10000000; - }; - enableAutosuggestions = lib.mkDefault true; - enableCompletion = lib.mkDefault true; - enableSyntaxHighlighting = lib.mkDefault true; - shellAliases = { - ls = "exa -l"; - lsa = "exa -al"; - cd = "z"; - osrb = "sudo nixos-rebuild $1 --flake ~/code/nix/nixos-config/#creatorforge-framework"; - zel = "zellij -s"; - ns = "nix-shell"; - top = "btm"; - hx = "hx"; - cat = "bat"; - extract = "~/.config/zsh/extract.sh"; - }; - localVariables = { - EDITOR="hx"; - }; - }; + direnv = { enable = true; enableZshIntegration = lib.mkDefault true; @@ -151,57 +64,7 @@ home-manager = { enable = true; }; - vscode = { - enable = true; - package = pkgs.vscode.fhs; - enableExtensionUpdateCheck = true; - enableUpdateCheck = false; - extensions = with pkgs.vscode-extensions; [ - bbenoist.nix - redhat.vscode-yaml - bungcip.better-toml - firefox-devtools.vscode-firefox-debug - ms-vscode-remote.remote-ssh - ms-azuretools.vscode-docker - editorconfig.editorconfig - dbaeumer.vscode-eslint - donjayamanne.githistory - github.copilot - eamodio.gitlens - graphql.vscode-graphql - oderwat.indent-rainbow - skellock.just - jnoortheen.nix-ide - christian-kohler.path-intellisense - esbenp.prettier-vscode - svelte.svelte-vscode - bradlc.vscode-tailwindcss - thenuprojectcontributors.vscode-nushell-lang - matklad.rust-analyzer - ]; - userSettings = { - "workbench.colorTheme" = "Monokai Pro (Filter Octagon)"; - "workbench.startupEditor" = "none"; - "workbench.iconTheme" = "Monokai Pro Icons"; - "git.autofetch" = true; - "redhat.telemetry.enabled" = false; - "svelte.enable-ts-plugin" = true; - "window.menuBarVisibility" = "compact"; - "prettier.singleQuote" = true; - "prettier.useTabs" = true; - "prettier.bracketSpacing" = false; - "prettier.htmlWhitespaceSensitivity" = "strict"; - "typescript.updateImportsOnFileMove.enabled" = "always"; - "editor.fontFamily" = "OpenDyslexic, OpenDyslexic Mono NF"; - "rust-analyzer.inlayHints.chainingHints.enable" = false; - "rust-analyzer.inlayHints.closingBraceHints.enable" = false; - "rust-analyzer.inlayHints.renderColons" = false; - "rust-analyzer.inlayHints.parameterHints.enable" = false; - "editor.minimap.enabled" = false; - "editor.inlineSuggest.enabled" = true; - "window.zoomLevel" = 1; - }; - }; + git = { enable = true; userName = "specCon18"; From 38d653d2ff7781498cece4a51b3a40a7c4000487 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Tue, 18 Apr 2023 02:12:50 -0400 Subject: [PATCH 149/233] moved git to its own module --- flake.nix | 1 + modules/home-manager/git.nix | 13 +++ modules/home-manager/helix.nix | 152 ++++++++++++++++----------------- modules/home-manager/zsh.nix | 2 +- 4 files changed, 91 insertions(+), 77 deletions(-) create mode 100644 modules/home-manager/git.nix diff --git a/flake.nix b/flake.nix index 098c144..1000b01 100644 --- a/flake.nix +++ b/flake.nix @@ -91,6 +91,7 @@ ./modules/home-manager/alacritty.nix ./modules/home-manager/vscode.nix ./modules/home-manager/zsh.nix + ./modules/home-manager/git.nix ]; #extra modules to be loaded by home-manager }; }; diff --git a/modules/home-manager/git.nix b/modules/home-manager/git.nix new file mode 100644 index 0000000..06fb74e --- /dev/null +++ b/modules/home-manager/git.nix @@ -0,0 +1,13 @@ +{ pkgs, config, lib, ...}: +{ + programs.git = { + enable = true; + userName = "specCon18"; + userEmail = "steven.carpenter@skdevstudios.com"; + extraConfig = { + init = { + defaultBranch = "main"; + }; + }; + }; +} \ No newline at end of file diff --git a/modules/home-manager/helix.nix b/modules/home-manager/helix.nix index b709d72..6e4eff7 100644 --- a/modules/home-manager/helix.nix +++ b/modules/home-manager/helix.nix @@ -1,81 +1,81 @@ { pkgs, config, lib, ...}: { - programs.helix = { - enable = true; - settings = { - theme = "monokai_pro_octagon"; - editor.line-number = "relative"; - editor.shell = ["zsh" "-c"]; - }; - themes = { - monokai_pro_octagon = let - red = "#ff657a"; - orange = "#ff9b5e"; - yellow = "#ffd76d"; - green = "#bad761"; - blue = "#9cd1bb"; - purple = "#c39ac9"; - base0 = "#161821"; - base1 = "#1e1f2b"; - base2 = "#282a3a"; - base3 = "#3a3d4b"; - base4 = "#535763"; - base5 = "#696d77"; - base6 = "#767b81"; - base7 = "#b2b9bd"; - base8 = "#eaf2f1"; - base8x0c = "#303342"; - in { - "ui.linenr.selected" = { bg = base3; }; "ui.text.focus" = { fg = yellow; modifiers = ["bold"]; }; "ui.menu" = { fg = base8; bg = base3; }; "ui.menu.selected" = { fg = base2; bg = yellow; }; "ui.virtual.whitespace" = base5; "ui.virtual.ruler" = { bg = base1; }; "info" = base8; "hint" = base8; "ui.background" = {}; "ui.statusline.inactive" = { fg = base8; bg = base8x0c; }; "ui.statusline" = { fg = base8; bg = base4; }; "ui.statusline.normal" = { fg = base4; bg = blue; }; "ui.statusline.insert" = { fg = base4; bg = green; }; "ui.statusline.select" = { fg = base4; bg = purple; }; "ui.popup" = { bg = base3; }; "ui.window" = { bg = base3; }; - "ui.help" = { fg = base8; bg = base3; }; - "ui.selection" = { bg = base4; }; - "ui.cursor.match" = { bg = base4; }; - "ui.cursorline" = { bg = base1; }; - "comment" = { fg = base5; modifiers = ["italic"]; }; - "ui.linenr" = { fg = base5; }; - "ui.cursor.primary" = { fg = base7; modifiers = ["reversed"]; }; - "attribute" = blue; - "variable" = base8; - "constant" = orange; - "variable.builtin" = red; - "constant.builtin" = red; - "namespace" = base8; - "ui.text" = { fg = base8; }; - "punctuation" = base6; - "type" = green; - "type.builtin" = { fg = red; }; - "label" = base8; - "constructor" = blue; - "function" = green; - "function.macro" = { fg = blue; }; - "function.builtin" = { fg = "cyan"; }; - "operator" = red; - "variable.other.member" = base8; - "keyword" = { fg = red; }; - "keyword.directive" = blue; - "variable.parameter" = "#f59762"; - "error" = red; - "special" = "#f59762"; - "module" = "#f59762"; - "warning" = "orange"; - "constant.character.escape" = { fg = base8; }; - "string" = yellow; - "constant.numeric" = purple; - "diff.plus" = green; - "diff.delta" = "orange"; - "diff.minus" = red; - "diagnostic.warning" = { underline = { color = "orange"; style = "curl"; }; }; - "diagnostic.error" = { underline = { color = red; style = "curl"; }; }; - "diagnostic.info" = { underline = { color = base8; style = "curl"; }; }; - "diagnostic.hint" = { underline = { color = base8; style = "curl"; }; }; - "markup.heading" = green; - "markup.bold" = { fg = "orange"; modifiers = ["bold"]; }; - "markup.italic" = { fg = "orange"; modifiers = ["italic"]; }; - "markup.strikethrough" = { modifiers = ["crossed_out"]; }; - "markup.link.url" = { fg = "orange"; modifiers = ["underlined"]; }; - "markup.link.text" = yellow; - "markup.quote" = green; - }; + programs.helix = { + enable = true; + settings = { + theme = "monokai_pro_octagon"; + editor.line-number = "relative"; + editor.shell = ["zsh" "-c"]; + }; + themes = { + monokai_pro_octagon = let + red = "#ff657a"; + orange = "#ff9b5e"; + yellow = "#ffd76d"; + green = "#bad761"; + blue = "#9cd1bb"; + purple = "#c39ac9"; + base0 = "#161821"; + base1 = "#1e1f2b"; + base2 = "#282a3a"; + base3 = "#3a3d4b"; + base4 = "#535763"; + base5 = "#696d77"; + base6 = "#767b81"; + base7 = "#b2b9bd"; + base8 = "#eaf2f1"; + base8x0c = "#303342"; + in { + "ui.linenr.selected" = { bg = base3; }; "ui.text.focus" = { fg = yellow; modifiers = ["bold"]; }; "ui.menu" = { fg = base8; bg = base3; }; "ui.menu.selected" = { fg = base2; bg = yellow; }; "ui.virtual.whitespace" = base5; "ui.virtual.ruler" = { bg = base1; }; "info" = base8; "hint" = base8; "ui.background" = {}; "ui.statusline.inactive" = { fg = base8; bg = base8x0c; }; "ui.statusline" = { fg = base8; bg = base4; }; "ui.statusline.normal" = { fg = base4; bg = blue; }; "ui.statusline.insert" = { fg = base4; bg = green; }; "ui.statusline.select" = { fg = base4; bg = purple; }; "ui.popup" = { bg = base3; }; "ui.window" = { bg = base3; }; + "ui.help" = { fg = base8; bg = base3; }; + "ui.selection" = { bg = base4; }; + "ui.cursor.match" = { bg = base4; }; + "ui.cursorline" = { bg = base1; }; + "comment" = { fg = base5; modifiers = ["italic"]; }; + "ui.linenr" = { fg = base5; }; + "ui.cursor.primary" = { fg = base7; modifiers = ["reversed"]; }; + "attribute" = blue; + "variable" = base8; + "constant" = orange; + "variable.builtin" = red; + "constant.builtin" = red; + "namespace" = base8; + "ui.text" = { fg = base8; }; + "punctuation" = base6; + "type" = green; + "type.builtin" = { fg = red; }; + "label" = base8; + "constructor" = blue; + "function" = green; + "function.macro" = { fg = blue; }; + "function.builtin" = { fg = "cyan"; }; + "operator" = red; + "variable.other.member" = base8; + "keyword" = { fg = red; }; + "keyword.directive" = blue; + "variable.parameter" = "#f59762"; + "error" = red; + "special" = "#f59762"; + "module" = "#f59762"; + "warning" = "orange"; + "constant.character.escape" = { fg = base8; }; + "string" = yellow; + "constant.numeric" = purple; + "diff.plus" = green; + "diff.delta" = "orange"; + "diff.minus" = red; + "diagnostic.warning" = { underline = { color = "orange"; style = "curl"; }; }; + "diagnostic.error" = { underline = { color = red; style = "curl"; }; }; + "diagnostic.info" = { underline = { color = base8; style = "curl"; }; }; + "diagnostic.hint" = { underline = { color = base8; style = "curl"; }; }; + "markup.heading" = green; + "markup.bold" = { fg = "orange"; modifiers = ["bold"]; }; + "markup.italic" = { fg = "orange"; modifiers = ["italic"]; }; + "markup.strikethrough" = { modifiers = ["crossed_out"]; }; + "markup.link.url" = { fg = "orange"; modifiers = ["underlined"]; }; + "markup.link.text" = yellow; + "markup.quote" = green; }; }; + }; } \ No newline at end of file diff --git a/modules/home-manager/zsh.nix b/modules/home-manager/zsh.nix index 2d15f08..9f508d2 100644 --- a/modules/home-manager/zsh.nix +++ b/modules/home-manager/zsh.nix @@ -1,6 +1,6 @@ { pkgs, config, lib, ...}: { - programs.zsh = { + programs.zsh = { enable = lib.mkDefault true; dotDir = ".config/zsh"; history = { From 43ed213a93f93f344f9477ecabc295b5b648fba7 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Tue, 18 Apr 2023 02:42:12 -0400 Subject: [PATCH 150/233] modularized hosts creatorforge.nix --- flake.nix | 12 ++++- hosts/creatorforge.nix | 64 ------------------------- hosts/creatorforge/creatorforge.nix | 27 +++++++++++ hosts/creatorforge/networkd.nix | 13 +++++ hosts/creatorforge/system-pkgs.nix | 29 +++++++++++ modules/home-manager/dconf-settings.nix | 16 +++++++ modules/home-manager/direnv.nix | 7 +++ modules/home-manager/home-manager.nix | 6 +++ modules/home-manager/ncspot.nix | 7 +++ modules/home-manager/nushell.nix | 6 +++ modules/home-manager/starship.nix | 8 ++++ modules/home-manager/zellij.nix | 7 +++ modules/home-manager/zoxide.nix | 8 ++++ users/speccon18/home.nix | 59 +---------------------- 14 files changed, 146 insertions(+), 123 deletions(-) delete mode 100644 hosts/creatorforge.nix create mode 100644 hosts/creatorforge/creatorforge.nix create mode 100644 hosts/creatorforge/networkd.nix create mode 100644 hosts/creatorforge/system-pkgs.nix create mode 100644 modules/home-manager/dconf-settings.nix create mode 100644 modules/home-manager/direnv.nix create mode 100644 modules/home-manager/home-manager.nix create mode 100644 modules/home-manager/ncspot.nix create mode 100644 modules/home-manager/nushell.nix create mode 100644 modules/home-manager/starship.nix create mode 100644 modules/home-manager/zellij.nix create mode 100644 modules/home-manager/zoxide.nix diff --git a/flake.nix b/flake.nix index 1000b01..f3a95a5 100644 --- a/flake.nix +++ b/flake.nix @@ -80,7 +80,9 @@ [ nixos-hardware.nixosModules.framework-12th-gen-intel disko.nixosModules.disko - ./hosts/creatorforge.nix + ./hosts/creatorforge/creatorforge.nix + ./hosts/creatorforge/networkd.nix + ./hosts/creatorforge/system-pkgs.nix ./modules/system/services/docker.nix ./modules/system/services/openssh.nix ./modules/system/desktop-environments/gnome.nix @@ -92,6 +94,14 @@ ./modules/home-manager/vscode.nix ./modules/home-manager/zsh.nix ./modules/home-manager/git.nix + ./modules/home-manager/zoxide.nix + ./modules/home-manager/ncspot.nix + ./modules/home-manager/zellij.nix + ./modules/home-manager/nushell.nix + ./modules/home-manager/direnv.nix + ./modules/home-manager/home-manager.nix + ./modules/home-manager/starship.nix + ./modules/home-manager/dconf-settings.nix ]; #extra modules to be loaded by home-manager }; }; diff --git a/hosts/creatorforge.nix b/hosts/creatorforge.nix deleted file mode 100644 index 7446211..0000000 --- a/hosts/creatorforge.nix +++ /dev/null @@ -1,64 +0,0 @@ -{ modulesPath, config, pkgs, lib, self, ... }: - -{ - system.stateVersion = "22.11"; - time.timeZone = "America/Detroit"; - - # Allow non opensource software to be installed - nixpkgs.config.allowUnfree = true; - - nix = { - ## NIX FLAKES ## - package = pkgs.nixUnstable; # or versioned attributes like nix_2_4 - # enable flakes - extraOptions = ''experimental-features = nix-command flakes''; - # auto maintainence - settings.auto-optimise-store = lib.mkDefault true; - # prevent tampering - readOnlyStore = true; - # garbage collections - gc = { - automatic = true; - dates = "weekly"; - options = "--delete-older-than 7d"; - }; - }; - # base packages - environment.systemPackages = with pkgs; [ - ripgrep - tree - cargo - feh - unrar - unzip - gzip - p7zip - bzip2 - dconf2nix - rustc - bat - exa - mdbook - uutils-coreutils - htop - zsh - tailscale - dig #dns lookup - rage #file encryption - age-plugin-yubikey #plugin for rage to manage yubi-2fa - sops #file based secrets operations - direnv #used for development environments - python39 - ] ++ [self.inputs.devenv.packages.x86_64-linux.devenv]; - - networking = { - hostName = "creatorforge"; # Define your hostname. - useDHCP = lib.mkForce true; - firewall = { - enable = true; - allowedTCPPorts = []; - allowedUDPPorts = []; - checkReversePath = "loose"; - }; - }; -} \ No newline at end of file diff --git a/hosts/creatorforge/creatorforge.nix b/hosts/creatorforge/creatorforge.nix new file mode 100644 index 0000000..66687a3 --- /dev/null +++ b/hosts/creatorforge/creatorforge.nix @@ -0,0 +1,27 @@ +{ modulesPath, config, pkgs, lib, self, ... }: + +{ + # Sets the default version to track for system-pkgs + system.stateVersion = "22.11"; + # Set the default timezone + time.timeZone = lib.mkDefault "America/Detroit"; + # Allow non opensource software to be installed + nixpkgs.config.allowUnfree = true; + # NixOS Settings + nix = { + # Sets flakes to unstable track instead of stable # + package = pkgs.nixUnstable; # or versioned attributes like nix_2_4 + # Enable flakes and nix-command + extraOptions = ''experimental-features = nix-command flakes''; + # Auto maintainence + settings.auto-optimise-store = lib.mkDefault true; + # Prevent tampering of the pkgstore + readOnlyStore = true; + # Garbage collection + gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 7d"; + }; + }; +} \ No newline at end of file diff --git a/hosts/creatorforge/networkd.nix b/hosts/creatorforge/networkd.nix new file mode 100644 index 0000000..b124664 --- /dev/null +++ b/hosts/creatorforge/networkd.nix @@ -0,0 +1,13 @@ +{ modulesPath, config, pkgs, lib, self, ... }: +{ + networking = { + hostName = "creatorforge"; # Define your hostname. + useDHCP = lib.mkForce true; + firewall = { + enable = true; + allowedTCPPorts = []; + allowedUDPPorts = []; + checkReversePath = "loose"; + }; + }; +} \ No newline at end of file diff --git a/hosts/creatorforge/system-pkgs.nix b/hosts/creatorforge/system-pkgs.nix new file mode 100644 index 0000000..35d3363 --- /dev/null +++ b/hosts/creatorforge/system-pkgs.nix @@ -0,0 +1,29 @@ +{ modulesPath, config, pkgs, lib, self, ... }: +{ + environment.systemPackages = with pkgs; [ + ripgrep + tree + cargo + feh + unrar + unzip + gzip + p7zip + bzip2 + dconf2nix + rustc + bat + exa + mdbook + uutils-coreutils + htop + zsh + tailscale + dig #dns lookup + rage #file encryption + age-plugin-yubikey #plugin for rage to manage yubi-2fa + sops #file based secrets operations + direnv #used for development environments + python39 + ]; +} \ No newline at end of file diff --git a/modules/home-manager/dconf-settings.nix b/modules/home-manager/dconf-settings.nix new file mode 100644 index 0000000..6082cdf --- /dev/null +++ b/modules/home-manager/dconf-settings.nix @@ -0,0 +1,16 @@ +{ pkgs, config, lib, ...}: +{ + dconf = { + enable = true; + settings = { + "org/gnome/mutter" = { + attach-modal-dialogs = true; + dynamic-workspaces = true; + edge-tiling = false; + experimental-features = [ "scale-monitor-framebuffer" ]; + focus-change-on-pointer-rest = true; + workspaces-only-on-primary = true; + }; + }; + }; +} \ No newline at end of file diff --git a/modules/home-manager/direnv.nix b/modules/home-manager/direnv.nix new file mode 100644 index 0000000..f4b6c67 --- /dev/null +++ b/modules/home-manager/direnv.nix @@ -0,0 +1,7 @@ +{ pkgs, config, lib, ...}: +{ + programs.direnv = { + enable = true; + enableZshIntegration = lib.mkDefault true; + }; +} \ No newline at end of file diff --git a/modules/home-manager/home-manager.nix b/modules/home-manager/home-manager.nix new file mode 100644 index 0000000..4c2e02d --- /dev/null +++ b/modules/home-manager/home-manager.nix @@ -0,0 +1,6 @@ +{ pkgs, config, lib, ...}: +{ + programs.home-manager = { + enable = true; + }; +} \ No newline at end of file diff --git a/modules/home-manager/ncspot.nix b/modules/home-manager/ncspot.nix new file mode 100644 index 0000000..e50ccad --- /dev/null +++ b/modules/home-manager/ncspot.nix @@ -0,0 +1,7 @@ +{ pkgs, config, lib, ...}: +{ + programs.ncspot = { + enable = true; + package = pkgs.ncspot; + }; +} \ No newline at end of file diff --git a/modules/home-manager/nushell.nix b/modules/home-manager/nushell.nix new file mode 100644 index 0000000..c891a86 --- /dev/null +++ b/modules/home-manager/nushell.nix @@ -0,0 +1,6 @@ +{ pkgs, config, lib, ...}: +{ + programs.nushell = { + enable = false; + }; +} \ No newline at end of file diff --git a/modules/home-manager/starship.nix b/modules/home-manager/starship.nix new file mode 100644 index 0000000..ff0b8b6 --- /dev/null +++ b/modules/home-manager/starship.nix @@ -0,0 +1,8 @@ +{ pkgs, config, lib, ...}: +{ + programs.starship = { + enable = true; + enableZshIntegration = true; + enableNushellIntegration = false; + }; +} \ No newline at end of file diff --git a/modules/home-manager/zellij.nix b/modules/home-manager/zellij.nix new file mode 100644 index 0000000..2768c18 --- /dev/null +++ b/modules/home-manager/zellij.nix @@ -0,0 +1,7 @@ +{ pkgs, config, lib, ...}: +{ + programs.zellij = { + enable = true; + package = pkgs.zellij; + }; +} \ No newline at end of file diff --git a/modules/home-manager/zoxide.nix b/modules/home-manager/zoxide.nix new file mode 100644 index 0000000..a22f922 --- /dev/null +++ b/modules/home-manager/zoxide.nix @@ -0,0 +1,8 @@ +{ pkgs, config, lib, ...}: +{ + programs.zoxide = { + enable = true; + enableZshIntegration = lib.mkDefault true; +# enableNushellIntegration = false; + }; +} \ No newline at end of file diff --git a/users/speccon18/home.nix b/users/speccon18/home.nix index f998961..78d29f1 100644 --- a/users/speccon18/home.nix +++ b/users/speccon18/home.nix @@ -31,62 +31,5 @@ xplr broot ]; - }; - - programs = { - zoxide = { - enable = true; - enableZshIntegration = lib.mkDefault true; -# enableNushellIntegration = false; - }; - ncspot = { - enable = true; - package = pkgs.ncspot; - }; - - zellij = { - enable = true; - package = pkgs.zellij; - }; - nushell = { - enable = false; - }; - starship = { - enable = true; - enableZshIntegration = true; - enableNushellIntegration = false; - }; - - direnv = { - enable = true; - enableZshIntegration = lib.mkDefault true; - }; - home-manager = { - enable = true; - }; - - git = { - enable = true; - userName = "specCon18"; - userEmail = "steven.carpenter@skdevstudios.com"; - extraConfig = { - init = { - defaultBranch = "main"; - }; - }; - }; - }; - dconf = { - enable = true; - settings = { - "org/gnome/mutter" = { - attach-modal-dialogs = true; - dynamic-workspaces = true; - edge-tiling = false; - experimental-features = [ "scale-monitor-framebuffer" ]; - focus-change-on-pointer-rest = true; - workspaces-only-on-primary = true; - }; - }; - }; + }; } From 90052cb114f64795c56e31e0afe1586cc0f49d4d Mon Sep 17 00:00:00 2001 From: specCon18 Date: Tue, 18 Apr 2023 04:12:00 -0400 Subject: [PATCH 151/233] added langservers to helix hm module --- modules/home-manager/helix.nix | 31 ++++++++++++++++++++++++++++++- users/speccon18/home.nix | 1 - 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/modules/home-manager/helix.nix b/modules/home-manager/helix.nix index 6e4eff7..544be2f 100644 --- a/modules/home-manager/helix.nix +++ b/modules/home-manager/helix.nix @@ -1,5 +1,19 @@ { pkgs, config, lib, ...}: { + home.packages = with pkgs; [ + nodePackages_latest.yaml-language-server + nodePackages_latest.bash-language-server + nodePackages_latest.vscode-langservers-extracted + nodePackages_latest.dockerfile-language-server-nodejs + nodePackages_latest.typescript + nodePackages_latest.typescript-language-server + nodePackages_latest.svelte-language-server + nodePackages_latest.vls + python39Packages.python-lsp-server + rnix-lsp + rust-analyzer + taplo + ]; programs.helix = { enable = true; settings = { @@ -26,7 +40,22 @@ base8 = "#eaf2f1"; base8x0c = "#303342"; in { - "ui.linenr.selected" = { bg = base3; }; "ui.text.focus" = { fg = yellow; modifiers = ["bold"]; }; "ui.menu" = { fg = base8; bg = base3; }; "ui.menu.selected" = { fg = base2; bg = yellow; }; "ui.virtual.whitespace" = base5; "ui.virtual.ruler" = { bg = base1; }; "info" = base8; "hint" = base8; "ui.background" = {}; "ui.statusline.inactive" = { fg = base8; bg = base8x0c; }; "ui.statusline" = { fg = base8; bg = base4; }; "ui.statusline.normal" = { fg = base4; bg = blue; }; "ui.statusline.insert" = { fg = base4; bg = green; }; "ui.statusline.select" = { fg = base4; bg = purple; }; "ui.popup" = { bg = base3; }; "ui.window" = { bg = base3; }; + "ui.linenr.selected" = { bg = base3; }; + "ui.text.focus" = { fg = yellow; modifiers = ["bold"]; }; + "ui.menu" = { fg = base8; bg = base3; }; + "ui.menu.selected" = { fg = base2; bg = yellow; }; + "ui.virtual.whitespace" = base5; + "ui.virtual.ruler" = { bg = base1; }; + "info" = base8; + "hint" = base8; + "ui.background" = {}; + "ui.statusline.inactive" = { fg = base8; bg = base8x0c; }; + "ui.statusline" = { fg = base8; bg = base4; }; + "ui.statusline.normal" = { fg = base4; bg = blue; }; + "ui.statusline.insert" = { fg = base4; bg = green; }; + "ui.statusline.select" = { fg = base4; bg = purple; }; + "ui.popup" = { bg = base3; }; + "ui.window" = { bg = base3; }; "ui.help" = { fg = base8; bg = base3; }; "ui.selection" = { bg = base4; }; "ui.cursor.match" = { bg = base4; }; diff --git a/users/speccon18/home.nix b/users/speccon18/home.nix index 78d29f1..80fcdf8 100644 --- a/users/speccon18/home.nix +++ b/users/speccon18/home.nix @@ -28,7 +28,6 @@ just bacon bottom - xplr broot ]; }; From 235957a1277e8e2f1f7c15e9ca115e11b4c84b0e Mon Sep 17 00:00:00 2001 From: specCon18 Date: Tue, 18 Apr 2023 15:42:06 -0400 Subject: [PATCH 152/233] added helix editor config --- modules/home-manager/helix.nix | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/modules/home-manager/helix.nix b/modules/home-manager/helix.nix index 544be2f..c0ea883 100644 --- a/modules/home-manager/helix.nix +++ b/modules/home-manager/helix.nix @@ -18,8 +18,26 @@ enable = true; settings = { theme = "monokai_pro_octagon"; - editor.line-number = "relative"; - editor.shell = ["zsh" "-c"]; + editor = { + line-number = "relative"; + shell = ["zsh" "-c"]; + completion-trigger-len = 0; + scroll-lines = 1; + scrolloff = 5; + cursorline = true; + color-modes = true; + indent-guides.render = true; + file-picker.hidden = false; + auto-pairs = true; + lsp = { + display-messages = true; + }; + statusline = { + left = [ "mode" "spinner" "file-name" ]; + right = [ "diagnostics" "position" "file-encoding" ]; + }; + }; + }; themes = { monokai_pro_octagon = let From 51e27d3913a7e4b33306853fb0ffa8524f0ceea8 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Tue, 18 Apr 2023 15:44:13 -0400 Subject: [PATCH 153/233] changed the opacity of alacritty --- modules/home-manager/alacritty.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/home-manager/alacritty.nix b/modules/home-manager/alacritty.nix index 758ede6..7704f5d 100644 --- a/modules/home-manager/alacritty.nix +++ b/modules/home-manager/alacritty.nix @@ -9,7 +9,7 @@ lines = 25; }; decorations = "none"; - opacity = 0.8; + opacity = 0.9; title = "Alacritty"; }; font = { From e7ee64f5688a8b4e082fc02b03603189d8897f73 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Tue, 18 Apr 2023 19:27:35 -0400 Subject: [PATCH 154/233] added hyperland --- flake.lock | 108 +++++++++++++++++- flake.nix | 19 ++- modules/home-manager/hyprland.nix | 9 ++ .../system/desktop-environments/hyprland.nix | 9 ++ modules/system/services/pipewire.nix | 4 + 5 files changed, 136 insertions(+), 13 deletions(-) create mode 100644 modules/home-manager/hyprland.nix create mode 100644 modules/system/desktop-environments/hyprland.nix diff --git a/flake.lock b/flake.lock index 3204e58..45ed273 100644 --- a/flake.lock +++ b/flake.lock @@ -117,6 +117,48 @@ "type": "github" } }, + "hyprland": { + "inputs": { + "hyprland-protocols": "hyprland-protocols", + "nixpkgs": "nixpkgs_2", + "wlroots": "wlroots", + "xdph": "xdph" + }, + "locked": { + "lastModified": 1681814936, + "narHash": "sha256-UTNojO9MRW4hQvv8QuSerUE/6KnjCYh9p45SRYQbov4=", + "owner": "hyprwm", + "repo": "Hyprland", + "rev": "a4330fe3787a97fe5b55eb787ce5746cea46ad14", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "Hyprland", + "type": "github" + } + }, + "hyprland-protocols": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1681065697, + "narHash": "sha256-QPzwwlGKX95tl6ZEshboZbEwwAXww6lNLdVYd6T9Mrc=", + "owner": "hyprwm", + "repo": "hyprland-protocols", + "rev": "4d29e48433270a2af06b8bc711ca1fe5109746cd", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-protocols", + "type": "github" + } + }, "lowdown-src": { "flake": false, "locked": { @@ -238,6 +280,22 @@ } }, "nixpkgs_2": { + "locked": { + "lastModified": 1681557730, + "narHash": "sha256-j2E3639kS3Qop2jQPyqWCdenZNaqIdxfoTvAHnGuAGI=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "85b081528b937df4bfcaee80c3541b58f397df8b", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { "locked": { "lastModified": 1680122840, "narHash": "sha256-zCQ/9iFHzCW5JMYkkHMwgK1/1/kTMgCMHq4THPINpAU=", @@ -253,7 +311,7 @@ "type": "github" } }, - "nixpkgs_3": { + "nixpkgs_4": { "locked": { "lastModified": 1679734080, "narHash": "sha256-z846xfGLlon6t9lqUzlNtBOmsgQLQIZvR6Lt2dImk1M=", @@ -302,14 +360,15 @@ "devenv": "devenv", "disko": "disko", "home-manager": "home-manager", + "hyprland": "hyprland", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs_3", "sops-nix": "sops-nix" } }, "sops-nix": { "inputs": { - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_4", "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { @@ -340,6 +399,49 @@ "repo": "flake-utils", "type": "github" } + }, + "wlroots": { + "flake": false, + "locked": { + "host": "gitlab.freedesktop.org", + "lastModified": 1680810405, + "narHash": "sha256-LmI/4Yp/pOOoI4RxLRx9I90NBsiqdRLVOfbATKlgpkg=", + "owner": "wlroots", + "repo": "wlroots", + "rev": "7abda952d0000b72d240fe1d41457b9288f0b6e5", + "type": "gitlab" + }, + "original": { + "host": "gitlab.freedesktop.org", + "owner": "wlroots", + "repo": "wlroots", + "type": "gitlab" + } + }, + "xdph": { + "inputs": { + "hyprland-protocols": [ + "hyprland", + "hyprland-protocols" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1681127512, + "narHash": "sha256-vklOOhBj5W8fii6yN4L2WY5ZeifBmsq3+mJ2wC1Pk9U=", + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "rev": "04f579377a32781ce57c9cf4ba2a5bcb7f53fa97", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index f3a95a5..f2bd16e 100644 --- a/flake.nix +++ b/flake.nix @@ -2,28 +2,22 @@ description = "respec's nixos configs"; inputs = { - # For NixOS # nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11"; - # NixOS Hardware Configuration for framework # nixos-hardware.url = "github:NixOS/nixos-hardware/master"; - # For Home Manager # + sops-nix.url = github:Mic92/sops-nix; + devenv.url = "github:cachix/devenv/latest"; + hyprland.url = "github:hyprwm/Hyprland"; home-manager = { url = "github:nix-community/home-manager/release-22.11"; inputs.nixpkgs.follows = "nixpkgs"; }; - # For Disko Disk Provisioning # disko = { url = "github:nix-community/disko"; inputs.nixpkgs.follows = "nixpkgs"; }; - # For Secrets Management # - sops-nix.url = github:Mic92/sops-nix; - - # For Dev Env https://devenv.sh # - devenv.url = "github:cachix/devenv/latest"; }; - outputs = { self, home-manager, nixos-hardware, disko, nixpkgs, sops-nix, devenv, ... }@inputs: + outputs = { self, home-manager, nixos-hardware, disko, nixpkgs, sops-nix, devenv, hyprland, ... }@inputs: let system = "x86_64-linux"; pkgs = import nixpkgs { @@ -80,15 +74,20 @@ [ nixos-hardware.nixosModules.framework-12th-gen-intel disko.nixosModules.disko + hyprland.nixosModules.default + {programs.hyprland.enable = true;} ./hosts/creatorforge/creatorforge.nix ./hosts/creatorforge/networkd.nix ./hosts/creatorforge/system-pkgs.nix ./modules/system/services/docker.nix ./modules/system/services/openssh.nix ./modules/system/desktop-environments/gnome.nix + ./modules/system/desktop-environments/hyprland.nix ] #extra modules to load [ + hyprland.homeManagerModules.default + ./modules/home-manager/hyprland.nix ./modules/home-manager/helix.nix ./modules/home-manager/alacritty.nix ./modules/home-manager/vscode.nix diff --git a/modules/home-manager/hyprland.nix b/modules/home-manager/hyprland.nix new file mode 100644 index 0000000..ca11341 --- /dev/null +++ b/modules/home-manager/hyprland.nix @@ -0,0 +1,9 @@ +{ pkgs, config, lib, ...}: +{ + wayland.windowManager.hyprland = { + enable = true; + extraConfig = '' + bind = SUPER, Return, exec, alacritty + ''; + }; +} diff --git a/modules/system/desktop-environments/hyprland.nix b/modules/system/desktop-environments/hyprland.nix new file mode 100644 index 0000000..07bd827 --- /dev/null +++ b/modules/system/desktop-environments/hyprland.nix @@ -0,0 +1,9 @@ +{ config, pkgs, lib, ... }: +{ + environment.systemPackages = with pkgs; [ + libsForQt5.polkit-kde-agent + libsForQt5.qt5.qtwayland + qt6.qtwayland + eww-wayland + ]; +} \ No newline at end of file diff --git a/modules/system/services/pipewire.nix b/modules/system/services/pipewire.nix index 2918735..3db68cc 100644 --- a/modules/system/services/pipewire.nix +++ b/modules/system/services/pipewire.nix @@ -1,6 +1,10 @@ # https://nixos.wiki/wiki/PipeWire { config, pkgs, lib, ... }: { + environment.systemPackages = with pkgs; [ + pipewire + wireplumber + ]; # rtkit is optional but recommended security.rtkit.enable = true; services.pipewire = { From b7b61668a1460e497e417d9e086d8f9e025cffef Mon Sep 17 00:00:00 2001 From: specCon18 Date: Tue, 18 Apr 2023 20:29:17 -0400 Subject: [PATCH 155/233] added eww home-manager config and dotfiles dir --- flake.lock | 59 ++++++++++++++++++++++++++++++- flake.nix | 1 + modules/home-manager/eww.nix | 6 ++++ modules/home-manager/hyprland.nix | 1 + 4 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 modules/home-manager/eww.nix diff --git a/flake.lock b/flake.lock index 45ed273..adb43f9 100644 --- a/flake.lock +++ b/flake.lock @@ -159,6 +159,27 @@ "type": "github" } }, + "hyprland-protocols_2": { + "inputs": { + "nixpkgs": [ + "xdph", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1681065697, + "narHash": "sha256-QPzwwlGKX95tl6ZEshboZbEwwAXww6lNLdVYd6T9Mrc=", + "owner": "hyprwm", + "repo": "hyprland-protocols", + "rev": "4d29e48433270a2af06b8bc711ca1fe5109746cd", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-protocols", + "type": "github" + } + }, "lowdown-src": { "flake": false, "locked": { @@ -327,6 +348,22 @@ "type": "github" } }, + "nixpkgs_5": { + "locked": { + "lastModified": 1680945546, + "narHash": "sha256-8FuaH5t/aVi/pR1XxnF0qi4WwMYC+YxlfdsA0V+TEuQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "d9f759f2ea8d265d974a6e1259bd510ac5844c5d", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "pre-commit-hooks": { "inputs": { "flake-compat": [ @@ -363,7 +400,8 @@ "hyprland": "hyprland", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs_3", - "sops-nix": "sops-nix" + "sops-nix": "sops-nix", + "xdph": "xdph_2" } }, "sops-nix": { @@ -442,6 +480,25 @@ "repo": "xdg-desktop-portal-hyprland", "type": "github" } + }, + "xdph_2": { + "inputs": { + "hyprland-protocols": "hyprland-protocols_2", + "nixpkgs": "nixpkgs_5" + }, + "locked": { + "lastModified": 1681489757, + "narHash": "sha256-FxgZ2jBU+wmbjIv7F4N5Jx6h+LD4aQ+bXHrzrbxapJk=", + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "rev": "bf035bf3d5b56fd3da9d11966ad0b3c57f852d78", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index f2bd16e..65d6419 100644 --- a/flake.nix +++ b/flake.nix @@ -7,6 +7,7 @@ sops-nix.url = github:Mic92/sops-nix; devenv.url = "github:cachix/devenv/latest"; hyprland.url = "github:hyprwm/Hyprland"; + xdph.url = "github:hyprwm/xdg-desktop-portal-hyprland"; home-manager = { url = "github:nix-community/home-manager/release-22.11"; inputs.nixpkgs.follows = "nixpkgs"; diff --git a/modules/home-manager/eww.nix b/modules/home-manager/eww.nix new file mode 100644 index 0000000..0df93ac --- /dev/null +++ b/modules/home-manager/eww.nix @@ -0,0 +1,6 @@ +{ + programs.eww = { + enable=true; + configDir=../../dotfiles/eww; + }; +} \ No newline at end of file diff --git a/modules/home-manager/hyprland.nix b/modules/home-manager/hyprland.nix index ca11341..e7990b2 100644 --- a/modules/home-manager/hyprland.nix +++ b/modules/home-manager/hyprland.nix @@ -4,6 +4,7 @@ enable = true; extraConfig = '' bind = SUPER, Return, exec, alacritty + bind = CONTROL_SHIFT, W, exec, firefox ''; }; } From ba55e5571c2f12d23220d3697a7ce2c6ffaf91ed Mon Sep 17 00:00:00 2001 From: Steven Date: Sat, 20 May 2023 14:59:18 -0400 Subject: [PATCH 156/233] added hardware file for proton --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 65d6419..d38fabe 100644 --- a/flake.nix +++ b/flake.nix @@ -63,7 +63,7 @@ ./machines/proxmox-vm.nix #machine specific configuration "speccon18" #default user [ - ./hosts/creatorforge.nix + ./hosts/proton.nix ./modules/system/services/docker.nix ./modules/system/services/openssh.nix ./modules/system/desktop-environments/gnome.nix From e34907e038f7d0a3d997c3a0ec271e76ce5d9cc8 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Fri, 21 Jul 2023 02:12:27 -0400 Subject: [PATCH 157/233] added katana --- flake.nix | 12 ++++----- hosts/katana/default.nix | 51 ++++++++++++++++++++++++++++++++++++ hosts/katana/networkd.nix | 13 +++++++++ hosts/katana/system-pkgs.nix | 29 ++++++++++++++++++++ hosts/openldap.nix | 42 ----------------------------- machines/katana.nix | 36 +++++++++++++++++++++++++ 6 files changed, 134 insertions(+), 49 deletions(-) create mode 100644 hosts/katana/default.nix create mode 100644 hosts/katana/networkd.nix create mode 100644 hosts/katana/system-pkgs.nix delete mode 100644 hosts/openldap.nix create mode 100644 machines/katana.nix diff --git a/flake.nix b/flake.nix index d38fabe..904eca8 100644 --- a/flake.nix +++ b/flake.nix @@ -69,17 +69,15 @@ ./modules/system/desktop-environments/gnome.nix ] #extra modules to load []; #extra modules to be loaded by home-manager - creatorforge-framework = mkComputer - ./machines/framework.nix #machine specific configuration + katana = mkComputer + ./machines/katana.nix #machine specific configuration "speccon18" #default user [ - nixos-hardware.nixosModules.framework-12th-gen-intel - disko.nixosModules.disko hyprland.nixosModules.default {programs.hyprland.enable = true;} - ./hosts/creatorforge/creatorforge.nix - ./hosts/creatorforge/networkd.nix - ./hosts/creatorforge/system-pkgs.nix + ./hosts/katana/default.nix + ./hosts/katana/networkd.nix + ./hosts/katana/system-pkgs.nix ./modules/system/services/docker.nix ./modules/system/services/openssh.nix ./modules/system/desktop-environments/gnome.nix diff --git a/hosts/katana/default.nix b/hosts/katana/default.nix new file mode 100644 index 0000000..5283845 --- /dev/null +++ b/hosts/katana/default.nix @@ -0,0 +1,51 @@ +{ modulesPath, config, pkgs, lib, self, ... }: + +{ + system.stateVersion = "23.05"; + + # Allow the use of unfree packages + nixpkgs.config.allowUnfree = true; + + # Sound + sound.enable = true; + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + + # Localization + time.timeZone = "America/Detroit"; + i18n = { + defaultLocale = "en_US.UTF-8"; + extraLocaleSettings = { + LC_ADDRESS = "en_US.UTF-8"; + LC_IDENTIFICATION = "en_US.UTF-8"; + LC_MEASUREMENT = "en_US.UTF-8"; + LC_MONETARY = "en_US.UTF-8"; + LC_NAME = "en_US.UTF-8"; + LC_NUMERIC = "en_US.UTF-8"; + LC_PAPER = "en_US.UTF-8"; + LC_TELEPHONE = "en_US.UTF-8"; + LC_TIME = "en_US.UTF-8"; + }; + }; + + # Enable Services. + services = { + printing.enable = true; + xserver = { + enable = true; + displayManager.gdm.enable = true; + desktopManager.gnome.enable = true; + layout = "us"; + xkbVariant = ""; + }; + pipewire = { + enable = true; + alsa = { + enable = true; + support32Bit = true; + }; + pulse.enable = true; + jack.enable = true; + }; + }; +} \ No newline at end of file diff --git a/hosts/katana/networkd.nix b/hosts/katana/networkd.nix new file mode 100644 index 0000000..777fa9b --- /dev/null +++ b/hosts/katana/networkd.nix @@ -0,0 +1,13 @@ + +{ modulesPath, config, pkgs, lib, self, ... }: + +{ + networking = { + hostName = "katana"; # Define your hostname. + networkmanager.enable = true; #Enable Network Manager + firewall = { + allowedTCPPorts = []; + allowedUDPPorts = []; + }; + }; +} \ No newline at end of file diff --git a/hosts/katana/system-pkgs.nix b/hosts/katana/system-pkgs.nix new file mode 100644 index 0000000..35d3363 --- /dev/null +++ b/hosts/katana/system-pkgs.nix @@ -0,0 +1,29 @@ +{ modulesPath, config, pkgs, lib, self, ... }: +{ + environment.systemPackages = with pkgs; [ + ripgrep + tree + cargo + feh + unrar + unzip + gzip + p7zip + bzip2 + dconf2nix + rustc + bat + exa + mdbook + uutils-coreutils + htop + zsh + tailscale + dig #dns lookup + rage #file encryption + age-plugin-yubikey #plugin for rage to manage yubi-2fa + sops #file based secrets operations + direnv #used for development environments + python39 + ]; +} \ No newline at end of file diff --git a/hosts/openldap.nix b/hosts/openldap.nix deleted file mode 100644 index 64a2370..0000000 --- a/hosts/openldap.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ modulesPath, config, pkgs, lib, ... }: - -{ - imports = [ - (modulesPath + "/profiles/qemu-guest.nix") - ../modules/services/docker.nix - ../modules/users/arouzing.nix - ../modules/users/speccon18.nix - ../modules/services/openssh.nix - ]; - - # base packages - environment.systemPackages = with pkgs; [ - htop - vim - nano - tailscale - ]; - - networking = { - hostName = "openldap"; # Define your hostname. - firewall = { - enable = true; - allowedTCPPorts = []; - allowedUDPPorts = []; - checkReversePath = "loose"; - }; - # networkmanager.enable = true; - }; - - services.tailscale.enable = true; - - time.timeZone = "America/Detroit"; - - ## main services - system.stateVersion = "22.11"; - - ### testing ### - boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "virtio_pci" "sr_mod" "virtio_blk" ]; - - -} \ No newline at end of file diff --git a/machines/katana.nix b/machines/katana.nix new file mode 100644 index 0000000..f1d77d9 --- /dev/null +++ b/machines/katana.nix @@ -0,0 +1,36 @@ +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot = { + loader = { + systemd-boot.enable = true; + efi.canTouchEfiVariables = true; + }; + initrd = { + availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" ]; + kernelModules = [ ]; + }; + kernelModules = [ "kvm-intel" ]; + extraModulePackages = [ ]; + }; + + fileSystems."/" = { + device = "/dev/disk/by-uuid/55c746b3-b9dc-4c9b-ab56-de68a561f9a3"; + fsType = "ext4"; + }; + + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/0C59-9996"; + fsType = "vfat"; + }; + + swapDevices = [ ]; + + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} \ No newline at end of file From b8907010feb66e1905e48d57f00d45b4869a3f9e Mon Sep 17 00:00:00 2001 From: specCon18 Date: Sat, 29 Jul 2023 02:54:31 -0400 Subject: [PATCH 158/233] added syncthing --- flake.nix | 11 +--------- hosts/katana/default.nix | 16 ++++++++++++++ hosts/katana/system-pkgs.nix | 1 + modules/home-manager/alacritty.nix | 2 +- modules/home-manager/waybar.nix | 4 ++++ .../system/desktop-environments/hyprland.nix | 2 ++ modules/system/services/syncthing.nix | 21 +++++++++++++++++++ users/speccon18/home.nix | 6 ------ 8 files changed, 46 insertions(+), 17 deletions(-) create mode 100644 modules/home-manager/waybar.nix create mode 100644 modules/system/services/syncthing.nix diff --git a/flake.nix b/flake.nix index 904eca8..4fd7b2c 100644 --- a/flake.nix +++ b/flake.nix @@ -59,16 +59,6 @@ in { nixosConfigurations = { - creatorforge-vm = mkComputer - ./machines/proxmox-vm.nix #machine specific configuration - "speccon18" #default user - [ - ./hosts/proton.nix - ./modules/system/services/docker.nix - ./modules/system/services/openssh.nix - ./modules/system/desktop-environments/gnome.nix - ] #extra modules to load - []; #extra modules to be loaded by home-manager katana = mkComputer ./machines/katana.nix #machine specific configuration "speccon18" #default user @@ -82,6 +72,7 @@ ./modules/system/services/openssh.nix ./modules/system/desktop-environments/gnome.nix ./modules/system/desktop-environments/hyprland.nix + ./modules/system/services/syncthing.nix ] #extra modules to load [ diff --git a/hosts/katana/default.nix b/hosts/katana/default.nix index 5283845..2bbb0dd 100644 --- a/hosts/katana/default.nix +++ b/hosts/katana/default.nix @@ -48,4 +48,20 @@ jack.enable = true; }; }; + nix = { + # Sets flakes to unstable track instead of stable # + package = pkgs.nixUnstable; # or versioned attributes like nix_2_4 + # Enable flakes and nix-command + extraOptions = ''experimental-features = nix-command flakes''; + # Auto maintainence + settings.auto-optimise-store = lib.mkDefault true; + # Prevent tampering of the pkgstore + readOnlyStore = true; + # Garbage collection + gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 7d"; + }; + }; } \ No newline at end of file diff --git a/hosts/katana/system-pkgs.nix b/hosts/katana/system-pkgs.nix index 35d3363..d2cf26f 100644 --- a/hosts/katana/system-pkgs.nix +++ b/hosts/katana/system-pkgs.nix @@ -25,5 +25,6 @@ sops #file based secrets operations direnv #used for development environments python39 + gcc ]; } \ No newline at end of file diff --git a/modules/home-manager/alacritty.nix b/modules/home-manager/alacritty.nix index 7704f5d..3eb1366 100644 --- a/modules/home-manager/alacritty.nix +++ b/modules/home-manager/alacritty.nix @@ -8,7 +8,7 @@ columns = 120; lines = 25; }; - decorations = "none"; + decorations = "full"; opacity = 0.9; title = "Alacritty"; }; diff --git a/modules/home-manager/waybar.nix b/modules/home-manager/waybar.nix new file mode 100644 index 0000000..547eb9b --- /dev/null +++ b/modules/home-manager/waybar.nix @@ -0,0 +1,4 @@ + { pkgs, config, lib, ...}: +{ + wa +} \ No newline at end of file diff --git a/modules/system/desktop-environments/hyprland.nix b/modules/system/desktop-environments/hyprland.nix index 07bd827..50629db 100644 --- a/modules/system/desktop-environments/hyprland.nix +++ b/modules/system/desktop-environments/hyprland.nix @@ -5,5 +5,7 @@ libsForQt5.qt5.qtwayland qt6.qtwayland eww-wayland + waybar + hyprpaper ]; } \ No newline at end of file diff --git a/modules/system/services/syncthing.nix b/modules/system/services/syncthing.nix new file mode 100644 index 0000000..ccfa3c9 --- /dev/null +++ b/modules/system/services/syncthing.nix @@ -0,0 +1,21 @@ +{config, lib, pkgs, modulesPath, ... }: +{ + services.syncthing = { + enable = true; + dataDir = "/home/speccon18"; + openDefaultPorts = true; + configDir = "/home/speccon18/.config/syncthing"; + user = "speccon18"; + group = "users"; + extraOptions.gui = { + user = "admin"; + password = "Strife-Rerun-Lily-Pushover-Alongside-Raider0-Freebase"; + }; + guiAddress = "0.0.0.0:8384"; + overrideDevices = true; + overrideFolders = true; + devices = { + "syncthing_server" = { id = "N3UGNP6-ZU6JHBX-WNJDEUF-FV5DOWA-VAGFDYN-FIIMFRR-C3HGQHU-WOEIUQ6"; }; + }; + }; +} \ No newline at end of file diff --git a/users/speccon18/home.nix b/users/speccon18/home.nix index 80fcdf8..05f53e9 100644 --- a/users/speccon18/home.nix +++ b/users/speccon18/home.nix @@ -9,23 +9,17 @@ freecad prismlauncher calibre - w3m bitwarden firefox discord nodejs-18_x nerdfonts fira-code - libreoffice - asciinema - postman gimp obsidian neofetch vlc remmina - signal-desktop - just bacon bottom broot From 3826c8ab0f88a2144a7f7073eac3a2973cc42fa0 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Sat, 29 Jul 2023 03:09:35 -0400 Subject: [PATCH 159/233] added syncthing home manager options --- flake.nix | 1 + modules/home-manager/syncthing.nix | 7 +++++++ modules/system/services/syncthing.nix | 8 ++++---- 3 files changed, 12 insertions(+), 4 deletions(-) create mode 100644 modules/home-manager/syncthing.nix diff --git a/flake.nix b/flake.nix index 4fd7b2c..0cad5fc 100644 --- a/flake.nix +++ b/flake.nix @@ -91,6 +91,7 @@ ./modules/home-manager/home-manager.nix ./modules/home-manager/starship.nix ./modules/home-manager/dconf-settings.nix + ./modules/home-manager/syncthing.nix ]; #extra modules to be loaded by home-manager }; }; diff --git a/modules/home-manager/syncthing.nix b/modules/home-manager/syncthing.nix new file mode 100644 index 0000000..94c102f --- /dev/null +++ b/modules/home-manager/syncthing.nix @@ -0,0 +1,7 @@ +{config, lib, pkgs, modulesPath, ... }: +{ + services.syncthing = { + enable = true; + tray.enable = true; + }; +} \ No newline at end of file diff --git a/modules/system/services/syncthing.nix b/modules/system/services/syncthing.nix index ccfa3c9..a2dfed4 100644 --- a/modules/system/services/syncthing.nix +++ b/modules/system/services/syncthing.nix @@ -7,15 +7,15 @@ configDir = "/home/speccon18/.config/syncthing"; user = "speccon18"; group = "users"; - extraOptions.gui = { - user = "admin"; - password = "Strife-Rerun-Lily-Pushover-Alongside-Raider0-Freebase"; - }; guiAddress = "0.0.0.0:8384"; overrideDevices = true; overrideFolders = true; devices = { "syncthing_server" = { id = "N3UGNP6-ZU6JHBX-WNJDEUF-FV5DOWA-VAGFDYN-FIIMFRR-C3HGQHU-WOEIUQ6"; }; }; + extraOptions.gui = { + user = "admin"; + password = "Strife-Rerun-Lily-Pushover-Alongside-Raider0-Freebase"; + }; }; } \ No newline at end of file From daca60aa85ba260921e7265147631ff0826486f5 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Sat, 29 Jul 2023 14:21:02 -0400 Subject: [PATCH 160/233] setup tailscale on katana --- flake.nix | 1 + hosts/katana/networkd.nix | 1 + hosts/katana/system-pkgs.nix | 1 - modules/system/services/tailscale.nix | 11 +++++++++++ 4 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 modules/system/services/tailscale.nix diff --git a/flake.nix b/flake.nix index 0cad5fc..1618cea 100644 --- a/flake.nix +++ b/flake.nix @@ -73,6 +73,7 @@ ./modules/system/desktop-environments/gnome.nix ./modules/system/desktop-environments/hyprland.nix ./modules/system/services/syncthing.nix + ./modules/system/services/tailscale.nix ] #extra modules to load [ diff --git a/hosts/katana/networkd.nix b/hosts/katana/networkd.nix index 777fa9b..4f340ed 100644 --- a/hosts/katana/networkd.nix +++ b/hosts/katana/networkd.nix @@ -6,6 +6,7 @@ hostName = "katana"; # Define your hostname. networkmanager.enable = true; #Enable Network Manager firewall = { + checkReversePath = "loose"; allowedTCPPorts = []; allowedUDPPorts = []; }; diff --git a/hosts/katana/system-pkgs.nix b/hosts/katana/system-pkgs.nix index d2cf26f..bc71cd6 100644 --- a/hosts/katana/system-pkgs.nix +++ b/hosts/katana/system-pkgs.nix @@ -18,7 +18,6 @@ uutils-coreutils htop zsh - tailscale dig #dns lookup rage #file encryption age-plugin-yubikey #plugin for rage to manage yubi-2fa diff --git a/modules/system/services/tailscale.nix b/modules/system/services/tailscale.nix new file mode 100644 index 0000000..072eec1 --- /dev/null +++ b/modules/system/services/tailscale.nix @@ -0,0 +1,11 @@ +{ config, pkgs, ... }: + +{ + # make the tailscale command usable to users + environment.systemPackages = with pkgs;[ + pkgs.tailscale + ]; + + # enable the tailscale service + services.tailscale.enable = true; +} From 3b571bf0505c286e7a699b4b527710efd1092945 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Mon, 31 Jul 2023 17:36:36 -0400 Subject: [PATCH 161/233] updated hyprland --- flake.lock | 6 +- modules/home-manager/waybar.nix | 318 +++++++++++++++++- .../system/desktop-environments/hyprland.nix | 4 +- 3 files changed, 322 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index adb43f9..f302b34 100644 --- a/flake.lock +++ b/flake.lock @@ -318,11 +318,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1680122840, - "narHash": "sha256-zCQ/9iFHzCW5JMYkkHMwgK1/1/kTMgCMHq4THPINpAU=", + "lastModified": 1688392541, + "narHash": "sha256-lHrKvEkCPTUO+7tPfjIcb7Trk6k31rz18vkyqmkeJfY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a575c243c23e2851b78c00e9fa245232926ec32f", + "rev": "ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b", "type": "github" }, "original": { diff --git a/modules/home-manager/waybar.nix b/modules/home-manager/waybar.nix index 547eb9b..1f944a4 100644 --- a/modules/home-manager/waybar.nix +++ b/modules/home-manager/waybar.nix @@ -1,4 +1,320 @@ { pkgs, config, lib, ...}: { - wa + programs.waybar = { + enable = true; + package = pkgs.waybar; + settings = { + main_bar = { + layer = "top"; + modules-left = [ + "custom/launcher" + "cpu" + "memory" + "custom/media" + "tray" + ]; + modules-center = []; + modules-right = [ + "custom/updates" + "custom/wallpaper" + "backlight" + "custom/pw-volume" + "clock" + "battery" + "custom/power" + ]; + "custom/pipewire" = { + "exec" = "pw-volume status"; + "return-type" = "json"; + "interval" = "once"; + "signal" = 8; + "format" = "{icon} {percentage}"; + "format-icons" = { + "mute" = ""; + "default" = [ + "" + "" + "" + ]; + } + }; + "network" = { + "tooltip" = false; + "format-wifi" = " {essid}"; + "format-ethernet" = ""; + }; + "backlight" = { + "tooltip" = false; + "format" = " {}%"; + "interval" = 1; + "on-scroll-up" = "light -A 5"; + "on-scroll-down" = "light -U 5"; + }; + "battery" = { + "states" = { + "good" = 95; + "warning" = 30; + "critical" = 20; + } + "format" = "{icon} {capacity}%"; + "format-charging" = " {capacity}%"; + "format-plugged" = " {capacity}%"; + "format-alt" = "{time} {icon}"; + "format-icons" = [ + "" + "" + "" + "" + "" + ]; + } + "tray" = { + "icon-size" = 18; + "spacing" = 10; + } + "clock" = { + "format" = "{: %I:%M %p  %d/%m/%Y}"; + } + "cpu" = { + "interval" = 15; + "format" = " {}%"; + "max-length" = 10; + } + "memory" = { + "interval" = 30; + "format" = " {}%"; + "max-length" = 10; + } + "custom/media" = { + "interval" = 30; + "format" = "{icon} {}"; + "return-type" = "json"; + "max-length" = 20; + "format-icons" = { + "spotify" = " "; + "default" = " "; + } + "escape" = true; + "exec" = "$HOME/.config/system_scripts/mediaplayer.py 2> /dev/null"; + "on-click" = "playerctl play-pause"; + }; + "custom/launcher" = { + "format" = " "; + "on-click" = "rofi -show drun"; + "on-click-right" = "killall rofi"; + }; + "custom/power" = { + "format" = " "; + "on-click" = "bash ~/.config/rofi/leave/leave.sh"; + }; + "custom/updates" = { + "format" = "{} Update(s)"; + "exec" = "checkupdates | wc -l"; + "exec-if" = "[[ $(checkupdates | wc -l) != 0 ]]"; + "interval" = 15; + "on-click" = "alacritty -e paru -Syu && notify-send 'The system has been updated' "; + }; + "custom/wallpaper" = { + "format" = " "; + "on-click" = "bash ~/.config/system_scripts/pkill_bc"; + }; + }; + }; + style = '' + * { + border: none; + border-radius: 10; + font-family: "JetbrainsMono Nerd Font" ; + font-size: 15px; + min-height: 10px; + } + + window#waybar { + background: transparent; + } + + window#waybar.hidden { + opacity: 0.2; + } + + #window { + margin-top: 6px; + padding-left: 10px; + padding-right: 10px; + border-radius: 10px; + transition: none; + color: transparent; + background: transparent; + } + + #network { + margin-top: 6px; + margin-left: 8px; + padding-left: 10px; + padding-right: 10px; + margin-bottom: 0px; + border-radius: 10px; + transition: none; + color: #161320; + background: #bd93f9; + } + + #battery { + margin-top: 6px; + margin-left: 8px; + padding-left: 10px; + padding-right: 10px; + margin-bottom: 0px; + border-radius: 10px; + transition: none; + color: #161320; + background: #B5E8E0; + } + + #battery.charging, #battery.plugged { + color: #161320; + background-color: #B5E8E0; + } + + #battery.critical:not(.charging) { + background-color: #B5E8E0; + color: #161320; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; + } + + @keyframes blink { + to { + background-color: #BF616A; + color: #B5E8E0; + } + } + + #backlight { + margin-top: 6px; + margin-left: 8px; + padding-left: 10px; + padding-right: 10px; + margin-bottom: 0px; + border-radius: 10px; + transition: none; + color: #161320; + background: #F8BD96; + } + + #clock { + margin-top: 6px; + margin-left: 8px; + padding-left: 10px; + padding-right: 10px; + margin-bottom: 0px; + border-radius: 10px; + transition: none; + color: #161320; + background: #ABE9B3; + /*background: #1A1826;*/ + } + + #memory { + margin-top: 6px; + margin-left: 8px; + padding-left: 10px; + margin-bottom: 0px; + padding-right: 10px; + border-radius: 10px; + transition: none; + color: #161320; + background: #DDB6F2; + } + + #cpu { + margin-top: 6px; + margin-left: 8px; + padding-left: 10px; + margin-bottom: 0px; + padding-right: 10px; + border-radius: 10px; + transition: none; + color: #161320; + background: #96CDFB; + } + + #tray { + margin-top: 6px; + margin-left: 8px; + padding-left: 10px; + margin-bottom: 0px; + padding-right: 10px; + border-radius: 10px; + transition: none; + color: #B5E8E0; + background: #161320; + } + + #custom-launcher { + font-size: 24px; + margin-top: 6px; + margin-left: 8px; + padding-left: 10px; + padding-right: 5px; + border-radius: 10px; + transition: none; + color: #89DCEB; + background: #161320; + } + + #custom-power { + font-size: 20px; + margin-top: 6px; + margin-left: 8px; + margin-right: 8px; + padding-left: 10px; + padding-right: 5px; + margin-bottom: 0px; + border-radius: 10px; + transition: none; + color: #161320; + background: #F28FAD; + } + + #custom-wallpaper { + margin-top: 6px; + margin-left: 8px; + padding-left: 10px; + padding-right: 10px; + margin-bottom: 0px; + border-radius: 10px; + transition: none; + color: #161320; + background: #C9CBFF; + } + + #custom-updates { + margin-top: 6px; + margin-left: 8px; + padding-left: 10px; + padding-right: 10px; + margin-bottom: 0px; + border-radius: 10px; + transition: none; + color: #161320; + background: #E8A2AF; + } + + #custom-media { + margin-top: 6px; + margin-left: 8px; + padding-left: 10px; + padding-right: 10px; + margin-bottom: 0px; + border-radius: 10px; + transition: none; + color: #161320; + background: #F2CDCD; + } + ''; + }; } \ No newline at end of file diff --git a/modules/system/desktop-environments/hyprland.nix b/modules/system/desktop-environments/hyprland.nix index 50629db..622af24 100644 --- a/modules/system/desktop-environments/hyprland.nix +++ b/modules/system/desktop-environments/hyprland.nix @@ -4,8 +4,8 @@ libsForQt5.polkit-kde-agent libsForQt5.qt5.qtwayland qt6.qtwayland - eww-wayland waybar - hyprpaper + swww + pw-volume ]; } \ No newline at end of file From 86427492ead359f62d53b93855131ca2b7cd998e Mon Sep 17 00:00:00 2001 From: specCon18 Date: Mon, 31 Jul 2023 17:40:07 -0400 Subject: [PATCH 162/233] fixed syntax error in waybar.nix --- modules/home-manager/waybar.nix | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/modules/home-manager/waybar.nix b/modules/home-manager/waybar.nix index 1f944a4..1750c0d 100644 --- a/modules/home-manager/waybar.nix +++ b/modules/home-manager/waybar.nix @@ -36,7 +36,7 @@ "" "" ]; - } + }; }; "network" = { "tooltip" = false; @@ -55,7 +55,7 @@ "good" = 95; "warning" = 30; "critical" = 20; - } + }; "format" = "{icon} {capacity}%"; "format-charging" = " {capacity}%"; "format-plugged" = " {capacity}%"; @@ -67,24 +67,24 @@ "" "" ]; - } + }; "tray" = { "icon-size" = 18; "spacing" = 10; - } + }; "clock" = { "format" = "{: %I:%M %p  %d/%m/%Y}"; - } + }; "cpu" = { "interval" = 15; "format" = " {}%"; "max-length" = 10; - } + }; "memory" = { "interval" = 30; "format" = " {}%"; "max-length" = 10; - } + }; "custom/media" = { "interval" = 30; "format" = "{icon} {}"; @@ -93,7 +93,7 @@ "format-icons" = { "spotify" = " "; "default" = " "; - } + }; "escape" = true; "exec" = "$HOME/.config/system_scripts/mediaplayer.py 2> /dev/null"; "on-click" = "playerctl play-pause"; From 5bae6c9d0e26215322acb1538499c56e4fabbcb8 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Mon, 31 Jul 2023 19:25:14 -0400 Subject: [PATCH 163/233] updated to 23.05 --- flake.lock | 34 ++++++--------------- flake.nix | 4 +-- hosts/katana/default.nix | 2 -- hosts/katana/system-pkgs.nix | 47 ++++++++++++++--------------- machines/katana.nix | 2 ++ modules/home-manager/eww.nix | 2 +- modules/system/services/openssh.nix | 10 +++--- users/speccon18/default.nix | 3 +- users/speccon18/home.nix | 1 - 9 files changed, 45 insertions(+), 60 deletions(-) diff --git a/flake.lock b/flake.lock index f302b34..72b1c17 100644 --- a/flake.lock +++ b/flake.lock @@ -99,20 +99,19 @@ "inputs": { "nixpkgs": [ "nixpkgs" - ], - "utils": "utils" + ] }, "locked": { - "lastModified": 1679738842, - "narHash": "sha256-CvqRbsyDW756EskojZptDU590rez29RcHDV3ezoze08=", + "lastModified": 1687871164, + "narHash": "sha256-bBFlPthuYX322xOlpJvkjUBz0C+MOBjZdDOOJJ+G2jU=", "owner": "nix-community", "repo": "home-manager", - "rev": "83110c259889230b324bb2d35bef78bf5f214a1f", + "rev": "07c347bb50994691d7b0095f45ebd8838cf6bc38", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-22.11", + "ref": "release-23.05", "repo": "home-manager", "type": "github" } @@ -318,16 +317,16 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1688392541, - "narHash": "sha256-lHrKvEkCPTUO+7tPfjIcb7Trk6k31rz18vkyqmkeJfY=", + "lastModified": 1690726002, + "narHash": "sha256-cACz6jCJZtsZHGCJAN4vMobxzH5s6FCOTZHMrh/Hu0M=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b", + "rev": "391e8db1f06c3f74c2d313a73135515023af3993", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-22.11", + "ref": "nixos-23.05", "repo": "nixpkgs", "type": "github" } @@ -423,21 +422,6 @@ "type": "github" } }, - "utils": { - "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "wlroots": { "flake": false, "locked": { diff --git a/flake.nix b/flake.nix index 1618cea..31f3603 100644 --- a/flake.nix +++ b/flake.nix @@ -2,14 +2,14 @@ description = "respec's nixos configs"; inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05"; nixos-hardware.url = "github:NixOS/nixos-hardware/master"; sops-nix.url = github:Mic92/sops-nix; devenv.url = "github:cachix/devenv/latest"; hyprland.url = "github:hyprwm/Hyprland"; xdph.url = "github:hyprwm/xdg-desktop-portal-hyprland"; home-manager = { - url = "github:nix-community/home-manager/release-22.11"; + url = "github:nix-community/home-manager/release-23.05"; inputs.nixpkgs.follows = "nixpkgs"; }; disko = { diff --git a/hosts/katana/default.nix b/hosts/katana/default.nix index 2bbb0dd..121a917 100644 --- a/hosts/katana/default.nix +++ b/hosts/katana/default.nix @@ -55,8 +55,6 @@ extraOptions = ''experimental-features = nix-command flakes''; # Auto maintainence settings.auto-optimise-store = lib.mkDefault true; - # Prevent tampering of the pkgstore - readOnlyStore = true; # Garbage collection gc = { automatic = true; diff --git a/hosts/katana/system-pkgs.nix b/hosts/katana/system-pkgs.nix index bc71cd6..73d4b39 100644 --- a/hosts/katana/system-pkgs.nix +++ b/hosts/katana/system-pkgs.nix @@ -1,29 +1,28 @@ { modulesPath, config, pkgs, lib, self, ... }: { environment.systemPackages = with pkgs; [ - ripgrep - tree - cargo - feh - unrar - unzip - gzip - p7zip - bzip2 - dconf2nix - rustc - bat - exa - mdbook - uutils-coreutils - htop - zsh - dig #dns lookup - rage #file encryption - age-plugin-yubikey #plugin for rage to manage yubi-2fa - sops #file based secrets operations - direnv #used for development environments - python39 - gcc + ripgrep + tree + cargo + unrar + unzip + gzip + p7zip + bzip2 + dconf2nix + rustc + bat + exa + mdbook + uutils-coreutils + htop + zsh + dig #dns lookup + rage #file encryption + age-plugin-yubikey #plugin for rage to manage yubi-2fa + sops #file based secrets operations + direnv #used for development environments + python39 + gcc ]; } \ No newline at end of file diff --git a/machines/katana.nix b/machines/katana.nix index f1d77d9..eea732b 100644 --- a/machines/katana.nix +++ b/machines/katana.nix @@ -16,6 +16,8 @@ }; kernelModules = [ "kvm-intel" ]; extraModulePackages = [ ]; + # Prevent tampering of the pkgstore + readOnlyNixStore = true; }; fileSystems."/" = { diff --git a/modules/home-manager/eww.nix b/modules/home-manager/eww.nix index 0df93ac..270c708 100644 --- a/modules/home-manager/eww.nix +++ b/modules/home-manager/eww.nix @@ -1,6 +1,6 @@ { programs.eww = { - enable=true; + enable=false; configDir=../../dotfiles/eww; }; } \ No newline at end of file diff --git a/modules/system/services/openssh.nix b/modules/system/services/openssh.nix index 61569a6..232b6e5 100644 --- a/modules/system/services/openssh.nix +++ b/modules/system/services/openssh.nix @@ -4,11 +4,13 @@ services.openssh = lib.mkDefault { enable = true; openFirewall = true; - passwordAuthentication = false; - permitRootLogin = "no"; - kbdInteractiveAuthentication = false; startWhenNeeded = true; - kexAlgorithms = [ "curve25519-sha256@libssh.org" ]; + settings = { + KexAlgorithms = [ "curve25519-sha256@libssh.org" ]; + PermitRootLogin = "no"; + PasswordAuthentication = false; + KbdInteractiveAuthentication = false; + }; }; security.pam = lib.mkDefault { enableSSHAgentAuth = true; diff --git a/users/speccon18/default.nix b/users/speccon18/default.nix index dee8fe8..838a764 100644 --- a/users/speccon18/default.nix +++ b/users/speccon18/default.nix @@ -1,5 +1,6 @@ { config, pkgs, lib, ... }: { + programs.zsh.enable = true; users.users.speccon18 = { shell = pkgs.zsh; isNormalUser = true; @@ -8,7 +9,7 @@ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILdigmndcdQD/864P059K2hZOXyEkbGvMkH0/b2QavkD speccon18@creatorforge" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPc1AQ6hcjdSZZuhS5SISwtulFoTLpC5f5JoMFQkZ5l2 specCon18@DESKTOP-Q1I2PAE" ]; - description = "admin"; + description = "Steven Carpenter"; extraGroups = [ "wheel" "docker" ]; }; } \ No newline at end of file diff --git a/users/speccon18/home.nix b/users/speccon18/home.nix index 05f53e9..b70877c 100644 --- a/users/speccon18/home.nix +++ b/users/speccon18/home.nix @@ -13,7 +13,6 @@ firefox discord nodejs-18_x - nerdfonts fira-code gimp obsidian From 4d8cb7e83d39eba70a110a6cc97a755064a67d78 Mon Sep 17 00:00:00 2001 From: Steven Date: Wed, 2 Aug 2023 06:01:26 -0400 Subject: [PATCH 164/233] cleaned dead config --- extract.sh | 36 ++++++ flake.nix | 7 +- hosts/katana/system-pkgs.nix | 6 +- modules/home-manager/eww.nix | 6 - modules/home-manager/hyprland.nix | 3 + modules/home-manager/starship.nix | 1 - modules/home-manager/syncthing.nix | 2 +- modules/home-manager/waybar.nix | 108 +----------------- modules/home-manager/zoxide.nix | 1 - modules/home-manager/zsh.nix | 6 +- modules/system/desktop-environments/gnome.nix | 4 +- .../system/desktop-environments/hyprland.nix | 34 ++++-- .../system/desktop-environments/wayfire.nix | 6 - users/speccon18/default.nix | 8 +- users/speccon18/home.nix | 6 +- 15 files changed, 87 insertions(+), 147 deletions(-) create mode 100644 extract.sh delete mode 100644 modules/home-manager/eww.nix delete mode 100644 modules/system/desktop-environments/wayfire.nix diff --git a/extract.sh b/extract.sh new file mode 100644 index 0000000..0393cd4 --- /dev/null +++ b/extract.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +function extract { +if [ -z "$1" ]; then + # display usage if no parameters given + echo "Usage: extract ." + echo " extract [path/file_name_2.ext] [path/file_name_3.ext]" +else + for n in "$@" + do + if [ -f "$n" ] ; then + case "${n%,}" in + *.tar.bz2|*.tar.gz|*.tar.xz|*.tbz2|*.tgz|*.txz|*.tar) + tar xvf "$n" ;; + *.lzma) unlzma ./"$n" ;; + *.bz2) bunzip2 ./"$n" ;; + *.rar) unrar x -ad ./"$n" ;; + *.gz) gunzip ./"$n" ;; + *.zip) unzip ./"$n" ;; + *.z) uncompress ./"$n" ;; + *.7z|*.arj|*.cab|*.chm|*.deb|*.dmg|*.iso|*.lzh|*.msi|*.rpm|*.udf|*.wim|*.xar) + 7z x ./"$n" ;; + *.xz) unxz ./"$n" ;; + *.exe) cabextract ./"$n" ;; + *) + echo "extract: '$n' - unknown archive method" + return 1 + ;; + esac + else + echo "'$n' - file does not exist" + return 1 + fi + done +fi +} diff --git a/flake.nix b/flake.nix index 31f3603..66e888c 100644 --- a/flake.nix +++ b/flake.nix @@ -63,22 +63,21 @@ ./machines/katana.nix #machine specific configuration "speccon18" #default user [ - hyprland.nixosModules.default - {programs.hyprland.enable = true;} + # hyprland.nixosModules.default + # ./modules/system/desktop-environments/hyprland.nix ./hosts/katana/default.nix ./hosts/katana/networkd.nix ./hosts/katana/system-pkgs.nix ./modules/system/services/docker.nix ./modules/system/services/openssh.nix ./modules/system/desktop-environments/gnome.nix - ./modules/system/desktop-environments/hyprland.nix ./modules/system/services/syncthing.nix ./modules/system/services/tailscale.nix ] #extra modules to load [ hyprland.homeManagerModules.default - ./modules/home-manager/hyprland.nix + # ./modules/home-manager/hyprland.nix ./modules/home-manager/helix.nix ./modules/home-manager/alacritty.nix ./modules/home-manager/vscode.nix diff --git a/hosts/katana/system-pkgs.nix b/hosts/katana/system-pkgs.nix index 73d4b39..e4da837 100644 --- a/hosts/katana/system-pkgs.nix +++ b/hosts/katana/system-pkgs.nix @@ -1,19 +1,18 @@ { modulesPath, config, pkgs, lib, self, ... }: { environment.systemPackages = with pkgs; [ + pkg-config ripgrep + openssl tree - cargo unrar unzip gzip p7zip bzip2 dconf2nix - rustc bat exa - mdbook uutils-coreutils htop zsh @@ -24,5 +23,6 @@ direnv #used for development environments python39 gcc + bottom ]; } \ No newline at end of file diff --git a/modules/home-manager/eww.nix b/modules/home-manager/eww.nix deleted file mode 100644 index 270c708..0000000 --- a/modules/home-manager/eww.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - programs.eww = { - enable=false; - configDir=../../dotfiles/eww; - }; -} \ No newline at end of file diff --git a/modules/home-manager/hyprland.nix b/modules/home-manager/hyprland.nix index e7990b2..a8245b3 100644 --- a/modules/home-manager/hyprland.nix +++ b/modules/home-manager/hyprland.nix @@ -5,6 +5,9 @@ extraConfig = '' bind = SUPER, Return, exec, alacritty bind = CONTROL_SHIFT, W, exec, firefox + bind = CONTROL_SHIFT, Lm, exec, rofi -show drun + exec-once=/usr/lib/polkit-kde-authentication-agent-1 + exec-once=waybar ''; }; } diff --git a/modules/home-manager/starship.nix b/modules/home-manager/starship.nix index ff0b8b6..f0a07ee 100644 --- a/modules/home-manager/starship.nix +++ b/modules/home-manager/starship.nix @@ -3,6 +3,5 @@ programs.starship = { enable = true; enableZshIntegration = true; - enableNushellIntegration = false; }; } \ No newline at end of file diff --git a/modules/home-manager/syncthing.nix b/modules/home-manager/syncthing.nix index 94c102f..2bc4db8 100644 --- a/modules/home-manager/syncthing.nix +++ b/modules/home-manager/syncthing.nix @@ -2,6 +2,6 @@ { services.syncthing = { enable = true; - tray.enable = true; + tray.enable = false; }; } \ No newline at end of file diff --git a/modules/home-manager/waybar.nix b/modules/home-manager/waybar.nix index 1750c0d..8982b36 100644 --- a/modules/home-manager/waybar.nix +++ b/modules/home-manager/waybar.nix @@ -1,4 +1,4 @@ - { pkgs, config, lib, ...}: +{ pkgs, config, lib, ...}: { programs.waybar = { enable = true; @@ -7,22 +7,19 @@ main_bar = { layer = "top"; modules-left = [ - "custom/launcher" "cpu" "memory" - "custom/media" "tray" ]; - modules-center = []; + modules-center = [ + "clock" + ]; modules-right = [ - "custom/updates" - "custom/wallpaper" "backlight" "custom/pw-volume" - "clock" "battery" - "custom/power" ]; + "custom/pipewire" = { "exec" = "pw-volume status"; "return-type" = "json"; @@ -85,39 +82,6 @@ "format" = " {}%"; "max-length" = 10; }; - "custom/media" = { - "interval" = 30; - "format" = "{icon} {}"; - "return-type" = "json"; - "max-length" = 20; - "format-icons" = { - "spotify" = " "; - "default" = " "; - }; - "escape" = true; - "exec" = "$HOME/.config/system_scripts/mediaplayer.py 2> /dev/null"; - "on-click" = "playerctl play-pause"; - }; - "custom/launcher" = { - "format" = " "; - "on-click" = "rofi -show drun"; - "on-click-right" = "killall rofi"; - }; - "custom/power" = { - "format" = " "; - "on-click" = "bash ~/.config/rofi/leave/leave.sh"; - }; - "custom/updates" = { - "format" = "{} Update(s)"; - "exec" = "checkupdates | wc -l"; - "exec-if" = "[[ $(checkupdates | wc -l) != 0 ]]"; - "interval" = 15; - "on-click" = "alacritty -e paru -Syu && notify-send 'The system has been updated' "; - }; - "custom/wallpaper" = { - "format" = " "; - "on-click" = "bash ~/.config/system_scripts/pkill_bc"; - }; }; }; style = '' @@ -253,68 +217,6 @@ color: #B5E8E0; background: #161320; } - - #custom-launcher { - font-size: 24px; - margin-top: 6px; - margin-left: 8px; - padding-left: 10px; - padding-right: 5px; - border-radius: 10px; - transition: none; - color: #89DCEB; - background: #161320; - } - - #custom-power { - font-size: 20px; - margin-top: 6px; - margin-left: 8px; - margin-right: 8px; - padding-left: 10px; - padding-right: 5px; - margin-bottom: 0px; - border-radius: 10px; - transition: none; - color: #161320; - background: #F28FAD; - } - - #custom-wallpaper { - margin-top: 6px; - margin-left: 8px; - padding-left: 10px; - padding-right: 10px; - margin-bottom: 0px; - border-radius: 10px; - transition: none; - color: #161320; - background: #C9CBFF; - } - - #custom-updates { - margin-top: 6px; - margin-left: 8px; - padding-left: 10px; - padding-right: 10px; - margin-bottom: 0px; - border-radius: 10px; - transition: none; - color: #161320; - background: #E8A2AF; - } - - #custom-media { - margin-top: 6px; - margin-left: 8px; - padding-left: 10px; - padding-right: 10px; - margin-bottom: 0px; - border-radius: 10px; - transition: none; - color: #161320; - background: #F2CDCD; - } ''; }; } \ No newline at end of file diff --git a/modules/home-manager/zoxide.nix b/modules/home-manager/zoxide.nix index a22f922..f2ddb01 100644 --- a/modules/home-manager/zoxide.nix +++ b/modules/home-manager/zoxide.nix @@ -3,6 +3,5 @@ programs.zoxide = { enable = true; enableZshIntegration = lib.mkDefault true; -# enableNushellIntegration = false; }; } \ No newline at end of file diff --git a/modules/home-manager/zsh.nix b/modules/home-manager/zsh.nix index 9f508d2..a00dd15 100644 --- a/modules/home-manager/zsh.nix +++ b/modules/home-manager/zsh.nix @@ -14,12 +14,10 @@ ls = "exa -l"; lsa = "exa -al"; cd = "z"; - osrb = "sudo nixos-rebuild $1 --flake ~/code/nix/nixos-config/#creatorforge-framework"; + osrb = "sudo nixos-rebuild $1 --flake ~/code/nixos-config/#katana"; zel = "zellij -s"; - ns = "nix-shell"; top = "btm"; - hx = "hx"; - cat = "bat"; + cat = "bat --decorations=never"; extract = "~/.config/zsh/extract.sh"; }; localVariables = { diff --git a/modules/system/desktop-environments/gnome.nix b/modules/system/desktop-environments/gnome.nix index 7474831..1e2163f 100644 --- a/modules/system/desktop-environments/gnome.nix +++ b/modules/system/desktop-environments/gnome.nix @@ -4,9 +4,9 @@ environment.systemPackages = with pkgs; [ gnomeExtensions.dock-from-dash gnomeExtensions.pop-shell - gnome.gnome-tweaks gnome-extension-manager ]; + services = { gnome = { core-utilities.enable = false; @@ -35,7 +35,7 @@ xwayland.enable = lib.mkDefault true; }; - xdg= { + xdg = { portal = { enable = lib.mkDefault true; }; mime.defaultApplications = { "text/markdown" = "hx"; diff --git a/modules/system/desktop-environments/hyprland.nix b/modules/system/desktop-environments/hyprland.nix index 622af24..9251742 100644 --- a/modules/system/desktop-environments/hyprland.nix +++ b/modules/system/desktop-environments/hyprland.nix @@ -1,11 +1,29 @@ { config, pkgs, lib, ... }: { - environment.systemPackages = with pkgs; [ - libsForQt5.polkit-kde-agent - libsForQt5.qt5.qtwayland - qt6.qtwayland - waybar - swww - pw-volume - ]; + programs.hyprland = { + enable = true; + nvidiaPatches = true; + xwayland.enable = true; + }; + environment = { + systemPackages = with pkgs; [ + libsForQt5.polkit-kde-agent + libsForQt5.qt5.qtwayland + qt6.qtwayland + waybar + swww + pw-volume + rofi-wayland + libnotify + mako + ]; + sessionVariables = { + WLR_NO_HARDWARE_CURSORS = "1"; + NIXOS_OZONE_WL = "1"; + }; + }; + hardware = { +# opengl.enable = true; + nvidia.modesetting.enable = true; + }; } \ No newline at end of file diff --git a/modules/system/desktop-environments/wayfire.nix b/modules/system/desktop-environments/wayfire.nix deleted file mode 100644 index 3373d70..0000000 --- a/modules/system/desktop-environments/wayfire.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ config, pkgs, lib, ... }: -{ - environment.systemPackages = with pkgs; [ - inputs.nixpkgs-wayland.packages.${system}.wayfire-unstable - ]; -} \ No newline at end of file diff --git a/users/speccon18/default.nix b/users/speccon18/default.nix index 838a764..767bd70 100644 --- a/users/speccon18/default.nix +++ b/users/speccon18/default.nix @@ -6,10 +6,12 @@ isNormalUser = true; initialHashedPassword = "$y$j9T$RdLBHOvUpb17egl0d16LT/$3Y2RD/tT1IZ0nkfAR13pp3IzBjvKLRgGpDPLobUeO23"; openssh.authorizedKeys.keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILdigmndcdQD/864P059K2hZOXyEkbGvMkH0/b2QavkD speccon18@creatorforge" - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPc1AQ6hcjdSZZuhS5SISwtulFoTLpC5f5JoMFQkZ5l2 specCon18@DESKTOP-Q1I2PAE" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIrZpH5QV62dtTb2yx5I3PF2lJyNpPkV57pDlo6xawID" ]; description = "Steven Carpenter"; - extraGroups = [ "wheel" "docker" ]; + extraGroups = [ + "wheel" + "docker" + ]; }; } \ No newline at end of file diff --git a/users/speccon18/home.nix b/users/speccon18/home.nix index b70877c..c601d6a 100644 --- a/users/speccon18/home.nix +++ b/users/speccon18/home.nix @@ -7,21 +7,17 @@ packages = with pkgs; [ inkscape freecad - prismlauncher calibre bitwarden firefox discord - nodejs-18_x - fira-code + nodejs-20_x gimp obsidian neofetch vlc remmina bacon - bottom - broot ]; }; } From 2cf51b15785d9d59731d44fb24a6345a134644ba Mon Sep 17 00:00:00 2001 From: specCon18 Date: Wed, 2 Aug 2023 06:17:10 -0400 Subject: [PATCH 165/233] updated_node --- users/speccon18/home.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/users/speccon18/home.nix b/users/speccon18/home.nix index c601d6a..f7e993e 100644 --- a/users/speccon18/home.nix +++ b/users/speccon18/home.nix @@ -11,7 +11,8 @@ bitwarden firefox discord - nodejs-20_x + nodejs_20 + fira-code gimp obsidian neofetch From 29f24dabfc0f5aeae4396e84b62fea6c19af06fa Mon Sep 17 00:00:00 2001 From: specCon18 Date: Tue, 15 Aug 2023 02:45:13 -0400 Subject: [PATCH 166/233] updated alacritty config --- flake.nix | 2 +- hosts/katana/system-pkgs.nix | 1 + modules/home-manager/alacritty.nix | 4 ++-- modules/system/power_management/packages.nix | 8 ++++++++ 4 files changed, 12 insertions(+), 3 deletions(-) create mode 100644 modules/system/power_management/packages.nix diff --git a/flake.nix b/flake.nix index 66e888c..7c7092c 100644 --- a/flake.nix +++ b/flake.nix @@ -76,7 +76,7 @@ ] #extra modules to load [ - hyprland.homeManagerModules.default + # hyprland.homeManagerModules.default # ./modules/home-manager/hyprland.nix ./modules/home-manager/helix.nix ./modules/home-manager/alacritty.nix diff --git a/hosts/katana/system-pkgs.nix b/hosts/katana/system-pkgs.nix index e4da837..a8c367e 100644 --- a/hosts/katana/system-pkgs.nix +++ b/hosts/katana/system-pkgs.nix @@ -1,6 +1,7 @@ { modulesPath, config, pkgs, lib, self, ... }: { environment.systemPackages = with pkgs; [ + nerdfonts pkg-config ripgrep openssl diff --git a/modules/home-manager/alacritty.nix b/modules/home-manager/alacritty.nix index 3eb1366..758ede6 100644 --- a/modules/home-manager/alacritty.nix +++ b/modules/home-manager/alacritty.nix @@ -8,8 +8,8 @@ columns = 120; lines = 25; }; - decorations = "full"; - opacity = 0.9; + decorations = "none"; + opacity = 0.8; title = "Alacritty"; }; font = { diff --git a/modules/system/power_management/packages.nix b/modules/system/power_management/packages.nix new file mode 100644 index 0000000..19c0f73 --- /dev/null +++ b/modules/system/power_management/packages.nix @@ -0,0 +1,8 @@ +{ modulesPath, config, pkgs, lib, self, ... }: +{ + environment.systemPackages = with pkgs; [ + # powertop + # tlp + + ]; +} \ No newline at end of file From f4f4f3c5692f4d9323ee61aafcd888e63b66e7af Mon Sep 17 00:00:00 2001 From: specCon18 Date: Tue, 15 Aug 2023 03:13:57 -0400 Subject: [PATCH 167/233] updated helix config --- modules/home-manager/alacritty.nix | 7 +++++++ modules/home-manager/helix.nix | 17 ++++++++++++++++- modules/home-manager/zsh.nix | 4 +--- 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/modules/home-manager/alacritty.nix b/modules/home-manager/alacritty.nix index 758ede6..3b0bd78 100644 --- a/modules/home-manager/alacritty.nix +++ b/modules/home-manager/alacritty.nix @@ -3,6 +3,13 @@ programs.alacritty = { enable = true; settings = { + cursor = { + style = { + shape = "Beam"; + blinking = "On"; + blink_interval = 75; + }; + }; window = { dimensions = { columns = 120; diff --git a/modules/home-manager/helix.nix b/modules/home-manager/helix.nix index c0ea883..d3d0b2f 100644 --- a/modules/home-manager/helix.nix +++ b/modules/home-manager/helix.nix @@ -25,15 +25,30 @@ scroll-lines = 1; scrolloff = 5; cursorline = true; + cursor-shape = { + normal = "block"; + insert = "bar"; + select = "underline"; + }; color-modes = true; indent-guides.render = true; file-picker.hidden = false; auto-pairs = true; lsp = { + enable = true; display-messages = true; + auto-signature-help = true; + display-signature-help-docs = true; + snippets = true; + goto-reference-include-declaration = true; }; statusline = { - left = [ "mode" "spinner" "file-name" ]; + mode = { + normal = "NORMAL"; + insert = "INSERT"; + select = "SELECT"; + }; + left = [ "mode" "separator" "spinner" "separator" "file-name" ]; right = [ "diagnostics" "position" "file-encoding" ]; }; }; diff --git a/modules/home-manager/zsh.nix b/modules/home-manager/zsh.nix index a00dd15..71bff30 100644 --- a/modules/home-manager/zsh.nix +++ b/modules/home-manager/zsh.nix @@ -14,11 +14,9 @@ ls = "exa -l"; lsa = "exa -al"; cd = "z"; - osrb = "sudo nixos-rebuild $1 --flake ~/code/nixos-config/#katana"; - zel = "zellij -s"; + osrb = "sudo nixos-rebuild $1 --flake ~/code/nixos-config/#$2"; top = "btm"; cat = "bat --decorations=never"; - extract = "~/.config/zsh/extract.sh"; }; localVariables = { EDITOR="hx"; From e6afe01bce2f3d47f51c36926a7b6685b697b8af Mon Sep 17 00:00:00 2001 From: specCon18 Date: Tue, 15 Aug 2023 04:17:59 -0400 Subject: [PATCH 168/233] added GC to katana. --- machines/katana.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/machines/katana.nix b/machines/katana.nix index eea732b..6a77d1a 100644 --- a/machines/katana.nix +++ b/machines/katana.nix @@ -19,7 +19,13 @@ # Prevent tampering of the pkgstore readOnlyNixStore = true; }; - + nix = { + gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 7d"; + }; + }; fileSystems."/" = { device = "/dev/disk/by-uuid/55c746b3-b9dc-4c9b-ab56-de68a561f9a3"; fsType = "ext4"; From bdb22dbc6f97960bb274644a38506c2b9a179504 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Tue, 15 Aug 2023 04:18:33 -0400 Subject: [PATCH 169/233] added term env_variable --- modules/home-manager/zsh.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/home-manager/zsh.nix b/modules/home-manager/zsh.nix index 71bff30..25d96d0 100644 --- a/modules/home-manager/zsh.nix +++ b/modules/home-manager/zsh.nix @@ -14,12 +14,13 @@ ls = "exa -l"; lsa = "exa -al"; cd = "z"; - osrb = "sudo nixos-rebuild $1 --flake ~/code/nixos-config/#$2"; + osrb = "sudo nixos-rebuild $1 --flake ~/code/nixos-config/#katana"; top = "btm"; cat = "bat --decorations=never"; }; localVariables = { EDITOR="hx"; + TERM="alacritty"; }; }; } \ No newline at end of file From 799c18bc3c089c193caddc820907a637d8f67cf9 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Tue, 15 Aug 2023 04:19:08 -0400 Subject: [PATCH 170/233] re enabled hyprland --- flake.nix | 10 +++++----- hosts/katana/system-pkgs.nix | 2 ++ 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/flake.nix b/flake.nix index 7c7092c..459aa1c 100644 --- a/flake.nix +++ b/flake.nix @@ -63,8 +63,8 @@ ./machines/katana.nix #machine specific configuration "speccon18" #default user [ - # hyprland.nixosModules.default - # ./modules/system/desktop-environments/hyprland.nix + hyprland.nixosModules.default + ./modules/system/desktop-environments/hyprland.nix ./hosts/katana/default.nix ./hosts/katana/networkd.nix ./hosts/katana/system-pkgs.nix @@ -74,10 +74,10 @@ ./modules/system/services/syncthing.nix ./modules/system/services/tailscale.nix - ] #extra modules to load + ] #extra modules to be loaded [ - # hyprland.homeManagerModules.default - # ./modules/home-manager/hyprland.nix + hyprland.homeManagerModules.default + ./modules/home-manager/hyprland.nix ./modules/home-manager/helix.nix ./modules/home-manager/alacritty.nix ./modules/home-manager/vscode.nix diff --git a/hosts/katana/system-pkgs.nix b/hosts/katana/system-pkgs.nix index a8c367e..e7c40bf 100644 --- a/hosts/katana/system-pkgs.nix +++ b/hosts/katana/system-pkgs.nix @@ -25,5 +25,7 @@ python39 gcc bottom + felix-fm + gitui ]; } \ No newline at end of file From 5a42f798039411184c36b54cf1d0918999aa49ca Mon Sep 17 00:00:00 2001 From: specCon18 Date: Tue, 15 Aug 2023 04:58:04 -0400 Subject: [PATCH 171/233] updated alacritty opacity --- modules/home-manager/alacritty.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/home-manager/alacritty.nix b/modules/home-manager/alacritty.nix index 3b0bd78..da3e1b5 100644 --- a/modules/home-manager/alacritty.nix +++ b/modules/home-manager/alacritty.nix @@ -16,7 +16,7 @@ lines = 25; }; decorations = "none"; - opacity = 0.8; + opacity = 0.9; title = "Alacritty"; }; font = { From 47e69553c124c6709d6daabcdd02cce5719093a7 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Tue, 15 Aug 2023 12:47:40 -0400 Subject: [PATCH 172/233] updated hyprland config --- flake.lock | 59 +------------------ flake.nix | 14 ++--- hosts/katana/system-pkgs.nix | 1 + modules/home-manager/hyprland.nix | 5 +- modules/system/desktop-environments/gnome.nix | 2 +- .../system/desktop-environments/hyprland.nix | 8 ++- 6 files changed, 18 insertions(+), 71 deletions(-) diff --git a/flake.lock b/flake.lock index 72b1c17..51dd287 100644 --- a/flake.lock +++ b/flake.lock @@ -158,27 +158,6 @@ "type": "github" } }, - "hyprland-protocols_2": { - "inputs": { - "nixpkgs": [ - "xdph", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1681065697, - "narHash": "sha256-QPzwwlGKX95tl6ZEshboZbEwwAXww6lNLdVYd6T9Mrc=", - "owner": "hyprwm", - "repo": "hyprland-protocols", - "rev": "4d29e48433270a2af06b8bc711ca1fe5109746cd", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprland-protocols", - "type": "github" - } - }, "lowdown-src": { "flake": false, "locked": { @@ -347,22 +326,6 @@ "type": "github" } }, - "nixpkgs_5": { - "locked": { - "lastModified": 1680945546, - "narHash": "sha256-8FuaH5t/aVi/pR1XxnF0qi4WwMYC+YxlfdsA0V+TEuQ=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "d9f759f2ea8d265d974a6e1259bd510ac5844c5d", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "pre-commit-hooks": { "inputs": { "flake-compat": [ @@ -399,8 +362,7 @@ "hyprland": "hyprland", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs_3", - "sops-nix": "sops-nix", - "xdph": "xdph_2" + "sops-nix": "sops-nix" } }, "sops-nix": { @@ -464,25 +426,6 @@ "repo": "xdg-desktop-portal-hyprland", "type": "github" } - }, - "xdph_2": { - "inputs": { - "hyprland-protocols": "hyprland-protocols_2", - "nixpkgs": "nixpkgs_5" - }, - "locked": { - "lastModified": 1681489757, - "narHash": "sha256-FxgZ2jBU+wmbjIv7F4N5Jx6h+LD4aQ+bXHrzrbxapJk=", - "owner": "hyprwm", - "repo": "xdg-desktop-portal-hyprland", - "rev": "bf035bf3d5b56fd3da9d11966ad0b3c57f852d78", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "xdg-desktop-portal-hyprland", - "type": "github" - } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 459aa1c..52f8021 100644 --- a/flake.nix +++ b/flake.nix @@ -6,8 +6,8 @@ nixos-hardware.url = "github:NixOS/nixos-hardware/master"; sops-nix.url = github:Mic92/sops-nix; devenv.url = "github:cachix/devenv/latest"; - hyprland.url = "github:hyprwm/Hyprland"; - xdph.url = "github:hyprwm/xdg-desktop-portal-hyprland"; + # hyprland.url = "github:hyprwm/Hyprland"; + # xdph.url = "github:hyprwm/xdg-desktop-portal-hyprland"; home-manager = { url = "github:nix-community/home-manager/release-23.05"; inputs.nixpkgs.follows = "nixpkgs"; @@ -18,7 +18,7 @@ }; }; - outputs = { self, home-manager, nixos-hardware, disko, nixpkgs, sops-nix, devenv, hyprland, ... }@inputs: + outputs = { self, home-manager, nixos-hardware, disko, nixpkgs, sops-nix, devenv, ... }@inputs: let system = "x86_64-linux"; pkgs = import nixpkgs { @@ -63,8 +63,8 @@ ./machines/katana.nix #machine specific configuration "speccon18" #default user [ - hyprland.nixosModules.default - ./modules/system/desktop-environments/hyprland.nix + # hyprland.nixosModules.default + # ./modules/system/desktop-environments/hyprland.nix ./hosts/katana/default.nix ./hosts/katana/networkd.nix ./hosts/katana/system-pkgs.nix @@ -76,8 +76,8 @@ ] #extra modules to be loaded [ - hyprland.homeManagerModules.default - ./modules/home-manager/hyprland.nix + # hyprland.homeManagerModules.default + # ./modules/home-manager/hyprland.nix ./modules/home-manager/helix.nix ./modules/home-manager/alacritty.nix ./modules/home-manager/vscode.nix diff --git a/hosts/katana/system-pkgs.nix b/hosts/katana/system-pkgs.nix index e7c40bf..9a8f94b 100644 --- a/hosts/katana/system-pkgs.nix +++ b/hosts/katana/system-pkgs.nix @@ -27,5 +27,6 @@ bottom felix-fm gitui + swww ]; } \ No newline at end of file diff --git a/modules/home-manager/hyprland.nix b/modules/home-manager/hyprland.nix index a8245b3..af1d38f 100644 --- a/modules/home-manager/hyprland.nix +++ b/modules/home-manager/hyprland.nix @@ -5,9 +5,10 @@ extraConfig = '' bind = SUPER, Return, exec, alacritty bind = CONTROL_SHIFT, W, exec, firefox - bind = CONTROL_SHIFT, Lm, exec, rofi -show drun - exec-once=/usr/lib/polkit-kde-authentication-agent-1 + bind = SUPER, colon, exec, rofi -show drun exec-once=waybar + exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP + exec-once=mako ''; }; } diff --git a/modules/system/desktop-environments/gnome.nix b/modules/system/desktop-environments/gnome.nix index 1e2163f..1882022 100644 --- a/modules/system/desktop-environments/gnome.nix +++ b/modules/system/desktop-environments/gnome.nix @@ -36,7 +36,7 @@ }; xdg = { - portal = { enable = lib.mkDefault true; }; +# portal = { enable = lib.mkDefault true; }; mime.defaultApplications = { "text/markdown" = "hx"; }; diff --git a/modules/system/desktop-environments/hyprland.nix b/modules/system/desktop-environments/hyprland.nix index 9251742..415ea0b 100644 --- a/modules/system/desktop-environments/hyprland.nix +++ b/modules/system/desktop-environments/hyprland.nix @@ -7,8 +7,9 @@ }; environment = { systemPackages = with pkgs; [ - libsForQt5.polkit-kde-agent + # libsForQt5.polkit-kde-agent libsForQt5.qt5.qtwayland + qt6.full qt6.qtwayland waybar swww @@ -16,6 +17,7 @@ rofi-wayland libnotify mako + xdg-desktop-portal-hyprland ]; sessionVariables = { WLR_NO_HARDWARE_CURSORS = "1"; @@ -23,7 +25,7 @@ }; }; hardware = { -# opengl.enable = true; - nvidia.modesetting.enable = true; + opengl.enable = true; + nvidia.modesetting.enable = true; }; } \ No newline at end of file From 00554ce7032d5528896b6c5322a57bdb2a92d186 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Tue, 15 Aug 2023 20:39:38 -0400 Subject: [PATCH 173/233] for skys review --- flake.lock | 108 +----------------- hosts/katana/system-pkgs.nix | 1 + modules/home-manager/alacritty.nix | 2 +- modules/home-manager/zsh.nix | 1 - modules/system/desktop-environments/gnome.nix | 2 +- 5 files changed, 6 insertions(+), 108 deletions(-) diff --git a/flake.lock b/flake.lock index 51dd287..0a8e062 100644 --- a/flake.lock +++ b/flake.lock @@ -116,48 +116,6 @@ "type": "github" } }, - "hyprland": { - "inputs": { - "hyprland-protocols": "hyprland-protocols", - "nixpkgs": "nixpkgs_2", - "wlroots": "wlroots", - "xdph": "xdph" - }, - "locked": { - "lastModified": 1681814936, - "narHash": "sha256-UTNojO9MRW4hQvv8QuSerUE/6KnjCYh9p45SRYQbov4=", - "owner": "hyprwm", - "repo": "Hyprland", - "rev": "a4330fe3787a97fe5b55eb787ce5746cea46ad14", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "Hyprland", - "type": "github" - } - }, - "hyprland-protocols": { - "inputs": { - "nixpkgs": [ - "hyprland", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1681065697, - "narHash": "sha256-QPzwwlGKX95tl6ZEshboZbEwwAXww6lNLdVYd6T9Mrc=", - "owner": "hyprwm", - "repo": "hyprland-protocols", - "rev": "4d29e48433270a2af06b8bc711ca1fe5109746cd", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprland-protocols", - "type": "github" - } - }, "lowdown-src": { "flake": false, "locked": { @@ -279,22 +237,6 @@ } }, "nixpkgs_2": { - "locked": { - "lastModified": 1681557730, - "narHash": "sha256-j2E3639kS3Qop2jQPyqWCdenZNaqIdxfoTvAHnGuAGI=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "85b081528b937df4bfcaee80c3541b58f397df8b", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_3": { "locked": { "lastModified": 1690726002, "narHash": "sha256-cACz6jCJZtsZHGCJAN4vMobxzH5s6FCOTZHMrh/Hu0M=", @@ -310,7 +252,7 @@ "type": "github" } }, - "nixpkgs_4": { + "nixpkgs_3": { "locked": { "lastModified": 1679734080, "narHash": "sha256-z846xfGLlon6t9lqUzlNtBOmsgQLQIZvR6Lt2dImk1M=", @@ -359,15 +301,14 @@ "devenv": "devenv", "disko": "disko", "home-manager": "home-manager", - "hyprland": "hyprland", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_2", "sops-nix": "sops-nix" } }, "sops-nix": { "inputs": { - "nixpkgs": "nixpkgs_4", + "nixpkgs": "nixpkgs_3", "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { @@ -383,49 +324,6 @@ "repo": "sops-nix", "type": "github" } - }, - "wlroots": { - "flake": false, - "locked": { - "host": "gitlab.freedesktop.org", - "lastModified": 1680810405, - "narHash": "sha256-LmI/4Yp/pOOoI4RxLRx9I90NBsiqdRLVOfbATKlgpkg=", - "owner": "wlroots", - "repo": "wlroots", - "rev": "7abda952d0000b72d240fe1d41457b9288f0b6e5", - "type": "gitlab" - }, - "original": { - "host": "gitlab.freedesktop.org", - "owner": "wlroots", - "repo": "wlroots", - "type": "gitlab" - } - }, - "xdph": { - "inputs": { - "hyprland-protocols": [ - "hyprland", - "hyprland-protocols" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1681127512, - "narHash": "sha256-vklOOhBj5W8fii6yN4L2WY5ZeifBmsq3+mJ2wC1Pk9U=", - "owner": "hyprwm", - "repo": "xdg-desktop-portal-hyprland", - "rev": "04f579377a32781ce57c9cf4ba2a5bcb7f53fa97", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "xdg-desktop-portal-hyprland", - "type": "github" - } } }, "root": "root", diff --git a/hosts/katana/system-pkgs.nix b/hosts/katana/system-pkgs.nix index 9a8f94b..9ecf74b 100644 --- a/hosts/katana/system-pkgs.nix +++ b/hosts/katana/system-pkgs.nix @@ -28,5 +28,6 @@ felix-fm gitui swww + rofi ]; } \ No newline at end of file diff --git a/modules/home-manager/alacritty.nix b/modules/home-manager/alacritty.nix index da3e1b5..ea0f7c0 100644 --- a/modules/home-manager/alacritty.nix +++ b/modules/home-manager/alacritty.nix @@ -15,7 +15,7 @@ columns = 120; lines = 25; }; - decorations = "none"; + decorations = "full"; opacity = 0.9; title = "Alacritty"; }; diff --git a/modules/home-manager/zsh.nix b/modules/home-manager/zsh.nix index 25d96d0..7ef2680 100644 --- a/modules/home-manager/zsh.nix +++ b/modules/home-manager/zsh.nix @@ -20,7 +20,6 @@ }; localVariables = { EDITOR="hx"; - TERM="alacritty"; }; }; } \ No newline at end of file diff --git a/modules/system/desktop-environments/gnome.nix b/modules/system/desktop-environments/gnome.nix index 1882022..1e2163f 100644 --- a/modules/system/desktop-environments/gnome.nix +++ b/modules/system/desktop-environments/gnome.nix @@ -36,7 +36,7 @@ }; xdg = { -# portal = { enable = lib.mkDefault true; }; + portal = { enable = lib.mkDefault true; }; mime.defaultApplications = { "text/markdown" = "hx"; }; From 51634b115a78e0a3c74ed0c34281adcb58225388 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Tue, 15 Aug 2023 21:35:08 -0400 Subject: [PATCH 174/233] converted to having an enable for desktop envs --- modules/system/desktop-environments/gnome.nix | 69 ++++++++++-------- .../system/desktop-environments/hyprland.nix | 71 ++++++++++++------- 2 files changed, 85 insertions(+), 55 deletions(-) diff --git a/modules/system/desktop-environments/gnome.nix b/modules/system/desktop-environments/gnome.nix index 1e2163f..9bccc32 100644 --- a/modules/system/desktop-environments/gnome.nix +++ b/modules/system/desktop-environments/gnome.nix @@ -1,34 +1,45 @@ -{ config, pkgs, lib, ... }: { - # Gnome extensions - environment.systemPackages = with pkgs; [ - gnomeExtensions.dock-from-dash - gnomeExtensions.pop-shell - gnome-extension-manager - ]; + config, + pkgs, + lib, + ... +}: let + inherit (lib) mkEnableOption mkIf; + cfg = config.speccon18.desktop.gnome; +in { + options.speccon18.desktop.gnome = { + enable = mkEnableOption "enables specs custom gnome setup"; + }; + config = mkIf cfg.enable { + # Gnome extensions + environment.systemPackages = with pkgs; [ + gnomeExtensions.dock-from-dash + gnomeExtensions.pop-shell + gnome-extension-manager + ]; - services = { - gnome = { - core-utilities.enable = false; - gnome-keyring.enable = true; - }; - - xserver = { - enable = true; - layout = "us"; - xkbVariant = ""; - displayManager = { - gdm = { - enable = true; - wayland = true; - }; - defaultSession = lib.mkDefault "gnome"; - }; - desktopManager = { - xterm.enable = false; - gnome.enable = lib.mkDefault true; + services = { + gnome = { + core-utilities.enable = false; + gnome-keyring.enable = true; + }; + + xserver = { + enable = true; + layout = "us"; + xkbVariant = ""; + displayManager = { + gdm = { + enable = true; + wayland = true; + }; + defaultSession = lib.mkDefault "gnome"; + }; + desktopManager = { + xterm.enable = false; + gnome.enable = lib.mkDefault true; + }; }; - }; }; programs = { @@ -41,5 +52,5 @@ "text/markdown" = "hx"; }; }; - + }; } diff --git a/modules/system/desktop-environments/hyprland.nix b/modules/system/desktop-environments/hyprland.nix index 415ea0b..7f6cbdc 100644 --- a/modules/system/desktop-environments/hyprland.nix +++ b/modules/system/desktop-environments/hyprland.nix @@ -1,31 +1,50 @@ -{ config, pkgs, lib, ... }: { - programs.hyprland = { - enable = true; - nvidiaPatches = true; - xwayland.enable = true; + config, + pkgs, + lib, + ... +}: let + inherit (lib) mkEnableOption mkIf; + cfg = config.speccon18.desktop.hyprland; +in { + options.speccon18.desktop.hyprland = { + enable = mkEnableOption "enables specs custom hyprland setup"; }; - environment = { - systemPackages = with pkgs; [ - # libsForQt5.polkit-kde-agent - libsForQt5.qt5.qtwayland - qt6.full - qt6.qtwayland - waybar - swww - pw-volume - rofi-wayland - libnotify - mako - xdg-desktop-portal-hyprland - ]; - sessionVariables = { - WLR_NO_HARDWARE_CURSORS = "1"; - NIXOS_OZONE_WL = "1"; + config = mkIf cfg.enable { + programs.hyprland = { + enable = true; + nvidiaPatches = true; + xwayland.enable = true; + }; + environment = { + systemPackages = with pkgs; [ + # libsForQt5.polkit-kde-agent + libsForQt5.qt5.qtwayland + qt6.full + qt6.qtwayland + waybar + swww + pw-volume + rofi-wayland + libnotify + mako + xdg-desktop-portal-hyprland + ]; + sessionVariables = { + WLR_NO_HARDWARE_CURSORS = "1"; + NIXOS_OZONE_WL = "1"; + }; + }; + xdg.portal = { + enable = true; + extraPortals = [ + pkgs.xdg-desktop-portal-hyprland + pkgs.xdg-desktop-portal-gtk + ]; + }; + hardware = { + opengl.enable = true; + nvidia.modesetting.enable = true; }; }; - hardware = { - opengl.enable = true; - nvidia.modesetting.enable = true; - }; } \ No newline at end of file From f5cf55ef268523a1f75401d9a55f8ef2de179710 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Tue, 15 Aug 2023 21:38:37 -0400 Subject: [PATCH 175/233] added desktop module enable to katana --- hosts/katana/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hosts/katana/default.nix b/hosts/katana/default.nix index 121a917..c0bcadb 100644 --- a/hosts/katana/default.nix +++ b/hosts/katana/default.nix @@ -62,4 +62,6 @@ options = "--delete-older-than 7d"; }; }; + speccon18.desktop.hyperland.enable = true; + speccon18.desktop.gnome.enable = false; } \ No newline at end of file From bcc246acf935c075ecc32490605af5c1955d0ca3 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Tue, 15 Aug 2023 21:45:34 -0400 Subject: [PATCH 176/233] re-re-enabled hyperland --- flake.nix | 14 +++++++------- modules/home-manager/hyprland.nix | 3 ++- modules/system/desktop-environments/hyprland.nix | 1 - 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.nix b/flake.nix index 52f8021..55ac59d 100644 --- a/flake.nix +++ b/flake.nix @@ -6,8 +6,8 @@ nixos-hardware.url = "github:NixOS/nixos-hardware/master"; sops-nix.url = github:Mic92/sops-nix; devenv.url = "github:cachix/devenv/latest"; - # hyprland.url = "github:hyprwm/Hyprland"; - # xdph.url = "github:hyprwm/xdg-desktop-portal-hyprland"; + hyprland.url = "github:hyprwm/Hyprland"; + xdph.url = "github:hyprwm/xdg-desktop-portal-hyprland"; home-manager = { url = "github:nix-community/home-manager/release-23.05"; inputs.nixpkgs.follows = "nixpkgs"; @@ -18,7 +18,7 @@ }; }; - outputs = { self, home-manager, nixos-hardware, disko, nixpkgs, sops-nix, devenv, ... }@inputs: + outputs = { self, home-manager, nixos-hardware, disko, nixpkgs, sops-nix, devenv, hyprland, xdph ... }@inputs: let system = "x86_64-linux"; pkgs = import nixpkgs { @@ -63,8 +63,8 @@ ./machines/katana.nix #machine specific configuration "speccon18" #default user [ - # hyprland.nixosModules.default - # ./modules/system/desktop-environments/hyprland.nix + hyprland.nixosModules.default + ./modules/system/desktop-environments/hyprland.nix ./hosts/katana/default.nix ./hosts/katana/networkd.nix ./hosts/katana/system-pkgs.nix @@ -76,8 +76,8 @@ ] #extra modules to be loaded [ - # hyprland.homeManagerModules.default - # ./modules/home-manager/hyprland.nix + hyprland.homeManagerModules.default + ./modules/home-manager/hyprland.nix ./modules/home-manager/helix.nix ./modules/home-manager/alacritty.nix ./modules/home-manager/vscode.nix diff --git a/modules/home-manager/hyprland.nix b/modules/home-manager/hyprland.nix index af1d38f..d49047e 100644 --- a/modules/home-manager/hyprland.nix +++ b/modules/home-manager/hyprland.nix @@ -1,11 +1,12 @@ { pkgs, config, lib, ...}: { wayland.windowManager.hyprland = { + systemdIntegration = true; enable = true; extraConfig = '' bind = SUPER, Return, exec, alacritty bind = CONTROL_SHIFT, W, exec, firefox - bind = SUPER, colon, exec, rofi -show drun + bind = SUPER, R, exec, rofi -show drun exec-once=waybar exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP exec-once=mako diff --git a/modules/system/desktop-environments/hyprland.nix b/modules/system/desktop-environments/hyprland.nix index 7f6cbdc..e442c6a 100644 --- a/modules/system/desktop-environments/hyprland.nix +++ b/modules/system/desktop-environments/hyprland.nix @@ -28,7 +28,6 @@ in { rofi-wayland libnotify mako - xdg-desktop-portal-hyprland ]; sessionVariables = { WLR_NO_HARDWARE_CURSORS = "1"; From c157329ade3cf315154d9b232d2efb34653b8f73 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Tue, 15 Aug 2023 21:46:55 -0400 Subject: [PATCH 177/233] forgot a comma --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 55ac59d..d2f6d25 100644 --- a/flake.nix +++ b/flake.nix @@ -18,7 +18,7 @@ }; }; - outputs = { self, home-manager, nixos-hardware, disko, nixpkgs, sops-nix, devenv, hyprland, xdph ... }@inputs: + outputs = { self, home-manager, nixos-hardware, disko, nixpkgs, sops-nix, devenv, hyprland, xdph, ... }@inputs: let system = "x86_64-linux"; pkgs = import nixpkgs { From 51a05e7622ad0590dea8a55e00e632f54e51edd3 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Tue, 15 Aug 2023 21:49:21 -0400 Subject: [PATCH 178/233] fucking e --- flake.lock | 212 ++++++++++++++++++++++++++++++++++++++- hosts/katana/default.nix | 2 +- 2 files changed, 209 insertions(+), 5 deletions(-) diff --git a/flake.lock b/flake.lock index 0a8e062..d50ea6e 100644 --- a/flake.lock +++ b/flake.lock @@ -116,6 +116,78 @@ "type": "github" } }, + "hyprland": { + "inputs": { + "hyprland-protocols": "hyprland-protocols", + "nixpkgs": "nixpkgs_2", + "systems": "systems", + "wlroots": "wlroots", + "xdph": "xdph" + }, + "locked": { + "lastModified": 1692123043, + "narHash": "sha256-6YoTjAZgtJb9OzKrZxtLxjfYiGWSqMmh1Wyh9dvwXn8=", + "owner": "hyprwm", + "repo": "Hyprland", + "rev": "4986d74ef201171a930c312a8e3b72a22d9b84ee", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "Hyprland", + "type": "github" + } + }, + "hyprland-protocols": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1691753796, + "narHash": "sha256-zOEwiWoXk3j3+EoF3ySUJmberFewWlagvewDRuWYAso=", + "owner": "hyprwm", + "repo": "hyprland-protocols", + "rev": "0c2ce70625cb30aef199cb388f99e19a61a6ce03", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-protocols", + "type": "github" + } + }, + "hyprland-protocols_2": { + "inputs": { + "nixpkgs": [ + "xdph", + "nixpkgs" + ], + "systems": [ + "xdph", + "systems" + ] + }, + "locked": { + "lastModified": 1691753796, + "narHash": "sha256-zOEwiWoXk3j3+EoF3ySUJmberFewWlagvewDRuWYAso=", + "owner": "hyprwm", + "repo": "hyprland-protocols", + "rev": "0c2ce70625cb30aef199cb388f99e19a61a6ce03", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-protocols", + "type": "github" + } + }, "lowdown-src": { "flake": false, "locked": { @@ -237,6 +309,22 @@ } }, "nixpkgs_2": { + "locked": { + "lastModified": 1691654369, + "narHash": "sha256-gSILTEx1jRaJjwZxRlnu3ZwMn1FVNk80qlwiCX8kmpo=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "ce5e4a6ef2e59d89a971bc434ca8ca222b9c7f5e", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { "locked": { "lastModified": 1690726002, "narHash": "sha256-cACz6jCJZtsZHGCJAN4vMobxzH5s6FCOTZHMrh/Hu0M=", @@ -252,7 +340,7 @@ "type": "github" } }, - "nixpkgs_3": { + "nixpkgs_4": { "locked": { "lastModified": 1679734080, "narHash": "sha256-z846xfGLlon6t9lqUzlNtBOmsgQLQIZvR6Lt2dImk1M=", @@ -268,6 +356,22 @@ "type": "github" } }, + "nixpkgs_5": { + "locked": { + "lastModified": 1683014792, + "narHash": "sha256-6Va9iVtmmsw4raBc3QKvQT2KT/NGRWlvUlJj46zN8B8=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1a411f23ba299db155a5b45d5e145b85a7aafc42", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "pre-commit-hooks": { "inputs": { "flake-compat": [ @@ -301,14 +405,16 @@ "devenv": "devenv", "disko": "disko", "home-manager": "home-manager", + "hyprland": "hyprland", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_2", - "sops-nix": "sops-nix" + "nixpkgs": "nixpkgs_3", + "sops-nix": "sops-nix", + "xdph": "xdph_2" } }, "sops-nix": { "inputs": { - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_4", "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { @@ -324,6 +430,104 @@ "repo": "sops-nix", "type": "github" } + }, + "systems": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, + "systems_2": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, + "wlroots": { + "flake": false, + "locked": { + "host": "gitlab.freedesktop.org", + "lastModified": 1691073628, + "narHash": "sha256-LlxE3o3UzRY7APYVLGNKM30DBMcDifCRIQiMVSbYLIc=", + "owner": "wlroots", + "repo": "wlroots", + "rev": "c74f89d4f84bfed0284d3908aee5d207698c70c5", + "type": "gitlab" + }, + "original": { + "host": "gitlab.freedesktop.org", + "owner": "wlroots", + "repo": "wlroots", + "rev": "c74f89d4f84bfed0284d3908aee5d207698c70c5", + "type": "gitlab" + } + }, + "xdph": { + "inputs": { + "hyprland-protocols": [ + "hyprland", + "hyprland-protocols" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1691841170, + "narHash": "sha256-RCTm1/MVWYPnReMgyp7tr2ogGYo/pvw38jZaFwemgPU=", + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "rev": "57a3a41ba6b358109e4fc25c6a4706b5f7d93c6b", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "type": "github" + } + }, + "xdph_2": { + "inputs": { + "hyprland-protocols": "hyprland-protocols_2", + "nixpkgs": "nixpkgs_5", + "systems": "systems_2" + }, + "locked": { + "lastModified": 1691841170, + "narHash": "sha256-RCTm1/MVWYPnReMgyp7tr2ogGYo/pvw38jZaFwemgPU=", + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "rev": "57a3a41ba6b358109e4fc25c6a4706b5f7d93c6b", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "type": "github" + } } }, "root": "root", diff --git a/hosts/katana/default.nix b/hosts/katana/default.nix index c0bcadb..8d62909 100644 --- a/hosts/katana/default.nix +++ b/hosts/katana/default.nix @@ -62,6 +62,6 @@ options = "--delete-older-than 7d"; }; }; - speccon18.desktop.hyperland.enable = true; + speccon18.desktop.hyprland.enable = true; speccon18.desktop.gnome.enable = false; } \ No newline at end of file From 08ee0b7d561de4e5a938af9ef233605712756ce9 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Tue, 15 Aug 2023 22:05:42 -0400 Subject: [PATCH 179/233] sorting out failed build hyprland service --- flake.nix | 2 +- hosts/katana/default.nix | 2 -- modules/home-manager/hyprland.nix | 2 +- modules/system/desktop-environments/hyprland.nix | 2 +- 4 files changed, 3 insertions(+), 5 deletions(-) diff --git a/flake.nix b/flake.nix index d2f6d25..f80dbd1 100644 --- a/flake.nix +++ b/flake.nix @@ -1,5 +1,5 @@ { - description = "respec's nixos configs"; + description = "spec's nixos configs"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05"; diff --git a/hosts/katana/default.nix b/hosts/katana/default.nix index 8d62909..f75f5af 100644 --- a/hosts/katana/default.nix +++ b/hosts/katana/default.nix @@ -32,9 +32,7 @@ services = { printing.enable = true; xserver = { - enable = true; displayManager.gdm.enable = true; - desktopManager.gnome.enable = true; layout = "us"; xkbVariant = ""; }; diff --git a/modules/home-manager/hyprland.nix b/modules/home-manager/hyprland.nix index d49047e..cf984e5 100644 --- a/modules/home-manager/hyprland.nix +++ b/modules/home-manager/hyprland.nix @@ -1,7 +1,7 @@ { pkgs, config, lib, ...}: { wayland.windowManager.hyprland = { - systemdIntegration = true; +# systemdIntegration = true; enable = true; extraConfig = '' bind = SUPER, Return, exec, alacritty diff --git a/modules/system/desktop-environments/hyprland.nix b/modules/system/desktop-environments/hyprland.nix index e442c6a..ea5b0fd 100644 --- a/modules/system/desktop-environments/hyprland.nix +++ b/modules/system/desktop-environments/hyprland.nix @@ -13,7 +13,7 @@ in { config = mkIf cfg.enable { programs.hyprland = { enable = true; - nvidiaPatches = true; + enableNvidiaPatches = true; xwayland.enable = true; }; environment = { From 4ae96c2a658261bad3b98bf00317dfe3991a19e9 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Tue, 15 Aug 2023 22:40:24 -0400 Subject: [PATCH 180/233] fixed hyprland collision --- flake.lock | 79 +------------------ flake.nix | 6 +- modules/home-manager/hyprland.nix | 2 +- modules/system/desktop-environments/gnome.nix | 2 +- .../system/desktop-environments/hyprland.nix | 13 ++- 5 files changed, 11 insertions(+), 91 deletions(-) diff --git a/flake.lock b/flake.lock index d50ea6e..2ff8f64 100644 --- a/flake.lock +++ b/flake.lock @@ -163,31 +163,6 @@ "type": "github" } }, - "hyprland-protocols_2": { - "inputs": { - "nixpkgs": [ - "xdph", - "nixpkgs" - ], - "systems": [ - "xdph", - "systems" - ] - }, - "locked": { - "lastModified": 1691753796, - "narHash": "sha256-zOEwiWoXk3j3+EoF3ySUJmberFewWlagvewDRuWYAso=", - "owner": "hyprwm", - "repo": "hyprland-protocols", - "rev": "0c2ce70625cb30aef199cb388f99e19a61a6ce03", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprland-protocols", - "type": "github" - } - }, "lowdown-src": { "flake": false, "locked": { @@ -356,22 +331,6 @@ "type": "github" } }, - "nixpkgs_5": { - "locked": { - "lastModified": 1683014792, - "narHash": "sha256-6Va9iVtmmsw4raBc3QKvQT2KT/NGRWlvUlJj46zN8B8=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "1a411f23ba299db155a5b45d5e145b85a7aafc42", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "pre-commit-hooks": { "inputs": { "flake-compat": [ @@ -408,8 +367,7 @@ "hyprland": "hyprland", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs_3", - "sops-nix": "sops-nix", - "xdph": "xdph_2" + "sops-nix": "sops-nix" } }, "sops-nix": { @@ -446,21 +404,6 @@ "type": "github" } }, - "systems_2": { - "locked": { - "lastModified": 1689347949, - "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", - "owner": "nix-systems", - "repo": "default-linux", - "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default-linux", - "type": "github" - } - }, "wlroots": { "flake": false, "locked": { @@ -508,26 +451,6 @@ "repo": "xdg-desktop-portal-hyprland", "type": "github" } - }, - "xdph_2": { - "inputs": { - "hyprland-protocols": "hyprland-protocols_2", - "nixpkgs": "nixpkgs_5", - "systems": "systems_2" - }, - "locked": { - "lastModified": 1691841170, - "narHash": "sha256-RCTm1/MVWYPnReMgyp7tr2ogGYo/pvw38jZaFwemgPU=", - "owner": "hyprwm", - "repo": "xdg-desktop-portal-hyprland", - "rev": "57a3a41ba6b358109e4fc25c6a4706b5f7d93c6b", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "xdg-desktop-portal-hyprland", - "type": "github" - } } }, "root": "root", diff --git a/flake.nix b/flake.nix index f80dbd1..99a293a 100644 --- a/flake.nix +++ b/flake.nix @@ -7,7 +7,7 @@ sops-nix.url = github:Mic92/sops-nix; devenv.url = "github:cachix/devenv/latest"; hyprland.url = "github:hyprwm/Hyprland"; - xdph.url = "github:hyprwm/xdg-desktop-portal-hyprland"; + # xdph.url = "github:hyprwm/xdg-desktop-portal-hyprland"; home-manager = { url = "github:nix-community/home-manager/release-23.05"; inputs.nixpkgs.follows = "nixpkgs"; @@ -18,7 +18,7 @@ }; }; - outputs = { self, home-manager, nixos-hardware, disko, nixpkgs, sops-nix, devenv, hyprland, xdph, ... }@inputs: + outputs = { self, home-manager, nixos-hardware, disko, nixpkgs, sops-nix, devenv, hyprland, ... }@inputs: let system = "x86_64-linux"; pkgs = import nixpkgs { @@ -63,7 +63,7 @@ ./machines/katana.nix #machine specific configuration "speccon18" #default user [ - hyprland.nixosModules.default + # hyprland.nixosModules.default ./modules/system/desktop-environments/hyprland.nix ./hosts/katana/default.nix ./hosts/katana/networkd.nix diff --git a/modules/home-manager/hyprland.nix b/modules/home-manager/hyprland.nix index cf984e5..7eddf63 100644 --- a/modules/home-manager/hyprland.nix +++ b/modules/home-manager/hyprland.nix @@ -1,7 +1,7 @@ { pkgs, config, lib, ...}: { wayland.windowManager.hyprland = { -# systemdIntegration = true; + # systemdIntegration = true; enable = true; extraConfig = '' bind = SUPER, Return, exec, alacritty diff --git a/modules/system/desktop-environments/gnome.nix b/modules/system/desktop-environments/gnome.nix index 9bccc32..657c300 100644 --- a/modules/system/desktop-environments/gnome.nix +++ b/modules/system/desktop-environments/gnome.nix @@ -47,7 +47,7 @@ in { }; xdg = { - portal = { enable = lib.mkDefault true; }; + # portal = { enable = lib.mkDefault true; }; mime.defaultApplications = { "text/markdown" = "hx"; }; diff --git a/modules/system/desktop-environments/hyprland.nix b/modules/system/desktop-environments/hyprland.nix index ea5b0fd..e0431c5 100644 --- a/modules/system/desktop-environments/hyprland.nix +++ b/modules/system/desktop-environments/hyprland.nix @@ -1,9 +1,5 @@ -{ - config, - pkgs, - lib, - ... -}: let +{ config, pkgs, lib, ...}: +let inherit (lib) mkEnableOption mkIf; cfg = config.speccon18.desktop.hyprland; in { @@ -13,7 +9,7 @@ in { config = mkIf cfg.enable { programs.hyprland = { enable = true; - enableNvidiaPatches = true; + nvidiaPatches = true; xwayland.enable = true; }; environment = { @@ -28,6 +24,7 @@ in { rofi-wayland libnotify mako + hyprland ]; sessionVariables = { WLR_NO_HARDWARE_CURSORS = "1"; @@ -37,8 +34,8 @@ in { xdg.portal = { enable = true; extraPortals = [ - pkgs.xdg-desktop-portal-hyprland pkgs.xdg-desktop-portal-gtk + pkgs.xdg-desktop-portal-hyprland ]; }; hardware = { From 84bde425454fd78f2bf3d296e360a1e0b186d2a7 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Tue, 15 Aug 2023 23:08:59 -0400 Subject: [PATCH 181/233] fixed tuigreet sysd spam --- flake.nix | 2 +- hosts/katana/default.nix | 9 +++- modules/home-manager/hyprland.nix | 1 + .../system/desktop-environments/tuigreet.nix | 45 +++++++++++++++++++ 4 files changed, 54 insertions(+), 3 deletions(-) create mode 100644 modules/system/desktop-environments/tuigreet.nix diff --git a/flake.nix b/flake.nix index 99a293a..3deac61 100644 --- a/flake.nix +++ b/flake.nix @@ -63,7 +63,7 @@ ./machines/katana.nix #machine specific configuration "speccon18" #default user [ - # hyprland.nixosModules.default + ./modules/system/desktop-environments/tuigreet.nix ./modules/system/desktop-environments/hyprland.nix ./hosts/katana/default.nix ./hosts/katana/networkd.nix diff --git a/hosts/katana/default.nix b/hosts/katana/default.nix index f75f5af..b6c59a0 100644 --- a/hosts/katana/default.nix +++ b/hosts/katana/default.nix @@ -60,6 +60,11 @@ options = "--delete-older-than 7d"; }; }; - speccon18.desktop.hyprland.enable = true; - speccon18.desktop.gnome.enable = false; + speccon18 = { + desktop = { + hyprland.enable = true; + gnome.enable = false; + displayManager.tuigreet.enable = true; + }; + }; } \ No newline at end of file diff --git a/modules/home-manager/hyprland.nix b/modules/home-manager/hyprland.nix index 7eddf63..b3f8329 100644 --- a/modules/home-manager/hyprland.nix +++ b/modules/home-manager/hyprland.nix @@ -10,6 +10,7 @@ exec-once=waybar exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP exec-once=mako + monitor=,highres,auto,1 ''; }; } diff --git a/modules/system/desktop-environments/tuigreet.nix b/modules/system/desktop-environments/tuigreet.nix new file mode 100644 index 0000000..04119af --- /dev/null +++ b/modules/system/desktop-environments/tuigreet.nix @@ -0,0 +1,45 @@ +{config,lib,pkgs,...}: +let + inherit (lib) mkEnableOption mkOption optionalString mkIf types; + dmcfg = config.services.xserver.displayManager; + cfg = config.speccon18.desktop.displayManager.tuigreet; + gduser = config.services.greetd.settings.default_session.user; +in { + options.speccon18.desktop.displayManager.tuigreet = { + enable = mkEnableOption "enables tuigreet"; + args = mkOption { + default = "--time --asterisks --remember -s ${dmcfg.sessionData.desktops}/share/wayland-sessions:${dmcfg.sessionData.desktops}/share/xsessions"; + type = types.str; + }; + }; + config = mkIf cfg.enable { + services.greetd = { + enable = true; + settings = { + default_session = { + command = "${pkgs.greetd.tuigreet}/bin/tuigreet ${cfg.args}"; + user = "greeter"; + }; + }; + }; + # this is a life saver. + # literally no documentation about this anywhere. + # might be good to write about this... + # https://www.reddit.com/r/NixOS/comments/u0cdpi/tuigreet_with_xmonad_how/ + systemd = { + services.greetd.serviceConfig = { + Type = "idle"; + StandardInput = "tty"; + StandardOutput = "tty"; + StandardError = "journal"; # Without this errors will spam on screen + # Without these bootlogs will spam on screen + TTYReset = true; + TTYVHangup = true; + TTYVTDisallocate = true; + }; + tmpfiles.rules = [ + "d /var/cache/tuigreet/ 0755 greeter ${gduser} - -" + ]; + }; + }; +} \ No newline at end of file From 6034a5ea9341ab5f53adaf3ce09bfd0ac9f7f71f Mon Sep 17 00:00:00 2001 From: specCon18 Date: Thu, 31 Aug 2023 00:14:52 -0400 Subject: [PATCH 182/233] updated terminal fonts --- extract.sh | 2 +- flake.lock | 222 +------- flake.nix | 6 +- hosts/katana/default.nix | 3 + modules/home-manager/alacritty.nix | 9 +- modules/home-manager/helix.nix | 2 +- modules/home-manager/hyprland.nix | 31 +- modules/home-manager/waybar.nix | 485 +++++++++++------- .../system/desktop-environments/hyprland.nix | 19 + users/speccon18/home.nix | 10 + 10 files changed, 379 insertions(+), 410 deletions(-) mode change 100644 => 100755 extract.sh diff --git a/extract.sh b/extract.sh old mode 100644 new mode 100755 index 0393cd4..6d78f2f --- a/extract.sh +++ b/extract.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh function extract { if [ -z "$1" ]; then diff --git a/flake.lock b/flake.lock index 2ff8f64..90a430d 100644 --- a/flake.lock +++ b/flake.lock @@ -1,27 +1,5 @@ { "nodes": { - "devenv": { - "inputs": { - "flake-compat": "flake-compat", - "nix": "nix", - "nixpkgs": "nixpkgs", - "pre-commit-hooks": "pre-commit-hooks" - }, - "locked": { - "lastModified": 1678113758, - "narHash": "sha256-mD3SkN43b1s5CJ8Rx3l2oK3Dqgs+6Ze0FfWrdMcrrYk=", - "owner": "cachix", - "repo": "devenv", - "rev": "6455f319fc90e0be2071327093c5458f9afc61bf", - "type": "github" - }, - "original": { - "owner": "cachix", - "ref": "latest", - "repo": "devenv", - "type": "github" - } - }, "disko": { "inputs": { "nixpkgs": [ @@ -42,59 +20,6 @@ "type": "github" } }, - "flake-compat": { - "flake": false, - "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-utils": { - "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "gitignore": { - "inputs": { - "nixpkgs": [ - "devenv", - "pre-commit-hooks", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1660459072, - "narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "a20de23b925fd8264fd7fad6454652e142fd7f73", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, "home-manager": { "inputs": { "nixpkgs": [ @@ -102,11 +27,11 @@ ] }, "locked": { - "lastModified": 1687871164, - "narHash": "sha256-bBFlPthuYX322xOlpJvkjUBz0C+MOBjZdDOOJJ+G2jU=", + "lastModified": 1692099905, + "narHash": "sha256-/pSusGhmIdSdAaywQRFA5dVbfdIzlWQTecM+E46+cJ0=", "owner": "nix-community", "repo": "home-manager", - "rev": "07c347bb50994691d7b0095f45ebd8838cf6bc38", + "rev": "2a6679aa9cc3872c29ba2a57fe1b71b3e3c5649f", "type": "github" }, "original": { @@ -119,7 +44,7 @@ "hyprland": { "inputs": { "hyprland-protocols": "hyprland-protocols", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs", "systems": "systems", "wlroots": "wlroots", "xdph": "xdph" @@ -163,46 +88,6 @@ "type": "github" } }, - "lowdown-src": { - "flake": false, - "locked": { - "lastModified": 1633514407, - "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", - "owner": "kristapsdz", - "repo": "lowdown", - "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", - "type": "github" - }, - "original": { - "owner": "kristapsdz", - "repo": "lowdown", - "type": "github" - } - }, - "nix": { - "inputs": { - "lowdown-src": "lowdown-src", - "nixpkgs": [ - "devenv", - "nixpkgs" - ], - "nixpkgs-regression": "nixpkgs-regression" - }, - "locked": { - "lastModified": 1676545802, - "narHash": "sha256-EK4rZ+Hd5hsvXnzSzk2ikhStJnD63odF7SzsQ8CuSPU=", - "owner": "domenkozar", - "repo": "nix", - "rev": "7c91803598ffbcfe4a55c44ac6d49b2cf07a527f", - "type": "github" - }, - "original": { - "owner": "domenkozar", - "ref": "relaxed-flakes", - "repo": "nix", - "type": "github" - } - }, "nixos-hardware": { "locked": { "lastModified": 1679765008, @@ -221,53 +106,21 @@ }, "nixpkgs": { "locked": { - "lastModified": 1677534593, - "narHash": "sha256-PuZSAHeq4/9pP/uYH1FcagQ3nLm/DrDrvKi/xC9glvw=", + "lastModified": 1691654369, + "narHash": "sha256-gSILTEx1jRaJjwZxRlnu3ZwMn1FVNk80qlwiCX8kmpo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3ad64d9e2d5bf80c877286102355b1625891ae9a", + "rev": "ce5e4a6ef2e59d89a971bc434ca8ca222b9c7f5e", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-unstable", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-regression": { - "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "github" - }, - "original": { - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "github" - } - }, "nixpkgs-stable": { - "locked": { - "lastModified": 1673800717, - "narHash": "sha256-SFHraUqLSu5cC6IxTprex/nTsI81ZQAtDvlBvGDWfnA=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "2f9fd351ec37f5d479556cd48be4ca340da59b8f", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-22.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-stable_2": { "locked": { "lastModified": 1679748960, "narHash": "sha256-BP8XcYHyj1NxQi04RpyNW8e7KiXSoI+Fy1tXIK2GfdA=", @@ -285,27 +138,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1691654369, - "narHash": "sha256-gSILTEx1jRaJjwZxRlnu3ZwMn1FVNk80qlwiCX8kmpo=", + "lastModified": 1692339729, + "narHash": "sha256-TUK76/Pqm9qIDjEGd27Lz9EiBIvn5F70JWDmEQ4Y5DQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ce5e4a6ef2e59d89a971bc434ca8ca222b9c7f5e", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_3": { - "locked": { - "lastModified": 1690726002, - "narHash": "sha256-cACz6jCJZtsZHGCJAN4vMobxzH5s6FCOTZHMrh/Hu0M=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "391e8db1f06c3f74c2d313a73135515023af3993", + "rev": "ae521bd4e460b076a455dca8b13f4151489a725c", "type": "github" }, "original": { @@ -315,7 +152,7 @@ "type": "github" } }, - "nixpkgs_4": { + "nixpkgs_3": { "locked": { "lastModified": 1679734080, "narHash": "sha256-z846xfGLlon6t9lqUzlNtBOmsgQLQIZvR6Lt2dImk1M=", @@ -331,49 +168,20 @@ "type": "github" } }, - "pre-commit-hooks": { - "inputs": { - "flake-compat": [ - "devenv", - "flake-compat" - ], - "flake-utils": "flake-utils", - "gitignore": "gitignore", - "nixpkgs": [ - "devenv", - "nixpkgs" - ], - "nixpkgs-stable": "nixpkgs-stable" - }, - "locked": { - "lastModified": 1677160285, - "narHash": "sha256-tBzpCjMP+P3Y3nKLYvdBkXBg3KvTMo3gvi8tLQaqXVY=", - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "rev": "2bd861ab81469428d9c823ef72c4bb08372dd2c4", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "type": "github" - } - }, "root": { "inputs": { - "devenv": "devenv", "disko": "disko", "home-manager": "home-manager", "hyprland": "hyprland", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_2", "sops-nix": "sops-nix" } }, "sops-nix": { "inputs": { - "nixpkgs": "nixpkgs_4", - "nixpkgs-stable": "nixpkgs-stable_2" + "nixpkgs": "nixpkgs_3", + "nixpkgs-stable": "nixpkgs-stable" }, "locked": { "lastModified": 1679799335, diff --git a/flake.nix b/flake.nix index 3deac61..7a403d0 100644 --- a/flake.nix +++ b/flake.nix @@ -5,9 +5,7 @@ nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05"; nixos-hardware.url = "github:NixOS/nixos-hardware/master"; sops-nix.url = github:Mic92/sops-nix; - devenv.url = "github:cachix/devenv/latest"; hyprland.url = "github:hyprwm/Hyprland"; - # xdph.url = "github:hyprwm/xdg-desktop-portal-hyprland"; home-manager = { url = "github:nix-community/home-manager/release-23.05"; inputs.nixpkgs.follows = "nixpkgs"; @@ -18,7 +16,7 @@ }; }; - outputs = { self, home-manager, nixos-hardware, disko, nixpkgs, sops-nix, devenv, hyprland, ... }@inputs: + outputs = { self, home-manager, nixos-hardware, disko, nixpkgs, sops-nix, hyprland, ... }@inputs: let system = "x86_64-linux"; pkgs = import nixpkgs { @@ -76,7 +74,7 @@ ] #extra modules to be loaded [ - hyprland.homeManagerModules.default + hyprland.homeManagerModules.default ./modules/home-manager/hyprland.nix ./modules/home-manager/helix.nix ./modules/home-manager/alacritty.nix diff --git a/hosts/katana/default.nix b/hosts/katana/default.nix index b6c59a0..d919d57 100644 --- a/hosts/katana/default.nix +++ b/hosts/katana/default.nix @@ -67,4 +67,7 @@ displayManager.tuigreet.enable = true; }; }; + fonts.fonts = with pkgs; [ + (nerdfonts.override { fonts = [ "SourceCodePro" "DroidSansMono" ]; }) + ]; } \ No newline at end of file diff --git a/modules/home-manager/alacritty.nix b/modules/home-manager/alacritty.nix index ea0f7c0..752b5f8 100644 --- a/modules/home-manager/alacritty.nix +++ b/modules/home-manager/alacritty.nix @@ -22,12 +22,17 @@ font = { normal = { family = "SauceCodePro Nerd Font"; + style = "Regular"; }; bold = { family = "SauceCodePro Nerd Font"; - style = "bold"; + style = "Bold"; }; - size = 12; + italic = { + family = "SauceCodePro Nerd Font"; + style = "Italic"; + }; + size = 14; }; colors = { primary = { diff --git a/modules/home-manager/helix.nix b/modules/home-manager/helix.nix index d3d0b2f..e4facda 100644 --- a/modules/home-manager/helix.nix +++ b/modules/home-manager/helix.nix @@ -9,7 +9,7 @@ nodePackages_latest.typescript-language-server nodePackages_latest.svelte-language-server nodePackages_latest.vls - python39Packages.python-lsp-server + python311Packages.python-lsp-server rnix-lsp rust-analyzer taplo diff --git a/modules/home-manager/hyprland.nix b/modules/home-manager/hyprland.nix index b3f8329..d7ffec8 100644 --- a/modules/home-manager/hyprland.nix +++ b/modules/home-manager/hyprland.nix @@ -4,12 +4,37 @@ # systemdIntegration = true; enable = true; extraConfig = '' - bind = SUPER, Return, exec, alacritty - bind = CONTROL_SHIFT, W, exec, firefox - bind = SUPER, R, exec, rofi -show drun + $mainMod = SUPER + bind = $mainMod, Return, exec, alacritty + bind = $mainMod, W, exec, firefox + bind = $mainMod, R, exec, rofi -show drun + # Switch workspaces with mainMod + [0-9] + bind = $mainMod, 1, workspace, 1 + bind = $mainMod, 2, workspace, 2 + bind = $mainMod, 3, workspace, 3 + bind = $mainMod, 4, workspace, 4 + bind = $mainMod, 5, workspace, 5 + bind = $mainMod, 6, workspace, 6 + bind = $mainMod, 7, workspace, 7 + bind = $mainMod, 8, workspace, 8 + bind = $mainMod, 9, workspace, 9 + bind = $mainMod, 0, workspace, 10 + + # Move active window to a workspace with mainMod + SHIFT + [0-9] + bind = $mainMod SHIFT, 1, movetoworkspace, 1 + bind = $mainMod SHIFT, 2, movetoworkspace, 2 + bind = $mainMod SHIFT, 3, movetoworkspace, 3 + bind = $mainMod SHIFT, 4, movetoworkspace, 4 + bind = $mainMod SHIFT, 5, movetoworkspace, 5 + bind = $mainMod SHIFT, 6, movetoworkspace, 6 + bind = $mainMod SHIFT, 7, movetoworkspace, 7 + bind = $mainMod SHIFT, 8, movetoworkspace, 8 + bind = $mainMod SHIFT, 9, movetoworkspace, 9 + bind = $mainMod SHIFT, 0, movetoworkspace, 10 exec-once=waybar exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP exec-once=mako + exec-once = swww init monitor=,highres,auto,1 ''; }; diff --git a/modules/home-manager/waybar.nix b/modules/home-manager/waybar.nix index 8982b36..daec355 100644 --- a/modules/home-manager/waybar.nix +++ b/modules/home-manager/waybar.nix @@ -3,219 +3,320 @@ programs.waybar = { enable = true; package = pkgs.waybar; + systemd = { + enable = true; + target = "hyprland-session.target" + }; settings = { main_bar = { - layer = "top"; + gtk-layer-shell = true; + position = "top"; + height = 0; modules-left = [ - "cpu" - "memory" - "tray" + "river/mode" + "river/tags" ]; modules-center = [ "clock" + "custom/joljol" ]; modules-right = [ - "backlight" - "custom/pw-volume" + "tray" + "network" + "pulseaudio" "battery" ]; - - "custom/pipewire" = { - "exec" = "pw-volume status"; - "return-type" = "json"; - "interval" = "once"; - "signal" = 8; - "format" = "{icon} {percentage}"; - "format-icons" = { - "mute" = ""; - "default" = [ - "" - "" - "" + river/tags = { + num-tags = 9; + }; + river/mode = { + format = "Mode: {}"; + }; + clock = { + format = "{:%H:%M}"; + format-alt = "{:%Y-%m-%d}"; + }; + battery = { + interval = 60; + states = { + hundred = 100; + ninty = 90; + eighty = 80; + seventy = 70; + sixty = 60; + fifty = 50; + fourty = 40; + thirty = 30; + twenty = 20; + ten = 10; + five = 5; + three = 3; + }; + format = " {capacity} "; + format-charging = " {capacity} "; + format-discharging = " {capacity} "; + format-plugged = " {capacity} "; + format-full = " {capacity} "; + }; + network = { + format-wifi = ""; + format-ethernet = "ﯱ"; + format-linked = " (No IP)"; + format-disconnected = "睊"; + format-alt = "{bandwidthUpBytes} {bandwidthDownBits}"; + interval = 2; + }; + pulseaudio = { + states = { + hundred = 100; + ninty = 90; + eighty = 80; + seventy = 70; + sixty = 60; + fifty = 50; + fourty = 40; + thirty = 30; + twenty = 20; + ten = 10; + zero = 0; + }; + format = "{icon}"; + format-muted = ""; + on-click = "pactl set-sink-mute alsa_output.pci-0000_00_1f.3.analog-stereo toggle"; + scroll-steps = 10; + format-icons = { + headphone = ""; + "hands-free" = ""; + headset = ""; + phone = ""; + portable = ""; + car = ""; + default = [ + "" + "" + "" ]; }; }; - "network" = { - "tooltip" = false; - "format-wifi" = " {essid}"; - "format-ethernet" = ""; + tray = { + show-passive-items = true; + icon-size = 20; + spacing = 10; }; - "backlight" = { - "tooltip" = false; - "format" = " {}%"; - "interval" = 1; - "on-scroll-up" = "light -A 5"; - "on-scroll-down" = "light -U 5"; - }; - "battery" = { - "states" = { - "good" = 95; - "warning" = 30; - "critical" = 20; - }; - "format" = "{icon} {capacity}%"; - "format-charging" = " {capacity}%"; - "format-plugged" = " {capacity}%"; - "format-alt" = "{time} {icon}"; - "format-icons" = [ - "" - "" - "" - "" - "" - ]; - }; - "tray" = { - "icon-size" = 18; - "spacing" = 10; - }; - "clock" = { - "format" = "{: %I:%M %p  %d/%m/%Y}"; - }; - "cpu" = { - "interval" = 15; - "format" = " {}%"; - "max-length" = 10; - }; - "memory" = { - "interval" = 30; - "format" = " {}%"; - "max-length" = 10; - }; - }; + custom/joljol = { + exec = "joljol"; + format = "{}"; + update-interval = 100; + }; }; + style = '' * { - border: none; - border-radius: 10; - font-family: "JetbrainsMono Nerd Font" ; - font-size: 15px; - min-height: 10px; - } - - window#waybar { - background: transparent; - } - - window#waybar.hidden { - opacity: 0.2; - } - - #window { - margin-top: 6px; - padding-left: 10px; - padding-right: 10px; - border-radius: 10px; - transition: none; - color: transparent; - background: transparent; - } - - #network { - margin-top: 6px; - margin-left: 8px; - padding-left: 10px; - padding-right: 10px; - margin-bottom: 0px; - border-radius: 10px; - transition: none; - color: #161320; - background: #bd93f9; - } - - #battery { - margin-top: 6px; - margin-left: 8px; - padding-left: 10px; - padding-right: 10px; - margin-bottom: 0px; - border-radius: 10px; - transition: none; - color: #161320; - background: #B5E8E0; - } - - #battery.charging, #battery.plugged { - color: #161320; - background-color: #B5E8E0; - } - - #battery.critical:not(.charging) { - background-color: #B5E8E0; - color: #161320; - animation-name: blink; - animation-duration: 0.5s; - animation-timing-function: linear; - animation-iteration-count: infinite; - animation-direction: alternate; - } - - @keyframes blink { - to { - background-color: #BF616A; - color: #B5E8E0; - } - } - - #backlight { - margin-top: 6px; - margin-left: 8px; - padding-left: 10px; - padding-right: 10px; - margin-bottom: 0px; - border-radius: 10px; - transition: none; - color: #161320; - background: #F8BD96; - } - - #clock { - margin-top: 6px; - margin-left: 8px; - padding-left: 10px; - padding-right: 10px; - margin-bottom: 0px; - border-radius: 10px; - transition: none; - color: #161320; - background: #ABE9B3; - /*background: #1A1826;*/ - } - - #memory { - margin-top: 6px; - margin-left: 8px; - padding-left: 10px; - margin-bottom: 0px; - padding-right: 10px; - border-radius: 10px; - transition: none; - color: #161320; - background: #DDB6F2; + border: none; + /* font-family: "Recursive Sans Casual Static", "JetBrainsMono Nerd Font"; */ + font-family: "Gintronic","Recursive Sans Casual Static", "JetBrainsMono Nerd Font"; + font-size: 12px; + min-height: 20px; + border-radius: 0px; } - #cpu { - margin-top: 6px; - margin-left: 8px; - padding-left: 10px; - margin-bottom: 0px; - padding-right: 10px; - border-radius: 10px; - transition: none; - color: #161320; - background: #96CDFB; + window#waybar { + background: transparent; + border-radius: 0px; } - + tooltip { + background: #ebbcba; + } + + tooltip label { + color: #191724; + } + #tags { + background-color: transparent; + border-radius: 0px; + padding: 5px 5px 0px 5px; + } + + #tags button { + padding: 0px 5px; + margin-right: 5px; + margin-left: 5px; + color: transparent; + /* border: 0px solid transparent; */ + /* border-top: 3px solid #f6c177; */ + /* border-left: 3px solid #f6c177; */ + /* border-bottom: 2px solid #f6c177; */ + background: #1f1d2e; + } + + #tags button.occupied { + border-radius: 0px; + font-weight: 900; + color: #191724; + background: #31748f; + } + + #tags button.focused { + font-weight: 900; + color: #191724; + background: #ebbcba; + } + + #tags button.urgent { + color: #e0def4; + background-color: #eb6f92; + border-radius: 0px; + } + + #custom-date, + #clock, + #battery, + #pulseaudio, + #network, + #custom-joljol { + color: #e0def4; + background: #1f1d2e; + padding: 2.5px 15px; + margin: 10px 10px 0px 0px; + font-weight: 900; + } + + #clock { + color: #ebbcba; + } + + #custom-joljol { + color: #ebbcba; + margin: 10px 10px 0px 10px; + } + + #battery { + background: #31748f; + color: #191724; + } + + /* #battery.charging { */ + /* color: #9ccfd8; */ + /* } */ + + #battery.ninty.charging { + background: linear-gradient(to right, #31748f 90%, #9ccfd8 90%); + } + #battery.ninty:not(.charging) { + background: linear-gradient(to right, #31748f 90%, #ebbcba 90%); + } + #battery.eighty.charging { + background: linear-gradient(to right, #31748f 80%, #9ccfd8 80%); + } + #battery.eighty:not(.charging) { + background: linear-gradient(to right, #31748f 80%, #ebbcba 80%); + } + #battery.seventy.charging { + background: linear-gradient(to right, #31748f 70%, #9ccfd8 70%); + } + #battery.seventy:not(.charging) { + background: linear-gradient(to right, #31748f 70%, #ebbcba 70%); + } + #battery.sixty.charging { + background: linear-gradient(to right, #31748f 60%, #9ccfd8 60%); + } + #battery.sixty:not(.charging) { + background: linear-gradient(to right, #31748f 60%, #ebbcba 60%); + } + #battery.fifty.charging { + background: linear-gradient(to right, #31748f 50%, #9ccfd8 50%); + } + #battery.fifty:not(.charging) { + background: linear-gradient(to right, #31748f 50%, #ebbcba 50%); + } + #battery.fourty.charging { + background: linear-gradient(to right, #31748f 40%, #9ccfd8 40%); + } + #battery.fourty:not(.charging) { + background: linear-gradient(to right, #31748f 40%, #ebbcba 40%); + } + #battery.thirty.charging { + background: linear-gradient(to right, #31748f 30%, #9ccfd8 30%); + } + #battery.thirty:not(.charging) { + background: linear-gradient(to right, #31748f 30%, #ebbcba 30%); + } + #battery.twenty.charging { + background: linear-gradient(to right, #31748f 20%, #9ccfd8 20%); + } + #battery.twenty:not(.charging) { + background: linear-gradient(to right, #31748f 20%, #eb6f92 20%); + } + #battery.ten.charging { + background: linear-gradient(to right, #31748f 10%, #9ccfd8 10%); + } + #battery.ten:not(.charging) { + background: linear-gradient(to right, #31748f 10%, #eb6f92 10%); + } + #battery.five.charging { + background: linear-gradient(to right, #31748f 5%, #9ccfd8 5%); + } + #battery.five:not(.charging) { + background: linear-gradient(to right, #31748f 5%, #eb6f92 5%); + } + #battery.three.charging { + background: linear-gradient(to right, #31748f 3%, #9ccfd8 3%); + } + #battery.three:not(.charging) { + background: linear-gradient(to right, #31748f 3%, #eb6f92 3%); + } + #network { + color: #31748f; + } + + #pulseaudio { + background: #c4a7e7; + color: #191724; + } + #pulseaudio.ninty { + background: linear-gradient(to top, #c4a7e7 90%, #908caa 90%); + } + #pulseaudio.eighty { + background: linear-gradient(to top, #c4a7e7 80%, #908caa 80%); + } + #pulseaudio.seventy { + background: linear-gradient(to top, #c4a7e7 70%, #908caa 70%); + } + #pulseaudio.sixty { + background: linear-gradient(to top, #c4a7e7 60%, #908caa 60%); + } + #pulseaudio.fifty { + background: linear-gradient(to top, #c4a7e7 50%, #908caa 50%); + } + #pulseaudio.fourty { + background: linear-gradient(to top, #c4a7e7 40%, #908caa 40%); + } + #pulseaudio.thirty { + background: linear-gradient(to top, #c4a7e7 30%, #908caa 30%); + } + #pulseaudio.twenty { + background: linear-gradient(to top, #c4a7e7 20%, #908caa 20%); + } + #pulseaudio.ten { + background: linear-gradient(to top, #c4a7e7 10%, #908caa 10%); + } + #pulseaudio.zero { + background: linear-gradient(to top, #c4a7e7 0%, #908caa 00%); + } + #pulseaudio.muted { + font-weight: 900; + background: #eb6f92; + } + #tray { - margin-top: 6px; - margin-left: 8px; - padding-left: 10px; - margin-bottom: 0px; - padding-right: 10px; - border-radius: 10px; - transition: none; - color: #B5E8E0; - background: #161320; + /* background: #505050; */ + /* padding: 5px 10px; */ + margin: 10px 10px 0px 10px; + color: #e0def4; + } + + #tray menu { + color: #e0def4; } ''; }; diff --git a/modules/system/desktop-environments/hyprland.nix b/modules/system/desktop-environments/hyprland.nix index e0431c5..76162ee 100644 --- a/modules/system/desktop-environments/hyprland.nix +++ b/modules/system/desktop-environments/hyprland.nix @@ -25,10 +25,29 @@ in { libnotify mako hyprland + font-awesome ]; sessionVariables = { + #Enable Wayland WLR_NO_HARDWARE_CURSORS = "1"; NIXOS_OZONE_WL = "1"; + MOZ_ENABLE_WAYLAND = "1"; + GTK_USE_PORTAL = "1"; + NIXOS_XDG_OPEN_USE_PORTAL = "1"; + SDL_VIDEODRIVER = "wayland"; + + # XDG_Config + XDG_CURRENT_DESKTOP = "Hyprland"; + XDG_SESSION_DESKTOP = "Hyprland"; + XDG_SESSION_TYPE = "wayland"; + XDG_CACHE_HOME = "\${HOME}/.cache"; + XDG_CONFIG_HOME = "\${HOME}/.config"; + XDG_BIN_HOME = "\${HOME}/.local/bin"; + XDG_DATA_HOME = "\${HOME}/.local/share"; + + #Default Applications + BROWSER = "firefox"; + TERMINAL = "alacritty"; }; }; xdg.portal = { diff --git a/users/speccon18/home.nix b/users/speccon18/home.nix index f7e993e..2d241a5 100644 --- a/users/speccon18/home.nix +++ b/users/speccon18/home.nix @@ -3,7 +3,17 @@ home = { username = "speccon18"; homeDirectory = "/home/speccon18"; + + # This value determines the Home Manager release that your + # configuration is compatible with. This helps avoid breakage + # when a new Home Manager release introduces backwards + # incompatible changes. + # + # You can update Home Manager without changing this value. See + # the Home Manager release notes for a list of state version + # changes in each release. stateVersion = "22.11"; + packages = with pkgs; [ inkscape freecad From 9d1fcfadc1fe9238a1338fcc37f1f31a0a52a0b7 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Thu, 31 Aug 2023 01:08:30 -0400 Subject: [PATCH 183/233] waybar --- flake.nix | 1 + modules/home-manager/hyprland.nix | 2 +- modules/home-manager/waybar.nix | 20 +++----------------- 3 files changed, 5 insertions(+), 18 deletions(-) diff --git a/flake.nix b/flake.nix index 7a403d0..72c936e 100644 --- a/flake.nix +++ b/flake.nix @@ -90,6 +90,7 @@ ./modules/home-manager/starship.nix ./modules/home-manager/dconf-settings.nix ./modules/home-manager/syncthing.nix + ./modules/home-manager/waybar.nix ]; #extra modules to be loaded by home-manager }; }; diff --git a/modules/home-manager/hyprland.nix b/modules/home-manager/hyprland.nix index d7ffec8..84aaf56 100644 --- a/modules/home-manager/hyprland.nix +++ b/modules/home-manager/hyprland.nix @@ -31,7 +31,7 @@ bind = $mainMod SHIFT, 8, movetoworkspace, 8 bind = $mainMod SHIFT, 9, movetoworkspace, 9 bind = $mainMod SHIFT, 0, movetoworkspace, 10 - exec-once=waybar + exec-once=systemctl --user restart waybar.service exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP exec-once=mako exec-once = swww init diff --git a/modules/home-manager/waybar.nix b/modules/home-manager/waybar.nix index daec355..a589dc9 100644 --- a/modules/home-manager/waybar.nix +++ b/modules/home-manager/waybar.nix @@ -5,7 +5,7 @@ package = pkgs.waybar; systemd = { enable = true; - target = "hyprland-session.target" + target = "hyprland-session.target"; }; settings = { main_bar = { @@ -26,12 +26,6 @@ "pulseaudio" "battery" ]; - river/tags = { - num-tags = 9; - }; - river/mode = { - format = "Mode: {}"; - }; clock = { format = "{:%H:%M}"; format-alt = "{:%Y-%m-%d}"; @@ -86,7 +80,7 @@ scroll-steps = 10; format-icons = { headphone = ""; - "hands-free" = ""; + hands-free = ""; headset = ""; phone = ""; portable = ""; @@ -103,11 +97,6 @@ icon-size = 20; spacing = 10; }; - custom/joljol = { - exec = "joljol"; - format = "{}"; - update-interval = 100; - }; }; style = '' @@ -185,10 +174,6 @@ color: #ebbcba; } - #custom-joljol { - color: #ebbcba; - margin: 10px 10px 0px 10px; - } #battery { background: #31748f; @@ -320,4 +305,5 @@ } ''; }; +}; } \ No newline at end of file From 52dc85c0f5c89e89ea498614015cd824362af464 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Thu, 31 Aug 2023 02:17:25 -0400 Subject: [PATCH 184/233] fixing waybar config --- modules/home-manager/style.css | 281 ++++++++++++++++++++ modules/home-manager/waybar.nix | 440 +++++++++++--------------------- 2 files changed, 427 insertions(+), 294 deletions(-) create mode 100644 modules/home-manager/style.css diff --git a/modules/home-manager/style.css b/modules/home-manager/style.css new file mode 100644 index 0000000..cc2aef1 --- /dev/null +++ b/modules/home-manager/style.css @@ -0,0 +1,281 @@ +* { + /* `otf-font-awesome` is required to be installed for icons */ + font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif; + font-size: 13px; +} + +window#waybar { + background-color: rgba(43, 48, 59, 0.5); + border-bottom: 3px solid rgba(100, 114, 125, 0.5); + color: #ffffff; + transition-property: background-color; + transition-duration: .5s; +} + +window#waybar.hidden { + opacity: 0.2; +} + +/* +window#waybar.empty { + background-color: transparent; +} +window#waybar.solo { + background-color: #FFFFFF; +} +*/ + +window#waybar.termite { + background-color: #3F3F3F; +} + +window#waybar.chromium { + background-color: #000000; + border: none; +} + +button { + /* Use box-shadow instead of border so the text isn't offset */ + box-shadow: inset 0 -3px transparent; + /* Avoid rounded borders under each button name */ + border: none; + border-radius: 0; +} + +/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ +button:hover { + background: inherit; + box-shadow: inset 0 -3px #ffffff; +} + +#workspaces button { + padding: 0 5px; + background-color: transparent; + color: #ffffff; +} + +#workspaces button:hover { + background: rgba(0, 0, 0, 0.2); +} + +#workspaces button.focused { + background-color: #64727D; + box-shadow: inset 0 -3px #ffffff; +} + +#workspaces button.urgent { + background-color: #eb4d4b; +} + +#mode { + background-color: #64727D; + border-bottom: 3px solid #ffffff; +} + +#clock, +#battery, +#cpu, +#memory, +#disk, +#temperature, +#backlight, +#network, +#pulseaudio, +#wireplumber, +#custom-media, +#tray, +#mode, +#idle_inhibitor, +#scratchpad, +#mpd { + padding: 0 10px; + color: #ffffff; +} + +#window, +#workspaces { + margin: 0 4px; +} + +/* If workspaces is the leftmost module, omit left margin */ +.modules-left>widget:first-child>#workspaces { + margin-left: 0; +} + +/* If workspaces is the rightmost module, omit right margin */ +.modules-right>widget:last-child>#workspaces { + margin-right: 0; +} + +#clock { + background-color: #64727D; +} + +#battery { + background-color: #ffffff; + color: #000000; +} + +#battery.charging, +#battery.plugged { + color: #ffffff; + background-color: #26A65B; +} + +@keyframes blink { + to { + background-color: #ffffff; + color: #000000; + } +} + +#battery.critical:not(.charging) { + background-color: #f53c3c; + color: #ffffff; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +label:focus { + background-color: #000000; +} + +#cpu { + background-color: #2ecc71; + color: #000000; +} + +#memory { + background-color: #9b59b6; +} + +#disk { + background-color: #964B00; +} + +#backlight { + background-color: #90b1b1; +} + +#network { + background-color: #2980b9; +} + +#network.disconnected { + background-color: #f53c3c; +} + +#pulseaudio { + background-color: #f1c40f; + color: #000000; +} + +#pulseaudio.muted { + background-color: #90b1b1; + color: #2a5c45; +} + +#wireplumber { + background-color: #fff0f5; + color: #000000; +} + +#wireplumber.muted { + background-color: #f53c3c; +} + +#custom-media { + background-color: #66cc99; + color: #2a5c45; + min-width: 100px; +} + +#custom-media.custom-spotify { + background-color: #66cc99; +} + +#custom-media.custom-vlc { + background-color: #ffa000; +} + +#temperature { + background-color: #f0932b; +} + +#temperature.critical { + background-color: #eb4d4b; +} + +#tray { + background-color: #2980b9; +} + +#tray>.passive { + -gtk-icon-effect: dim; +} + +#tray>.needs-attention { + -gtk-icon-effect: highlight; + background-color: #eb4d4b; +} + +#idle_inhibitor { + background-color: #2d3436; +} + +#idle_inhibitor.activated { + background-color: #ecf0f1; + color: #2d3436; +} + +#mpd { + background-color: #66cc99; + color: #2a5c45; +} + +#mpd.disconnected { + background-color: #f53c3c; +} + +#mpd.stopped { + background-color: #90b1b1; +} + +#mpd.paused { + background-color: #51a37a; +} + +#language { + background: #00b093; + color: #740864; + padding: 0 5px; + margin: 0 5px; + min-width: 16px; +} + +#keyboard-state { + background: #97e1ad; + color: #000000; + padding: 0 0px; + margin: 0 5px; + min-width: 16px; +} + +#keyboard-state>label { + padding: 0 5px; +} + +#keyboard-state>label.locked { + background: rgba(0, 0, 0, 0.2); +} + +#scratchpad { + background: rgba(0, 0, 0, 0.2); +} + +#scratchpad.empty { + background-color: transparent; +} \ No newline at end of file diff --git a/modules/home-manager/waybar.nix b/modules/home-manager/waybar.nix index a589dc9..acc9b45 100644 --- a/modules/home-manager/waybar.nix +++ b/modules/home-manager/waybar.nix @@ -9,301 +9,153 @@ }; settings = { main_bar = { - gtk-layer-shell = true; - position = "top"; - height = 0; - modules-left = [ - "river/mode" - "river/tags" - ]; - modules-center = [ - "clock" - "custom/joljol" - ]; - modules-right = [ - "tray" - "network" - "pulseaudio" - "battery" - ]; - clock = { - format = "{:%H:%M}"; - format-alt = "{:%Y-%m-%d}"; - }; - battery = { - interval = 60; - states = { - hundred = 100; - ninty = 90; - eighty = 80; - seventy = 70; - sixty = 60; - fifty = 50; - fourty = 40; - thirty = 30; - twenty = 20; - ten = 10; - five = 5; - three = 3; - }; - format = " {capacity} "; - format-charging = " {capacity} "; - format-discharging = " {capacity} "; - format-plugged = " {capacity} "; - format-full = " {capacity} "; - }; - network = { - format-wifi = ""; - format-ethernet = "ﯱ"; - format-linked = " (No IP)"; - format-disconnected = "睊"; - format-alt = "{bandwidthUpBytes} {bandwidthDownBits}"; - interval = 2; - }; - pulseaudio = { - states = { - hundred = 100; - ninty = 90; - eighty = 80; - seventy = 70; - sixty = 60; - fifty = 50; - fourty = 40; - thirty = 30; - twenty = 20; - ten = 10; - zero = 0; - }; - format = "{icon}"; - format-muted = ""; - on-click = "pactl set-sink-mute alsa_output.pci-0000_00_1f.3.analog-stereo toggle"; - scroll-steps = 10; - format-icons = { - headphone = ""; - hands-free = ""; - headset = ""; - phone = ""; - portable = ""; - car = ""; - default = [ - "" - "" - "" + layer = "top"; + position = "top"; + height = 30; + spacing = 4; + # // Choose the order of the modules + modules-left = []; + modules-center = []; + modules-right = [ + "pulseaudio" + "network" ]; - }; - }; - tray = { - show-passive-items = true; - icon-size = 20; - spacing = 10; + # "keyboard-state": { + # "numlock": true, + # "capslock": true, + # "format": "{name} {icon}", + # "format-icons": { + # "locked": "", + # "unlocked": "" + # } + # }, + # "mpd": { + # "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ", + # "format-disconnected": "Disconnected ", + # "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", + # "unknown-tag": "N/A", + # "interval": 2, + # "consume-icons": { + # "on": " " + # }, + # "random-icons": { + # "off": " ", + # "on": " " + # }, + # "repeat-icons": { + # "on": " " + # }, + # "single-icons": { + # "on": "1 " + # }, + # "state-icons": { + # "paused": "", + # "playing": "" + # }, + # "tooltip-format": "MPD (connected)", + # "tooltip-format-disconnected": "MPD (disconnected)" + # }, + # "idle_inhibitor": { + # "format": "{icon}", + # "format-icons": { + # "activated": "", + # "deactivated": "" + # } + # }, + # "tray": { + # // "icon-size": 21, + # "spacing": 10 + # }, + # "clock": { + # // "timezone": "America/New_York", + # "tooltip-format": "{:%Y %B}\n{calendar}", + # "format-alt": "{:%Y-%m-%d}" + # }, + # "cpu": { + # "format": "{usage}% ", + # "tooltip": false + # }, + # "memory": { + # "format": "{}% " + # }, + # "temperature": { + # // "thermal-zone": 2, + # // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", + # "critical-threshold": 80, + # // "format-critical": "{temperatureC}°C {icon}", + # "format": "{temperatureC}°C {icon}", + # "format-icons": ["", "", ""] + # }, + # "backlight": { + # // "device": "acpi_video1", + # "format": "{percent}% {icon}", + # "format-icons": ["", "", "", "", "", "", "", "", ""] + # }, + # "battery": { + # "states": { + # // "good": 95, + # "warning": 30, + # "critical": 15 + # }, + # "format": "{capacity}% {icon}", + # "format-charging": "{capacity}% ", + # "format-plugged": "{capacity}% ", + # "format-alt": "{time} {icon}", + # // "format-good": "", // An empty format will hide the module + # // "format-full": "", + # "format-icons": ["", "", "", "", ""] + # }, + # "battery#bat2": { + # "bat": "BAT2" + # }, + network = { + format-wifi = "{essid} ({signalStrength}%) "; + format-ethernet = "{ipaddr}/{cidr} "; + tooltip-format = "{ifname} via {gwaddr} "; + format-linked = "{ifname} (No IP) "; + format-disconnected = "Disconnected ⚠"; + format-alt = "{ifname}: {ipaddr}/{cidr}"; + }; + pulseaudio = { + scroll-step = 1; + format = "{volume}% {icon} {format_source}"; + format-bluetooth = "{volume}% {icon} {format_source}"; + format-bluetooth-muted = " {icon} {format_source}"; + format-muted = " {format_source}"; + format-source = "{volume}% "; + format-source-muted = ""; + format-icons = { + headphone = ""; + hands-free = ""; + headset = ""; + phone = ""; + portable = ""; + car = ""; + default = [ + "" + "" + "" + ]; + }; + on-click = "pavucontrol"; + }; + # custom/media = { + # format = "{icon} {}"; + # return-type = "json"; + # max-length = 40; + # format-icons = { + # spotify = ""; + # default = "🎜"; + # }; + # escape = true; + # # Script in resources folder + # exec = "$HOME/.config/waybar/mediaplayer.py 2> /dev/null"; + # # Filter player based on name + # exec = "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null"; + # }; }; + }; }; - style = '' - * { - border: none; - /* font-family: "Recursive Sans Casual Static", "JetBrainsMono Nerd Font"; */ - font-family: "Gintronic","Recursive Sans Casual Static", "JetBrainsMono Nerd Font"; - font-size: 12px; - min-height: 20px; - border-radius: 0px; - } - - window#waybar { - background: transparent; - border-radius: 0px; - } - tooltip { - background: #ebbcba; - } - - tooltip label { - color: #191724; - } - #tags { - background-color: transparent; - border-radius: 0px; - padding: 5px 5px 0px 5px; - } - - #tags button { - padding: 0px 5px; - margin-right: 5px; - margin-left: 5px; - color: transparent; - /* border: 0px solid transparent; */ - /* border-top: 3px solid #f6c177; */ - /* border-left: 3px solid #f6c177; */ - /* border-bottom: 2px solid #f6c177; */ - background: #1f1d2e; - } - - #tags button.occupied { - border-radius: 0px; - font-weight: 900; - color: #191724; - background: #31748f; - } - - #tags button.focused { - font-weight: 900; - color: #191724; - background: #ebbcba; - } - - #tags button.urgent { - color: #e0def4; - background-color: #eb6f92; - border-radius: 0px; - } - - #custom-date, - #clock, - #battery, - #pulseaudio, - #network, - #custom-joljol { - color: #e0def4; - background: #1f1d2e; - padding: 2.5px 15px; - margin: 10px 10px 0px 0px; - font-weight: 900; - } - - #clock { - color: #ebbcba; - } - - - #battery { - background: #31748f; - color: #191724; - } - - /* #battery.charging { */ - /* color: #9ccfd8; */ - /* } */ - - #battery.ninty.charging { - background: linear-gradient(to right, #31748f 90%, #9ccfd8 90%); - } - #battery.ninty:not(.charging) { - background: linear-gradient(to right, #31748f 90%, #ebbcba 90%); - } - #battery.eighty.charging { - background: linear-gradient(to right, #31748f 80%, #9ccfd8 80%); - } - #battery.eighty:not(.charging) { - background: linear-gradient(to right, #31748f 80%, #ebbcba 80%); - } - #battery.seventy.charging { - background: linear-gradient(to right, #31748f 70%, #9ccfd8 70%); - } - #battery.seventy:not(.charging) { - background: linear-gradient(to right, #31748f 70%, #ebbcba 70%); - } - #battery.sixty.charging { - background: linear-gradient(to right, #31748f 60%, #9ccfd8 60%); - } - #battery.sixty:not(.charging) { - background: linear-gradient(to right, #31748f 60%, #ebbcba 60%); - } - #battery.fifty.charging { - background: linear-gradient(to right, #31748f 50%, #9ccfd8 50%); - } - #battery.fifty:not(.charging) { - background: linear-gradient(to right, #31748f 50%, #ebbcba 50%); - } - #battery.fourty.charging { - background: linear-gradient(to right, #31748f 40%, #9ccfd8 40%); - } - #battery.fourty:not(.charging) { - background: linear-gradient(to right, #31748f 40%, #ebbcba 40%); - } - #battery.thirty.charging { - background: linear-gradient(to right, #31748f 30%, #9ccfd8 30%); - } - #battery.thirty:not(.charging) { - background: linear-gradient(to right, #31748f 30%, #ebbcba 30%); - } - #battery.twenty.charging { - background: linear-gradient(to right, #31748f 20%, #9ccfd8 20%); - } - #battery.twenty:not(.charging) { - background: linear-gradient(to right, #31748f 20%, #eb6f92 20%); - } - #battery.ten.charging { - background: linear-gradient(to right, #31748f 10%, #9ccfd8 10%); - } - #battery.ten:not(.charging) { - background: linear-gradient(to right, #31748f 10%, #eb6f92 10%); - } - #battery.five.charging { - background: linear-gradient(to right, #31748f 5%, #9ccfd8 5%); - } - #battery.five:not(.charging) { - background: linear-gradient(to right, #31748f 5%, #eb6f92 5%); - } - #battery.three.charging { - background: linear-gradient(to right, #31748f 3%, #9ccfd8 3%); - } - #battery.three:not(.charging) { - background: linear-gradient(to right, #31748f 3%, #eb6f92 3%); - } - #network { - color: #31748f; - } - - #pulseaudio { - background: #c4a7e7; - color: #191724; - } - #pulseaudio.ninty { - background: linear-gradient(to top, #c4a7e7 90%, #908caa 90%); - } - #pulseaudio.eighty { - background: linear-gradient(to top, #c4a7e7 80%, #908caa 80%); - } - #pulseaudio.seventy { - background: linear-gradient(to top, #c4a7e7 70%, #908caa 70%); - } - #pulseaudio.sixty { - background: linear-gradient(to top, #c4a7e7 60%, #908caa 60%); - } - #pulseaudio.fifty { - background: linear-gradient(to top, #c4a7e7 50%, #908caa 50%); - } - #pulseaudio.fourty { - background: linear-gradient(to top, #c4a7e7 40%, #908caa 40%); - } - #pulseaudio.thirty { - background: linear-gradient(to top, #c4a7e7 30%, #908caa 30%); - } - #pulseaudio.twenty { - background: linear-gradient(to top, #c4a7e7 20%, #908caa 20%); - } - #pulseaudio.ten { - background: linear-gradient(to top, #c4a7e7 10%, #908caa 10%); - } - #pulseaudio.zero { - background: linear-gradient(to top, #c4a7e7 0%, #908caa 00%); - } - #pulseaudio.muted { - font-weight: 900; - background: #eb6f92; - } - - #tray { - /* background: #505050; */ - /* padding: 5px 10px; */ - margin: 10px 10px 0px 10px; - color: #e0def4; - } - - #tray menu { - color: #e0def4; - } - ''; - }; -}; -} \ No newline at end of file + style = builtins.readFile ./style.css; + } \ No newline at end of file From f51eee87334a5c6bc48de33b64e976dcf1b3d9f3 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Thu, 31 Aug 2023 02:21:01 -0400 Subject: [PATCH 185/233] fixing waybar config have sound and net --- modules/home-manager/waybar.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/modules/home-manager/waybar.nix b/modules/home-manager/waybar.nix index acc9b45..b44cbee 100644 --- a/modules/home-manager/waybar.nix +++ b/modules/home-manager/waybar.nix @@ -155,7 +155,6 @@ # }; }; }; + style = builtins.readFile ./style.css; }; - - style = builtins.readFile ./style.css; } \ No newline at end of file From e2ada7099205ca1ffc8fa1046c5675008d8033ff Mon Sep 17 00:00:00 2001 From: specCon18 Date: Thu, 31 Aug 2023 03:32:13 -0400 Subject: [PATCH 186/233] fixed waybar writing new config --- modules/home-manager/style.css | 65 +++--------- modules/home-manager/waybar.nix | 168 ++++++++++++-------------------- 2 files changed, 79 insertions(+), 154 deletions(-) diff --git a/modules/home-manager/style.css b/modules/home-manager/style.css index cc2aef1..e63c74e 100644 --- a/modules/home-manager/style.css +++ b/modules/home-manager/style.css @@ -1,11 +1,11 @@ * { /* `otf-font-awesome` is required to be installed for icons */ - font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif; - font-size: 13px; + font-family: FontAwesome, FiraCode, Helvetica, Arial, sans-serif; + font-size: 16px; } window#waybar { - background-color: rgba(43, 48, 59, 0.5); + background-color: rgba(68, 64, 60, 1); border-bottom: 3px solid rgba(100, 114, 125, 0.5); color: #ffffff; transition-property: background-color; @@ -48,25 +48,6 @@ button:hover { box-shadow: inset 0 -3px #ffffff; } -#workspaces button { - padding: 0 5px; - background-color: transparent; - color: #ffffff; -} - -#workspaces button:hover { - background: rgba(0, 0, 0, 0.2); -} - -#workspaces button.focused { - background-color: #64727D; - box-shadow: inset 0 -3px #ffffff; -} - -#workspaces button.urgent { - background-color: #eb4d4b; -} - #mode { background-color: #64727D; border-bottom: 3px solid #ffffff; @@ -89,7 +70,7 @@ button:hover { #scratchpad, #mpd { padding: 0 10px; - color: #ffffff; + color: #030712; } #window, @@ -97,18 +78,8 @@ button:hover { margin: 0 4px; } -/* If workspaces is the leftmost module, omit left margin */ -.modules-left>widget:first-child>#workspaces { - margin-left: 0; -} - -/* If workspaces is the rightmost module, omit right margin */ -.modules-right>widget:last-child>#workspaces { - margin-right: 0; -} - #clock { - background-color: #64727D; + background-color: #ec4899; } #battery { @@ -144,12 +115,13 @@ label:focus { } #cpu { - background-color: #2ecc71; - color: #000000; + background-color: #10b981; + color: #030712; } #memory { - background-color: #9b59b6; + background-color: #d946ef; + color: #030712; } #disk { @@ -157,20 +129,21 @@ label:focus { } #backlight { - background-color: #90b1b1; + background-color: #8b5cf6; } #network { - background-color: #2980b9; + background-color: #0ea5e9; + color: #030712; } #network.disconnected { - background-color: #f53c3c; + background-color: #ef4444; } #pulseaudio { - background-color: #f1c40f; - color: #000000; + background-color: #eab308; + color: #030712; } #pulseaudio.muted { @@ -270,12 +243,4 @@ label:focus { #keyboard-state>label.locked { background: rgba(0, 0, 0, 0.2); -} - -#scratchpad { - background: rgba(0, 0, 0, 0.2); -} - -#scratchpad.empty { - background-color: transparent; } \ No newline at end of file diff --git a/modules/home-manager/waybar.nix b/modules/home-manager/waybar.nix index b44cbee..724ac43 100644 --- a/modules/home-manager/waybar.nix +++ b/modules/home-manager/waybar.nix @@ -11,102 +11,76 @@ main_bar = { layer = "top"; position = "top"; - height = 30; - spacing = 4; - # // Choose the order of the modules + height = 40; + spacing = 8; modules-left = []; - modules-center = []; + modules-center = [ + ]; modules-right = [ + "battery" + "temperature" + "backlight" + "cpu" + "memory" "pulseaudio" "network" + "clock" ]; - # "keyboard-state": { - # "numlock": true, - # "capslock": true, - # "format": "{name} {icon}", - # "format-icons": { - # "locked": "", - # "unlocked": "" - # } - # }, - # "mpd": { - # "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ", - # "format-disconnected": "Disconnected ", - # "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", - # "unknown-tag": "N/A", - # "interval": 2, - # "consume-icons": { - # "on": " " - # }, - # "random-icons": { - # "off": " ", - # "on": " " - # }, - # "repeat-icons": { - # "on": " " - # }, - # "single-icons": { - # "on": "1 " - # }, - # "state-icons": { - # "paused": "", - # "playing": "" - # }, - # "tooltip-format": "MPD (connected)", - # "tooltip-format-disconnected": "MPD (disconnected)" - # }, - # "idle_inhibitor": { - # "format": "{icon}", - # "format-icons": { - # "activated": "", - # "deactivated": "" - # } - # }, - # "tray": { - # // "icon-size": 21, - # "spacing": 10 - # }, - # "clock": { - # // "timezone": "America/New_York", - # "tooltip-format": "{:%Y %B}\n{calendar}", - # "format-alt": "{:%Y-%m-%d}" - # }, - # "cpu": { - # "format": "{usage}% ", - # "tooltip": false - # }, - # "memory": { - # "format": "{}% " - # }, - # "temperature": { - # // "thermal-zone": 2, - # // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", - # "critical-threshold": 80, - # // "format-critical": "{temperatureC}°C {icon}", - # "format": "{temperatureC}°C {icon}", - # "format-icons": ["", "", ""] - # }, - # "backlight": { - # // "device": "acpi_video1", - # "format": "{percent}% {icon}", - # "format-icons": ["", "", "", "", "", "", "", "", ""] - # }, - # "battery": { - # "states": { - # // "good": 95, - # "warning": 30, - # "critical": 15 - # }, - # "format": "{capacity}% {icon}", - # "format-charging": "{capacity}% ", - # "format-plugged": "{capacity}% ", - # "format-alt": "{time} {icon}", - # // "format-good": "", // An empty format will hide the module - # // "format-full": "", - # "format-icons": ["", "", "", "", ""] - # }, + keyboard-state = { + numlock = true; + capslock = true; + format = "{name} {icon}"; + format-icons = { + locked = ""; + unlocked = ""; + }; + }; + clock = { + timezone = "America/Detroit"; + tooltip-format = "{:%Y %B}\n{calendar}"; + format-alt = "{:%d-%m-%Y}"; + }; + cpu = { + format = "{usage}% "; + tooltip = false; + }; + memory = { + format = "{}% "; + }; + temperature = { + thermal-zone = 2; + hwmon-path = "/sys/class/hwmon/hwmon2/temp1_input"; + critical-threshold = 80; + format-critical = "{temperatureC}°C {icon}"; + format = "{temperatureC}°C {icon}"; + format-icons = ["" "" ""]; + }; + backlight = { + format = "{percent}% {icon}"; + format-icons = ["" "" "" "" "" "" "" "" ""]; + }; + battery = { + states = { + good = 95; + warning = 30; + critical = 15; + }; + format = "{capacity}% {icon}"; + format-charging = "{capacity}% "; + format-plugged = "{capacity}% "; + format-alt = "{time} {icon}"; + format-good = ""; + format-full = ""; + format-icons = [ + "" + "" + "" + "" + "" + ]; + }; # "battery#bat2": { - # "bat": "BAT2" + # "bat": "BAT2" # }, network = { format-wifi = "{essid} ({signalStrength}%) "; @@ -139,20 +113,6 @@ }; on-click = "pavucontrol"; }; - # custom/media = { - # format = "{icon} {}"; - # return-type = "json"; - # max-length = 40; - # format-icons = { - # spotify = ""; - # default = "🎜"; - # }; - # escape = true; - # # Script in resources folder - # exec = "$HOME/.config/waybar/mediaplayer.py 2> /dev/null"; - # # Filter player based on name - # exec = "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null"; - # }; }; }; style = builtins.readFile ./style.css; From 02ce8fd40974fd34ba013ccde2d6688806aecf47 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Thu, 31 Aug 2023 03:40:46 -0400 Subject: [PATCH 187/233] added prism launcher --- hosts/katana/system-pkgs.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/katana/system-pkgs.nix b/hosts/katana/system-pkgs.nix index 9ecf74b..f792e9b 100644 --- a/hosts/katana/system-pkgs.nix +++ b/hosts/katana/system-pkgs.nix @@ -29,5 +29,6 @@ gitui swww rofi + prismlauncher ]; } \ No newline at end of file From 9c63bb1dbdb7dceb51610c8ed3bf4ea56a1f6ae1 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Thu, 31 Aug 2023 22:44:44 -0400 Subject: [PATCH 188/233] added rofi config --- flake.nix | 1 + modules/home-manager/hyprland.nix | 2 +- modules/home-manager/rofi.nix | 8 +++ modules/home-manager/style.css | 98 +++++-------------------------- modules/home-manager/waybar.nix | 8 +-- 5 files changed, 30 insertions(+), 87 deletions(-) create mode 100644 modules/home-manager/rofi.nix diff --git a/flake.nix b/flake.nix index 72c936e..46582d5 100644 --- a/flake.nix +++ b/flake.nix @@ -91,6 +91,7 @@ ./modules/home-manager/dconf-settings.nix ./modules/home-manager/syncthing.nix ./modules/home-manager/waybar.nix + ./modules/home-manager/rofi.nix ]; #extra modules to be loaded by home-manager }; }; diff --git a/modules/home-manager/hyprland.nix b/modules/home-manager/hyprland.nix index 84aaf56..918cff3 100644 --- a/modules/home-manager/hyprland.nix +++ b/modules/home-manager/hyprland.nix @@ -31,7 +31,7 @@ bind = $mainMod SHIFT, 8, movetoworkspace, 8 bind = $mainMod SHIFT, 9, movetoworkspace, 9 bind = $mainMod SHIFT, 0, movetoworkspace, 10 - exec-once=systemctl --user restart waybar.service + exec-once=systemctl --user start waybar.service exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP exec-once=mako exec-once = swww init diff --git a/modules/home-manager/rofi.nix b/modules/home-manager/rofi.nix new file mode 100644 index 0000000..751757c --- /dev/null +++ b/modules/home-manager/rofi.nix @@ -0,0 +1,8 @@ +{ pkgs, config, lib, ...}: +{ + programs.rofi = { + enable = true; + theme = "android_notification"; + location = "top-left"; + }; +} \ No newline at end of file diff --git a/modules/home-manager/style.css b/modules/home-manager/style.css index e63c74e..11d06fe 100644 --- a/modules/home-manager/style.css +++ b/modules/home-manager/style.css @@ -5,8 +5,7 @@ } window#waybar { - background-color: rgba(68, 64, 60, 1); - border-bottom: 3px solid rgba(100, 114, 125, 0.5); + background-color: rgba(68, 64, 60, 0.0); color: #ffffff; transition-property: background-color; transition-duration: .5s; @@ -16,15 +15,6 @@ window#waybar.hidden { opacity: 0.2; } -/* -window#waybar.empty { - background-color: transparent; -} -window#waybar.solo { - background-color: #FFFFFF; -} -*/ - window#waybar.termite { background-color: #3F3F3F; } @@ -38,19 +28,13 @@ button { /* Use box-shadow instead of border so the text isn't offset */ box-shadow: inset 0 -3px transparent; /* Avoid rounded borders under each button name */ - border: none; + border: 0; border-radius: 0; } /* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ button:hover { background: inherit; - box-shadow: inset 0 -3px #ffffff; -} - -#mode { - background-color: #64727D; - border-bottom: 3px solid #ffffff; } #clock, @@ -62,34 +46,29 @@ button:hover { #backlight, #network, #pulseaudio, -#wireplumber, -#custom-media, -#tray, -#mode, -#idle_inhibitor, -#scratchpad, -#mpd { +#wireplumber { padding: 0 10px; color: #030712; } -#window, -#workspaces { +#window { margin: 0 4px; } #clock { background-color: #ec4899; + border-radius: 24px; } #battery { - background-color: #ffffff; + background-color: #0ea5e9; color: #000000; + border-radius: 24px; } #battery.charging, #battery.plugged { - color: #ffffff; + color: #22c55e; background-color: #26A65B; } @@ -117,24 +96,29 @@ label:focus { #cpu { background-color: #10b981; color: #030712; + border-radius: 24px; } #memory { background-color: #d946ef; color: #030712; + border-radius: 24px; } #disk { background-color: #964B00; + border-radius: 24px; } #backlight { background-color: #8b5cf6; + border-radius: 24px; } #network { background-color: #0ea5e9; color: #030712; + border-radius: 24px; } #network.disconnected { @@ -144,6 +128,7 @@ label:focus { #pulseaudio { background-color: #eab308; color: #030712; + border-radius: 24px; } #pulseaudio.muted { @@ -154,73 +139,22 @@ label:focus { #wireplumber { background-color: #fff0f5; color: #000000; + border-radius: 24px; } #wireplumber.muted { background-color: #f53c3c; } -#custom-media { - background-color: #66cc99; - color: #2a5c45; - min-width: 100px; -} - -#custom-media.custom-spotify { - background-color: #66cc99; -} - -#custom-media.custom-vlc { - background-color: #ffa000; -} - #temperature { background-color: #f0932b; + border-radius: 24px; } #temperature.critical { background-color: #eb4d4b; } -#tray { - background-color: #2980b9; -} - -#tray>.passive { - -gtk-icon-effect: dim; -} - -#tray>.needs-attention { - -gtk-icon-effect: highlight; - background-color: #eb4d4b; -} - -#idle_inhibitor { - background-color: #2d3436; -} - -#idle_inhibitor.activated { - background-color: #ecf0f1; - color: #2d3436; -} - -#mpd { - background-color: #66cc99; - color: #2a5c45; -} - -#mpd.disconnected { - background-color: #f53c3c; -} - -#mpd.stopped { - background-color: #90b1b1; -} - -#mpd.paused { - background-color: #51a37a; -} - #language { background: #00b093; color: #740864; diff --git a/modules/home-manager/waybar.nix b/modules/home-manager/waybar.nix index 724ac43..3882b8c 100644 --- a/modules/home-manager/waybar.nix +++ b/modules/home-manager/waybar.nix @@ -15,10 +15,10 @@ spacing = 8; modules-left = []; modules-center = [ + "temperature" ]; modules-right = [ "battery" - "temperature" "backlight" "cpu" "memory" @@ -79,9 +79,9 @@ "" ]; }; - # "battery#bat2": { - # "bat": "BAT2" - # }, + "battery#bat2" = { + bat = "BAT2"; + }; network = { format-wifi = "{essid} ({signalStrength}%) "; format-ethernet = "{ipaddr}/{cidr} "; From 52992924a79bd6cf704edaa8eb1fddce04a373a7 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Sun, 8 Oct 2023 03:15:19 -0400 Subject: [PATCH 189/233] update to cross post --- hosts/katana/system-pkgs.nix | 5 ++++- modules/home-manager/hyprland.nix | 4 ++++ modules/home-manager/style.css | 4 ++-- modules/system/desktop-environments/hyprland.nix | 1 + 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/hosts/katana/system-pkgs.nix b/hosts/katana/system-pkgs.nix index f792e9b..8876600 100644 --- a/hosts/katana/system-pkgs.nix +++ b/hosts/katana/system-pkgs.nix @@ -22,7 +22,9 @@ age-plugin-yubikey #plugin for rage to manage yubi-2fa sops #file based secrets operations direnv #used for development environments - python39 + python311Packages.pip + python311 + python311Packages.pygithub gcc bottom felix-fm @@ -30,5 +32,6 @@ swww rofi prismlauncher + parallel ]; } \ No newline at end of file diff --git a/modules/home-manager/hyprland.nix b/modules/home-manager/hyprland.nix index 918cff3..369a851 100644 --- a/modules/home-manager/hyprland.nix +++ b/modules/home-manager/hyprland.nix @@ -5,9 +5,11 @@ enable = true; extraConfig = '' $mainMod = SUPER + # Application Lauch Keybinds bind = $mainMod, Return, exec, alacritty bind = $mainMod, W, exec, firefox bind = $mainMod, R, exec, rofi -show drun + # Switch workspaces with mainMod + [0-9] bind = $mainMod, 1, workspace, 1 bind = $mainMod, 2, workspace, 2 @@ -31,6 +33,8 @@ bind = $mainMod SHIFT, 8, movetoworkspace, 8 bind = $mainMod SHIFT, 9, movetoworkspace, 9 bind = $mainMod SHIFT, 0, movetoworkspace, 10 + + # Startup Runners exec-once=systemctl --user start waybar.service exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP exec-once=mako diff --git a/modules/home-manager/style.css b/modules/home-manager/style.css index 11d06fe..1e73721 100644 --- a/modules/home-manager/style.css +++ b/modules/home-manager/style.css @@ -68,8 +68,8 @@ button:hover { #battery.charging, #battery.plugged { - color: #22c55e; - background-color: #26A65B; + color: #000000; + background-color: #22C55E; } @keyframes blink { diff --git a/modules/system/desktop-environments/hyprland.nix b/modules/system/desktop-environments/hyprland.nix index 76162ee..4c4789b 100644 --- a/modules/system/desktop-environments/hyprland.nix +++ b/modules/system/desktop-environments/hyprland.nix @@ -26,6 +26,7 @@ in { mako hyprland font-awesome + brightnessctl ]; sessionVariables = { #Enable Wayland From 3449e5a858f616f756aba0cb81be26f59e92cc72 Mon Sep 17 00:00:00 2001 From: Steven Date: Mon, 16 Oct 2023 01:34:40 -0400 Subject: [PATCH 190/233] added bluetooth support --- extract.sh | 0 hosts/katana/bluetooth.nix | 13 +++++++++++++ hosts/katana/system-pkgs.nix | 2 ++ 3 files changed, 15 insertions(+) mode change 100755 => 100644 extract.sh create mode 100644 hosts/katana/bluetooth.nix diff --git a/extract.sh b/extract.sh old mode 100755 new mode 100644 diff --git a/hosts/katana/bluetooth.nix b/hosts/katana/bluetooth.nix new file mode 100644 index 0000000..b3e68ad --- /dev/null +++ b/hosts/katana/bluetooth.nix @@ -0,0 +1,13 @@ +{config, pkgs, }: +{ + hardware.bluetooth = { + enable = true; # enables support for Bluetooth + powerOnBoot = true; # powers up the default Bluetooth controller on boot + settings = { + General = { + Enable = "Source,Sink,Media,Socket"; + }; + }; + }; + services.blueman.enable = true; +} \ No newline at end of file diff --git a/hosts/katana/system-pkgs.nix b/hosts/katana/system-pkgs.nix index 8876600..ac0bf4f 100644 --- a/hosts/katana/system-pkgs.nix +++ b/hosts/katana/system-pkgs.nix @@ -1,6 +1,8 @@ { modulesPath, config, pkgs, lib, self, ... }: { environment.systemPackages = with pkgs; [ + bluez + blueman nerdfonts pkg-config ripgrep From 6baa7c361c797a8392dc10478404ed18b3f659e6 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Wed, 20 Dec 2023 06:07:08 -0500 Subject: [PATCH 191/233] added bluetooth and xremap and screenshots --- flake.lock | 332 +++++++++++++++++- flake.nix | 8 +- hosts/katana/bluetooth.nix | 24 +- hosts/katana/system-pkgs.nix | 1 + modules/home-manager/hyprland.nix | 2 + .../system/desktop-environments/hyprland.nix | 4 + users/speccon18/default.nix | 14 + users/speccon18/home.nix | 1 + 8 files changed, 371 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 90a430d..0cc8e47 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,45 @@ { "nodes": { + "crane": { + "inputs": { + "nixpkgs": [ + "xremap", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1701386725, + "narHash": "sha256-w4aBlMYh9Y8co1V80m5LzEKMijUJ7CBTq209WbqVwUU=", + "owner": "ipetkov", + "repo": "crane", + "rev": "8b9bad9b30bd7a9ed08782e64846b7485f9d0a38", + "type": "github" + }, + "original": { + "owner": "ipetkov", + "repo": "crane", + "type": "github" + } + }, + "devshell": { + "inputs": { + "nixpkgs": "nixpkgs_4", + "systems": "systems_2" + }, + "locked": { + "lastModified": 1700815693, + "narHash": "sha256-JtKZEQUzosrCwDsLgm+g6aqbP1aseUl1334OShEAS3s=", + "owner": "numtide", + "repo": "devshell", + "rev": "7ad1c417c87e98e56dcef7ecd0e0a2f2e5669d51", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "devshell", + "type": "github" + } + }, "disko": { "inputs": { "nixpkgs": [ @@ -20,6 +60,24 @@ "type": "github" } }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1698882062, + "narHash": "sha256-HkhafUayIqxXyHH1X8d9RDl1M2CkFgZLjKD3MzabiEo=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "8c9fa2545007b49a5db5f650ae91f227672c3877", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -41,6 +99,24 @@ "type": "github" } }, + "home-manager_2": { + "inputs": { + "nixpkgs": "nixpkgs_5" + }, + "locked": { + "lastModified": 1701071203, + "narHash": "sha256-lQywA7QU/vzTdZ1apI0PfgCWNyQobXUYghVrR5zuIeM=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "db1878f013b52ba5e4034db7c1b63e8d04173a86", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, "hyprland": { "inputs": { "hyprland-protocols": "hyprland-protocols", @@ -88,6 +164,55 @@ "type": "github" } }, + "hyprland-protocols_2": { + "inputs": { + "nixpkgs": [ + "xremap", + "hyprland", + "nixpkgs" + ], + "systems": [ + "xremap", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1691753796, + "narHash": "sha256-zOEwiWoXk3j3+EoF3ySUJmberFewWlagvewDRuWYAso=", + "owner": "hyprwm", + "repo": "hyprland-protocols", + "rev": "0c2ce70625cb30aef199cb388f99e19a61a6ce03", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-protocols", + "type": "github" + } + }, + "hyprland_2": { + "inputs": { + "hyprland-protocols": "hyprland-protocols_2", + "nixpkgs": "nixpkgs_6", + "systems": "systems_3", + "wlroots": "wlroots_2", + "xdph": "xdph_2" + }, + "locked": { + "lastModified": 1701370414, + "narHash": "sha256-Q7A8BWWS1YndiNaAKM0IP73SGKJiQDfOdZAIdTLGNj8=", + "owner": "hyprwm", + "repo": "Hyprland", + "rev": "b394c1695c05cf3b2133a473aa459d4cd750911b", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "Hyprland", + "type": "github" + } + }, "nixos-hardware": { "locked": { "lastModified": 1679765008, @@ -120,6 +245,24 @@ "type": "github" } }, + "nixpkgs-lib": { + "locked": { + "dir": "lib", + "lastModified": 1698611440, + "narHash": "sha256-jPjHjrerhYDy3q9+s5EAsuhyhuknNfowY6yt6pjn9pc=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "0cbe9f69c234a7700596e943bfae7ef27a31b735", + "type": "github" + }, + "original": { + "dir": "lib", + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-stable": { "locked": { "lastModified": 1679748960, @@ -168,6 +311,70 @@ "type": "github" } }, + "nixpkgs_4": { + "locked": { + "lastModified": 1677383253, + "narHash": "sha256-UfpzWfSxkfXHnb4boXZNaKsAcUrZT9Hw+tao1oZxd08=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "9952d6bc395f5841262b006fbace8dd7e143b634", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_5": { + "locked": { + "lastModified": 1700794826, + "narHash": "sha256-RyJTnTNKhO0yqRpDISk03I/4A67/dp96YRxc86YOPgU=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "5a09cb4b393d58f9ed0d9ca1555016a8543c2ac8", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_6": { + "locked": { + "lastModified": 1700612854, + "narHash": "sha256-yrQ8osMD+vDLGFX7pcwsY/Qr5PUd6OmDMYJZzZi0+zc=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "19cbff58383a4ae384dea4d1d0c823d72b49d614", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_7": { + "locked": { + "lastModified": 1701336116, + "narHash": "sha256-kEmpezCR/FpITc6yMbAh4WrOCiT2zg5pSjnKrq51h5Y=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "f5c27c6136db4d76c30e533c20517df6864c46ee", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "root": { "inputs": { "disko": "disko", @@ -175,7 +382,8 @@ "hyprland": "hyprland", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs_2", - "sops-nix": "sops-nix" + "sops-nix": "sops-nix", + "xremap": "xremap" } }, "sops-nix": { @@ -212,6 +420,36 @@ "type": "github" } }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_3": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, "wlroots": { "flake": false, "locked": { @@ -231,6 +469,25 @@ "type": "gitlab" } }, + "wlroots_2": { + "flake": false, + "locked": { + "host": "gitlab.freedesktop.org", + "lastModified": 1701368958, + "narHash": "sha256-7kvyoA91etzVEl9mkA/EJfB6z/PltxX7Xc4gcr7/xlo=", + "owner": "wlroots", + "repo": "wlroots", + "rev": "5d639394f3e83b01596dcd166a44a9a1a2583350", + "type": "gitlab" + }, + "original": { + "host": "gitlab.freedesktop.org", + "owner": "wlroots", + "repo": "wlroots", + "rev": "5d639394f3e83b01596dcd166a44a9a1a2583350", + "type": "gitlab" + } + }, "xdph": { "inputs": { "hyprland-protocols": [ @@ -259,6 +516,79 @@ "repo": "xdg-desktop-portal-hyprland", "type": "github" } + }, + "xdph_2": { + "inputs": { + "hyprland-protocols": [ + "xremap", + "hyprland", + "hyprland-protocols" + ], + "nixpkgs": [ + "xremap", + "hyprland", + "nixpkgs" + ], + "systems": [ + "xremap", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1700508250, + "narHash": "sha256-X4o/mifI7Nhu0UKYlxx53wIC+gYDo3pVM9L2u3PE2bE=", + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "rev": "eb120ff25265ecacd0fc13d7dab12131b60d0f47", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "type": "github" + } + }, + "xremap": { + "inputs": { + "crane": "crane", + "devshell": "devshell", + "flake-parts": "flake-parts", + "home-manager": "home-manager_2", + "hyprland": "hyprland_2", + "nixpkgs": "nixpkgs_7", + "xremap": "xremap_2" + }, + "locked": { + "lastModified": 1701816620, + "narHash": "sha256-axgWrKpoV1T7KVbbT+3H/Q6mcBdUKylIz6ClFCMRxlA=", + "owner": "xremap", + "repo": "nix-flake", + "rev": "5b264392686e6caee50c9b12cb290b7d0f23cf93", + "type": "github" + }, + "original": { + "owner": "xremap", + "repo": "nix-flake", + "type": "github" + } + }, + "xremap_2": { + "flake": false, + "locked": { + "lastModified": 1701234505, + "narHash": "sha256-7k6GsKDUBvhKL9JU/QkWO+IHvhaty1udOYP8fXKr9QY=", + "owner": "k0kubun", + "repo": "xremap", + "rev": "97268d1d92d94609daddff1230c4ca77d54a84dd", + "type": "github" + }, + "original": { + "owner": "k0kubun", + "ref": "v0.8.12", + "repo": "xremap", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 46582d5..971f511 100644 --- a/flake.nix +++ b/flake.nix @@ -4,7 +4,8 @@ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05"; nixos-hardware.url = "github:NixOS/nixos-hardware/master"; - sops-nix.url = github:Mic92/sops-nix; + sops-nix.url = "github:Mic92/sops-nix"; + xremap.url = "github:xremap/nix-flake"; hyprland.url = "github:hyprwm/Hyprland"; home-manager = { url = "github:nix-community/home-manager/release-23.05"; @@ -16,7 +17,7 @@ }; }; - outputs = { self, home-manager, nixos-hardware, disko, nixpkgs, sops-nix, hyprland, ... }@inputs: + outputs = { self, home-manager, nixos-hardware, disko, nixpkgs, sops-nix, hyprland, xremap, ... }@inputs: let system = "x86_64-linux"; pkgs = import nixpkgs { @@ -33,6 +34,8 @@ modules = [ #Secrets management sops-nix.nixosModules.sops + #Keybinding + xremap.nixosModules.default #Machine config configurationNix defaultNixOptions @@ -64,6 +67,7 @@ ./modules/system/desktop-environments/tuigreet.nix ./modules/system/desktop-environments/hyprland.nix ./hosts/katana/default.nix + ./hosts/katana/bluetooth.nix ./hosts/katana/networkd.nix ./hosts/katana/system-pkgs.nix ./modules/system/services/docker.nix diff --git a/hosts/katana/bluetooth.nix b/hosts/katana/bluetooth.nix index b3e68ad..90e4717 100644 --- a/hosts/katana/bluetooth.nix +++ b/hosts/katana/bluetooth.nix @@ -1,13 +1,13 @@ -{config, pkgs, }: -{ - hardware.bluetooth = { - enable = true; # enables support for Bluetooth - powerOnBoot = true; # powers up the default Bluetooth controller on boot - settings = { - General = { - Enable = "Source,Sink,Media,Socket"; - }; - }; - }; - services.blueman.enable = true; +{config, pkgs, ... }: +{ + hardware.bluetooth = { + enable = true; # enables support for Bluetooth + powerOnBoot = true; # powers up the default Bluetooth controller on boot + settings = { + General = { + Enable = "Source,Sink,Media,Socket"; + }; + }; + }; + services.blueman.enable = true; } \ No newline at end of file diff --git a/hosts/katana/system-pkgs.nix b/hosts/katana/system-pkgs.nix index ac0bf4f..81a0a91 100644 --- a/hosts/katana/system-pkgs.nix +++ b/hosts/katana/system-pkgs.nix @@ -35,5 +35,6 @@ rofi prismlauncher parallel + skate ]; } \ No newline at end of file diff --git a/modules/home-manager/hyprland.nix b/modules/home-manager/hyprland.nix index 369a851..14f7cc2 100644 --- a/modules/home-manager/hyprland.nix +++ b/modules/home-manager/hyprland.nix @@ -34,6 +34,8 @@ bind = $mainMod SHIFT, 9, movetoworkspace, 9 bind = $mainMod SHIFT, 0, movetoworkspace, 10 + bind = $mainMod, Print, exec, grim -o /home/speccon18/Pictures/$(date +'%s_grim.png') -g "$(slurp)" -t png + # Startup Runners exec-once=systemctl --user start waybar.service exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP diff --git a/modules/system/desktop-environments/hyprland.nix b/modules/system/desktop-environments/hyprland.nix index 4c4789b..6fe87a0 100644 --- a/modules/system/desktop-environments/hyprland.nix +++ b/modules/system/desktop-environments/hyprland.nix @@ -27,6 +27,10 @@ in { hyprland font-awesome brightnessctl + grim + slurp + imagemagick + wl-clipboard ]; sessionVariables = { #Enable Wayland diff --git a/users/speccon18/default.nix b/users/speccon18/default.nix index 767bd70..3a954eb 100644 --- a/users/speccon18/default.nix +++ b/users/speccon18/default.nix @@ -14,4 +14,18 @@ "docker" ]; }; + services.xremap = { + withWlroots = true; + userName = "speccon18"; + config = { + keymap = [ + { + name = "Global"; + remap = { + "CapsLock" = "Esc"; + }; + } + ]; + }; + }; } \ No newline at end of file diff --git a/users/speccon18/home.nix b/users/speccon18/home.nix index 2d241a5..dcec4a2 100644 --- a/users/speccon18/home.nix +++ b/users/speccon18/home.nix @@ -29,6 +29,7 @@ vlc remmina bacon + skate ]; }; } From 93af4f7913a320e88620d0c2cccc5d9aa9d641d3 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Wed, 20 Dec 2023 23:11:28 -0500 Subject: [PATCH 192/233] updated waybar fixed some other minor gripes --- modules/home-manager/waybar.nix | 15 ++++++++------- users/speccon18/default.nix | 28 ++++++++++++++++------------ 2 files changed, 24 insertions(+), 19 deletions(-) diff --git a/modules/home-manager/waybar.nix b/modules/home-manager/waybar.nix index 3882b8c..373babb 100644 --- a/modules/home-manager/waybar.nix +++ b/modules/home-manager/waybar.nix @@ -13,12 +13,13 @@ position = "top"; height = 40; spacing = 8; - modules-left = []; + modules-left = [ + "battery" + ]; modules-center = [ "temperature" ]; modules-right = [ - "battery" "backlight" "cpu" "memory" @@ -66,7 +67,7 @@ critical = 15; }; format = "{capacity}% {icon}"; - format-charging = "{capacity}% "; + format-charging = "{capacity}% "; format-plugged = "{capacity}% "; format-alt = "{time} {icon}"; format-good = ""; @@ -80,7 +81,7 @@ ]; }; "battery#bat2" = { - bat = "BAT2"; + bat = "BAT"; }; network = { format-wifi = "{essid} ({signalStrength}%) "; @@ -94,14 +95,14 @@ scroll-step = 1; format = "{volume}% {icon} {format_source}"; format-bluetooth = "{volume}% {icon} {format_source}"; - format-bluetooth-muted = " {icon} {format_source}"; + format-bluetooth-muted = "{icon} {format_source}"; format-muted = " {format_source}"; format-source = "{volume}% "; format-source-muted = ""; format-icons = { headphone = ""; - hands-free = ""; - headset = ""; + hands-free = ""; + headset = ""; phone = ""; portable = ""; car = ""; diff --git a/users/speccon18/default.nix b/users/speccon18/default.nix index 3a954eb..006a0b1 100644 --- a/users/speccon18/default.nix +++ b/users/speccon18/default.nix @@ -14,18 +14,22 @@ "docker" ]; }; - services.xremap = { - withWlroots = true; - userName = "speccon18"; - config = { - keymap = [ - { - name = "Global"; - remap = { - "CapsLock" = "Esc"; +services.xremap = { + withWlroots = true; + userName = "speccon18"; + config = { + keymap = [ + { + name = "Global"; + remap = { + "CapsLock" = "Esc"; + "Print" = { + launch = [ "zsh" "-c" "grim -o /home/speccon18/Pictures/$(date +'%s_grim.png') -g $(slurp) -t png" ]; }; - } - ]; - }; + }; + } + ]; }; +}; + } \ No newline at end of file From edb15f7ba93eb229c92bec2fdc7f22fd8c5eba3b Mon Sep 17 00:00:00 2001 From: specCon18 Date: Wed, 20 Dec 2023 23:46:40 -0500 Subject: [PATCH 193/233] updated waybar --- modules/home-manager/waybar.nix | 4 ++-- modules/system/desktop-environments/hyprland.nix | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/modules/home-manager/waybar.nix b/modules/home-manager/waybar.nix index 373babb..9443604 100644 --- a/modules/home-manager/waybar.nix +++ b/modules/home-manager/waybar.nix @@ -57,8 +57,8 @@ format-icons = ["" "" ""]; }; backlight = { - format = "{percent}% {icon}"; - format-icons = ["" "" "" "" "" "" "" "" ""]; + format = "{percent} {icon}"; + format-icons = ["" "" "" "" "" "" "" "" ""]; }; battery = { states = { diff --git a/modules/system/desktop-environments/hyprland.nix b/modules/system/desktop-environments/hyprland.nix index 6fe87a0..272b497 100644 --- a/modules/system/desktop-environments/hyprland.nix +++ b/modules/system/desktop-environments/hyprland.nix @@ -29,7 +29,6 @@ in { brightnessctl grim slurp - imagemagick wl-clipboard ]; sessionVariables = { From 77d8dcb2e925d581321a4366f3411b9b6db9b8fb Mon Sep 17 00:00:00 2001 From: specCon18 Date: Fri, 22 Dec 2023 06:23:21 -0500 Subject: [PATCH 194/233] updated helix settings --- TODO.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 TODO.md diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..3d00ab7 --- /dev/null +++ b/TODO.md @@ -0,0 +1,4 @@ +# TODO: +- [ ] Add biome support to helix +- [ ] Add tailwind support to helix +- [ ] Build built in devenvs with direnv From 73a139a46b46d4acd7303ad45dec6aac68a6a998 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Tue, 6 Feb 2024 19:22:12 -0500 Subject: [PATCH 195/233] updating remote --- hosts/katana/system-pkgs.nix | 1 + modules/home-manager/style.css | 32 +++++++++---------- modules/home-manager/vscode.nix | 2 +- modules/system/desktop-environments/gnome.nix | 5 +-- users/speccon18/home.nix | 1 + 5 files changed, 20 insertions(+), 21 deletions(-) diff --git a/hosts/katana/system-pkgs.nix b/hosts/katana/system-pkgs.nix index 81a0a91..e30ce7d 100644 --- a/hosts/katana/system-pkgs.nix +++ b/hosts/katana/system-pkgs.nix @@ -4,6 +4,7 @@ bluez blueman nerdfonts + home-manager pkg-config ripgrep openssl diff --git a/modules/home-manager/style.css b/modules/home-manager/style.css index 1e73721..3fdb8b8 100644 --- a/modules/home-manager/style.css +++ b/modules/home-manager/style.css @@ -56,12 +56,12 @@ button:hover { } #clock { - background-color: #ec4899; + background-color: #ec6148; border-radius: 24px; } #battery { - background-color: #0ea5e9; + background-color: #ec6148; color: #000000; border-radius: 24px; } @@ -69,12 +69,12 @@ button:hover { #battery.charging, #battery.plugged { color: #000000; - background-color: #22C55E; + background-color: #ec6148; } @keyframes blink { to { - background-color: #ffffff; + background-color: #ec6148; color: #000000; } } @@ -94,65 +94,65 @@ label:focus { } #cpu { - background-color: #10b981; + background-color: #ec6148; color: #030712; border-radius: 24px; } #memory { - background-color: #d946ef; + background-color: #ec6148; color: #030712; border-radius: 24px; } #disk { - background-color: #964B00; + background-color: #ec6148; border-radius: 24px; } #backlight { - background-color: #8b5cf6; + background-color: #ec6148; border-radius: 24px; } #network { - background-color: #0ea5e9; + background-color: #ec6148; color: #030712; border-radius: 24px; } #network.disconnected { - background-color: #ef4444; + background-color: #ec6148; } #pulseaudio { - background-color: #eab308; + background-color: #ec6148; color: #030712; border-radius: 24px; } #pulseaudio.muted { - background-color: #90b1b1; + background-color: #ec6148; color: #2a5c45; } #wireplumber { - background-color: #fff0f5; + background-color: #ec6148; color: #000000; border-radius: 24px; } #wireplumber.muted { - background-color: #f53c3c; + background-color: #ec6148; } #temperature { - background-color: #f0932b; + background-color: #ec6148; border-radius: 24px; } #temperature.critical { - background-color: #eb4d4b; + background-color: #ec6148; } #language { diff --git a/modules/home-manager/vscode.nix b/modules/home-manager/vscode.nix index 15f9882..5f73fbd 100644 --- a/modules/home-manager/vscode.nix +++ b/modules/home-manager/vscode.nix @@ -1,7 +1,7 @@ { pkgs, config, lib, ...}: { programs.vscode = { - enable = true; + enable = false; package = pkgs.vscode.fhs; enableExtensionUpdateCheck = true; enableUpdateCheck = false; diff --git a/modules/system/desktop-environments/gnome.nix b/modules/system/desktop-environments/gnome.nix index 657c300..ab244e1 100644 --- a/modules/system/desktop-environments/gnome.nix +++ b/modules/system/desktop-environments/gnome.nix @@ -13,15 +13,12 @@ in { config = mkIf cfg.enable { # Gnome extensions environment.systemPackages = with pkgs; [ - gnomeExtensions.dock-from-dash - gnomeExtensions.pop-shell - gnome-extension-manager ]; services = { gnome = { core-utilities.enable = false; - gnome-keyring.enable = true; + gnome-keyring.enable = false; }; xserver = { diff --git a/users/speccon18/home.nix b/users/speccon18/home.nix index dcec4a2..6b2e586 100644 --- a/users/speccon18/home.nix +++ b/users/speccon18/home.nix @@ -30,6 +30,7 @@ remmina bacon skate + neovim ]; }; } From ba5e2567944e1b0001fb84fb3a5c2a071fb6b3bd Mon Sep 17 00:00:00 2001 From: specCon18 Date: Fri, 9 Feb 2024 01:15:28 -0500 Subject: [PATCH 196/233] added budgie --- flake.nix | 3 ++- hosts/katana/default.nix | 2 +- hosts/katana/system-pkgs.nix | 14 +------------- modules/home-manager/zsh.nix | 4 +--- modules/system/desktop-environments/budgie.nix | 12 ++++++++++++ modules/system/desktop-environments/gnome.nix | 6 +++--- users/speccon18/default.nix | 1 - users/speccon18/home.nix | 6 ------ 8 files changed, 20 insertions(+), 28 deletions(-) create mode 100644 modules/system/desktop-environments/budgie.nix diff --git a/flake.nix b/flake.nix index 971f511..4fbe5fe 100644 --- a/flake.nix +++ b/flake.nix @@ -66,6 +66,7 @@ [ ./modules/system/desktop-environments/tuigreet.nix ./modules/system/desktop-environments/hyprland.nix + ./modules/system/desktop-environments/budgie.nix ./hosts/katana/default.nix ./hosts/katana/bluetooth.nix ./hosts/katana/networkd.nix @@ -76,7 +77,7 @@ ./modules/system/services/syncthing.nix ./modules/system/services/tailscale.nix - ] #extra modules to be loaded + ] #extra modules to be loaded by nixos [ hyprland.homeManagerModules.default ./modules/home-manager/hyprland.nix diff --git a/hosts/katana/default.nix b/hosts/katana/default.nix index d919d57..8e2da6e 100644 --- a/hosts/katana/default.nix +++ b/hosts/katana/default.nix @@ -62,7 +62,7 @@ }; speccon18 = { desktop = { - hyprland.enable = true; + hyprland.enable = false; gnome.enable = false; displayManager.tuigreet.enable = true; }; diff --git a/hosts/katana/system-pkgs.nix b/hosts/katana/system-pkgs.nix index e30ce7d..f455b14 100644 --- a/hosts/katana/system-pkgs.nix +++ b/hosts/katana/system-pkgs.nix @@ -9,15 +9,7 @@ ripgrep openssl tree - unrar - unzip - gzip - p7zip - bzip2 - dconf2nix - bat exa - uutils-coreutils htop zsh dig #dns lookup @@ -32,10 +24,6 @@ bottom felix-fm gitui - swww - rofi - prismlauncher - parallel - skate + spotify ]; } \ No newline at end of file diff --git a/modules/home-manager/zsh.nix b/modules/home-manager/zsh.nix index 7ef2680..1a10d62 100644 --- a/modules/home-manager/zsh.nix +++ b/modules/home-manager/zsh.nix @@ -13,10 +13,8 @@ shellAliases = { ls = "exa -l"; lsa = "exa -al"; - cd = "z"; + grep = "rg"; osrb = "sudo nixos-rebuild $1 --flake ~/code/nixos-config/#katana"; - top = "btm"; - cat = "bat --decorations=never"; }; localVariables = { EDITOR="hx"; diff --git a/modules/system/desktop-environments/budgie.nix b/modules/system/desktop-environments/budgie.nix new file mode 100644 index 0000000..14b1229 --- /dev/null +++ b/modules/system/desktop-environments/budgie.nix @@ -0,0 +1,12 @@ +{ config, pkgs, lib, ...}: +{ + + environment.systemPackages = with pkgs; [ + budgie.budgie-desktop-with-plugins + ]; + services.xserver = { + enable = true; + desktopManager.budgie.enable = true; + }; +} + diff --git a/modules/system/desktop-environments/gnome.nix b/modules/system/desktop-environments/gnome.nix index ab244e1..c752e58 100644 --- a/modules/system/desktop-environments/gnome.nix +++ b/modules/system/desktop-environments/gnome.nix @@ -18,7 +18,7 @@ in { services = { gnome = { core-utilities.enable = false; - gnome-keyring.enable = false; + gnome-keyring.enable = true; }; xserver = { @@ -30,7 +30,7 @@ in { enable = true; wayland = true; }; - defaultSession = lib.mkDefault "gnome"; + # defaultSession = lib.mkDefault "gnome"; }; desktopManager = { xterm.enable = false; @@ -44,7 +44,7 @@ in { }; xdg = { - # portal = { enable = lib.mkDefault true; }; + portal = { enable = lib.mkDefault true; }; mime.defaultApplications = { "text/markdown" = "hx"; }; diff --git a/users/speccon18/default.nix b/users/speccon18/default.nix index 006a0b1..bcc6656 100644 --- a/users/speccon18/default.nix +++ b/users/speccon18/default.nix @@ -6,7 +6,6 @@ isNormalUser = true; initialHashedPassword = "$y$j9T$RdLBHOvUpb17egl0d16LT/$3Y2RD/tT1IZ0nkfAR13pp3IzBjvKLRgGpDPLobUeO23"; openssh.authorizedKeys.keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIrZpH5QV62dtTb2yx5I3PF2lJyNpPkV57pDlo6xawID" ]; description = "Steven Carpenter"; extraGroups = [ diff --git a/users/speccon18/home.nix b/users/speccon18/home.nix index 6b2e586..4b334ff 100644 --- a/users/speccon18/home.nix +++ b/users/speccon18/home.nix @@ -15,22 +15,16 @@ stateVersion = "22.11"; packages = with pkgs; [ - inkscape freecad calibre bitwarden firefox discord - nodejs_20 - fira-code gimp obsidian neofetch vlc remmina - bacon - skate - neovim ]; }; } From 2ee8fe31a8f8f6024c0791dbfb7ec2784997a6e0 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Fri, 9 Feb 2024 01:18:02 -0500 Subject: [PATCH 197/233] added budgie option --- hosts/katana/default.nix | 1 + modules/system/desktop-environments/budgie.nix | 13 ++++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/hosts/katana/default.nix b/hosts/katana/default.nix index 8e2da6e..acc8faf 100644 --- a/hosts/katana/default.nix +++ b/hosts/katana/default.nix @@ -64,6 +64,7 @@ desktop = { hyprland.enable = false; gnome.enable = false; + budgie.enable = true; displayManager.tuigreet.enable = true; }; }; diff --git a/modules/system/desktop-environments/budgie.nix b/modules/system/desktop-environments/budgie.nix index 14b1229..23873b5 100644 --- a/modules/system/desktop-environments/budgie.nix +++ b/modules/system/desktop-environments/budgie.nix @@ -1,5 +1,16 @@ -{ config, pkgs, lib, ...}: { + config, + pkgs, + lib, + ... +}: let + inherit (lib) mkEnableOption mkIf; + cfg = config.speccon18.desktop.budgie; +in { + options.speccon18.desktop.budgie = { + enable = mkEnableOption "enables specs custom budgie setup"; + }; + config = mkIf cfg.enable { environment.systemPackages = with pkgs; [ budgie.budgie-desktop-with-plugins From 26c000e2ad4ff9d6ef4756539ed672e577688e7d Mon Sep 17 00:00:00 2001 From: specCon18 Date: Mon, 19 Feb 2024 20:32:50 -0500 Subject: [PATCH 198/233] pushing budgie changes --- flake.lock | 16 ++++++++-------- flake.nix | 8 +++----- hosts/katana/default.nix | 3 +-- hosts/katana/system-pkgs.nix | 1 + modules/home-manager/alacritty.nix | 2 +- modules/home-manager/nushell.nix | 6 ------ modules/system/desktop-environments/budgie.nix | 3 +++ modules/system/desktop-environments/gnome.nix | 4 ++-- users/speccon18/home.nix | 2 +- 9 files changed, 20 insertions(+), 25 deletions(-) delete mode 100644 modules/home-manager/nushell.nix diff --git a/flake.lock b/flake.lock index 0cc8e47..a5a422c 100644 --- a/flake.lock +++ b/flake.lock @@ -85,16 +85,16 @@ ] }, "locked": { - "lastModified": 1692099905, - "narHash": "sha256-/pSusGhmIdSdAaywQRFA5dVbfdIzlWQTecM+E46+cJ0=", + "lastModified": 1706981411, + "narHash": "sha256-cLbLPTL1CDmETVh4p0nQtvoF+FSEjsnJTFpTxhXywhQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "2a6679aa9cc3872c29ba2a57fe1b71b3e3c5649f", + "rev": "652fda4ca6dafeb090943422c34ae9145787af37", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-23.05", + "ref": "release-23.11", "repo": "home-manager", "type": "github" } @@ -281,16 +281,16 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1692339729, - "narHash": "sha256-TUK76/Pqm9qIDjEGd27Lz9EiBIvn5F70JWDmEQ4Y5DQ=", + "lastModified": 1707650010, + "narHash": "sha256-dOhphIA4MGrH4ElNCy/OlwmN24MsnEqFjRR6+RY7jZw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ae521bd4e460b076a455dca8b13f4151489a725c", + "rev": "809cca784b9f72a5ad4b991e0e7bcf8890f9c3a6", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-23.05", + "ref": "nixos-23.11", "repo": "nixpkgs", "type": "github" } diff --git a/flake.nix b/flake.nix index 4fbe5fe..af2871f 100644 --- a/flake.nix +++ b/flake.nix @@ -2,13 +2,13 @@ description = "spec's nixos configs"; inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11"; nixos-hardware.url = "github:NixOS/nixos-hardware/master"; sops-nix.url = "github:Mic92/sops-nix"; xremap.url = "github:xremap/nix-flake"; hyprland.url = "github:hyprwm/Hyprland"; home-manager = { - url = "github:nix-community/home-manager/release-23.05"; + url = "github:nix-community/home-manager/release-23.11"; inputs.nixpkgs.follows = "nixpkgs"; }; disko = { @@ -67,16 +67,15 @@ ./modules/system/desktop-environments/tuigreet.nix ./modules/system/desktop-environments/hyprland.nix ./modules/system/desktop-environments/budgie.nix + ./modules/system/desktop-environments/gnome.nix ./hosts/katana/default.nix ./hosts/katana/bluetooth.nix ./hosts/katana/networkd.nix ./hosts/katana/system-pkgs.nix ./modules/system/services/docker.nix ./modules/system/services/openssh.nix - ./modules/system/desktop-environments/gnome.nix ./modules/system/services/syncthing.nix ./modules/system/services/tailscale.nix - ] #extra modules to be loaded by nixos [ hyprland.homeManagerModules.default @@ -89,7 +88,6 @@ ./modules/home-manager/zoxide.nix ./modules/home-manager/ncspot.nix ./modules/home-manager/zellij.nix - ./modules/home-manager/nushell.nix ./modules/home-manager/direnv.nix ./modules/home-manager/home-manager.nix ./modules/home-manager/starship.nix diff --git a/hosts/katana/default.nix b/hosts/katana/default.nix index acc8faf..2889cc3 100644 --- a/hosts/katana/default.nix +++ b/hosts/katana/default.nix @@ -32,7 +32,6 @@ services = { printing.enable = true; xserver = { - displayManager.gdm.enable = true; layout = "us"; xkbVariant = ""; }; @@ -65,7 +64,7 @@ hyprland.enable = false; gnome.enable = false; budgie.enable = true; - displayManager.tuigreet.enable = true; + displayManager.tuigreet.enable = false; }; }; fonts.fonts = with pkgs; [ diff --git a/hosts/katana/system-pkgs.nix b/hosts/katana/system-pkgs.nix index f455b14..6deb3f8 100644 --- a/hosts/katana/system-pkgs.nix +++ b/hosts/katana/system-pkgs.nix @@ -25,5 +25,6 @@ felix-fm gitui spotify + zulip ]; } \ No newline at end of file diff --git a/modules/home-manager/alacritty.nix b/modules/home-manager/alacritty.nix index 752b5f8..74f9815 100644 --- a/modules/home-manager/alacritty.nix +++ b/modules/home-manager/alacritty.nix @@ -16,7 +16,7 @@ lines = 25; }; decorations = "full"; - opacity = 0.9; + opacity = 1.0; title = "Alacritty"; }; font = { diff --git a/modules/home-manager/nushell.nix b/modules/home-manager/nushell.nix deleted file mode 100644 index c891a86..0000000 --- a/modules/home-manager/nushell.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ pkgs, config, lib, ...}: -{ - programs.nushell = { - enable = false; - }; -} \ No newline at end of file diff --git a/modules/system/desktop-environments/budgie.nix b/modules/system/desktop-environments/budgie.nix index 23873b5..babee3f 100644 --- a/modules/system/desktop-environments/budgie.nix +++ b/modules/system/desktop-environments/budgie.nix @@ -14,10 +14,13 @@ in { environment.systemPackages = with pkgs; [ budgie.budgie-desktop-with-plugins + lightdm ]; services.xserver = { enable = true; desktopManager.budgie.enable = true; + displayManager.gdm.enable = true; }; + }; } diff --git a/modules/system/desktop-environments/gnome.nix b/modules/system/desktop-environments/gnome.nix index c752e58..3ddab26 100644 --- a/modules/system/desktop-environments/gnome.nix +++ b/modules/system/desktop-environments/gnome.nix @@ -30,11 +30,11 @@ in { enable = true; wayland = true; }; - # defaultSession = lib.mkDefault "gnome"; + defaultSession = lib.mkDefault "budgie-desktop"; }; desktopManager = { xterm.enable = false; - gnome.enable = lib.mkDefault true; + # gnome.enable = lib.mkDefault true; }; }; }; diff --git a/users/speccon18/home.nix b/users/speccon18/home.nix index 4b334ff..215c83c 100644 --- a/users/speccon18/home.nix +++ b/users/speccon18/home.nix @@ -21,7 +21,7 @@ firefox discord gimp - obsidian + # obsidian neofetch vlc remmina From 801f67a48fc6856276c1588a07ee87324e54a09e Mon Sep 17 00:00:00 2001 From: specCon18 Date: Fri, 23 Feb 2024 20:12:10 -0500 Subject: [PATCH 199/233] backup --- hosts/katana/system-pkgs.nix | 1 + modules/system/desktop-environments/budgie.nix | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/katana/system-pkgs.nix b/hosts/katana/system-pkgs.nix index 6deb3f8..a4e2323 100644 --- a/hosts/katana/system-pkgs.nix +++ b/hosts/katana/system-pkgs.nix @@ -26,5 +26,6 @@ gitui spotify zulip + surrealdb ]; } \ No newline at end of file diff --git a/modules/system/desktop-environments/budgie.nix b/modules/system/desktop-environments/budgie.nix index babee3f..0124d15 100644 --- a/modules/system/desktop-environments/budgie.nix +++ b/modules/system/desktop-environments/budgie.nix @@ -14,7 +14,6 @@ in { environment.systemPackages = with pkgs; [ budgie.budgie-desktop-with-plugins - lightdm ]; services.xserver = { enable = true; From 8006260b7fef7aac0380580ad2885fadef26b60b Mon Sep 17 00:00:00 2001 From: specCon18 Date: Sat, 24 Feb 2024 18:03:11 -0500 Subject: [PATCH 200/233] updated to 23.11 --- flake.nix | 2 +- hosts/katana/default.nix | 2 +- hosts/katana/system-pkgs.nix | 4 +-- modules/home-manager/zsh.nix | 2 +- modules/system/services/syncthing.nix | 42 +++++++++++++-------------- 5 files changed, 26 insertions(+), 26 deletions(-) diff --git a/flake.nix b/flake.nix index af2871f..2c2265c 100644 --- a/flake.nix +++ b/flake.nix @@ -74,7 +74,7 @@ ./hosts/katana/system-pkgs.nix ./modules/system/services/docker.nix ./modules/system/services/openssh.nix - ./modules/system/services/syncthing.nix + # ./modules/system/services/syncthing.nix ./modules/system/services/tailscale.nix ] #extra modules to be loaded by nixos [ diff --git a/hosts/katana/default.nix b/hosts/katana/default.nix index 2889cc3..c7586e1 100644 --- a/hosts/katana/default.nix +++ b/hosts/katana/default.nix @@ -67,7 +67,7 @@ displayManager.tuigreet.enable = false; }; }; - fonts.fonts = with pkgs; [ + fonts.packages = with pkgs; [ (nerdfonts.override { fonts = [ "SourceCodePro" "DroidSansMono" ]; }) ]; } \ No newline at end of file diff --git a/hosts/katana/system-pkgs.nix b/hosts/katana/system-pkgs.nix index a4e2323..5c213f8 100644 --- a/hosts/katana/system-pkgs.nix +++ b/hosts/katana/system-pkgs.nix @@ -9,7 +9,7 @@ ripgrep openssl tree - exa + # exa htop zsh dig #dns lookup @@ -26,6 +26,6 @@ gitui spotify zulip - surrealdb + vscode ]; } \ No newline at end of file diff --git a/modules/home-manager/zsh.nix b/modules/home-manager/zsh.nix index 1a10d62..6e93d39 100644 --- a/modules/home-manager/zsh.nix +++ b/modules/home-manager/zsh.nix @@ -9,7 +9,7 @@ }; enableAutosuggestions = lib.mkDefault true; enableCompletion = lib.mkDefault true; - enableSyntaxHighlighting = lib.mkDefault true; + syntaxHighlighting.enable = lib.mkDefault true; shellAliases = { ls = "exa -l"; lsa = "exa -al"; diff --git a/modules/system/services/syncthing.nix b/modules/system/services/syncthing.nix index a2dfed4..1c87a3b 100644 --- a/modules/system/services/syncthing.nix +++ b/modules/system/services/syncthing.nix @@ -1,21 +1,21 @@ -{config, lib, pkgs, modulesPath, ... }: -{ - services.syncthing = { - enable = true; - dataDir = "/home/speccon18"; - openDefaultPorts = true; - configDir = "/home/speccon18/.config/syncthing"; - user = "speccon18"; - group = "users"; - guiAddress = "0.0.0.0:8384"; - overrideDevices = true; - overrideFolders = true; - devices = { - "syncthing_server" = { id = "N3UGNP6-ZU6JHBX-WNJDEUF-FV5DOWA-VAGFDYN-FIIMFRR-C3HGQHU-WOEIUQ6"; }; - }; - extraOptions.gui = { - user = "admin"; - password = "Strife-Rerun-Lily-Pushover-Alongside-Raider0-Freebase"; - }; - }; -} \ No newline at end of file +# # {config, lib, pkgs, modulesPath, ... }: +# { +# services.syncthing = { +# enable = true; +# dataDir = "/home/speccon18"; +# openDefaultPorts = true; +# configDir = "/home/speccon18/.config/syncthing"; +# user = "speccon18"; +# group = "users"; +# guiAddress = "0.0.0.0:8384"; +# overrideDevices = true; +# overrideFolders = true; +# devices = { +# "syncthing_server" = { id = "N3UGNP6-ZU6JHBX-WNJDEUF-FV5DOWA-VAGFDYN-FIIMFRR-C3HGQHU-WOEIUQ6"; }; +# }; +# extraOptions.gui = { +# user = "admin"; +# password = "Strife-Rerun-Lily-Pushover-Alongside-Raider0-Freebase"; +# }; +# }; +# } \ No newline at end of file From 2117b57af62ee3211b66d36507c3f283177521d5 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Sat, 24 Feb 2024 18:40:18 -0500 Subject: [PATCH 201/233] fixed update to 23.11 --- hosts/katana/default.nix | 4 ++-- hosts/katana/system-pkgs.nix | 4 ++-- modules/home-manager/zsh.nix | 6 +++--- modules/system/desktop-environments/budgie.nix | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/hosts/katana/default.nix b/hosts/katana/default.nix index c7586e1..2a63afb 100644 --- a/hosts/katana/default.nix +++ b/hosts/katana/default.nix @@ -10,7 +10,7 @@ sound.enable = true; hardware.pulseaudio.enable = false; security.rtkit.enable = true; - + boot.plymouth.enable = true; # Localization time.timeZone = "America/Detroit"; i18n = { @@ -70,4 +70,4 @@ fonts.packages = with pkgs; [ (nerdfonts.override { fonts = [ "SourceCodePro" "DroidSansMono" ]; }) ]; -} \ No newline at end of file +} diff --git a/hosts/katana/system-pkgs.nix b/hosts/katana/system-pkgs.nix index 5c213f8..8c2ad16 100644 --- a/hosts/katana/system-pkgs.nix +++ b/hosts/katana/system-pkgs.nix @@ -9,7 +9,7 @@ ripgrep openssl tree - # exa + eza htop zsh dig #dns lookup @@ -28,4 +28,4 @@ zulip vscode ]; -} \ No newline at end of file +} diff --git a/modules/home-manager/zsh.nix b/modules/home-manager/zsh.nix index 6e93d39..11dc6ad 100644 --- a/modules/home-manager/zsh.nix +++ b/modules/home-manager/zsh.nix @@ -11,8 +11,8 @@ enableCompletion = lib.mkDefault true; syntaxHighlighting.enable = lib.mkDefault true; shellAliases = { - ls = "exa -l"; - lsa = "exa -al"; + ls = "eza -l"; + lsa = "eza -al"; grep = "rg"; osrb = "sudo nixos-rebuild $1 --flake ~/code/nixos-config/#katana"; }; @@ -20,4 +20,4 @@ EDITOR="hx"; }; }; -} \ No newline at end of file +} diff --git a/modules/system/desktop-environments/budgie.nix b/modules/system/desktop-environments/budgie.nix index 0124d15..c9a7cf5 100644 --- a/modules/system/desktop-environments/budgie.nix +++ b/modules/system/desktop-environments/budgie.nix @@ -13,12 +13,12 @@ in { config = mkIf cfg.enable { environment.systemPackages = with pkgs; [ - budgie.budgie-desktop-with-plugins + lightdm ]; services.xserver = { enable = true; desktopManager.budgie.enable = true; - displayManager.gdm.enable = true; + displayManager.lightdm.enable = true; }; }; } From cc9175f624e00c45c0b0f29a69337a11af1d023c Mon Sep 17 00:00:00 2001 From: specCon18 Date: Sat, 24 Feb 2024 18:46:20 -0500 Subject: [PATCH 202/233] fixed update to 23.11 --- modules/system/desktop-environments/budgie.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/modules/system/desktop-environments/budgie.nix b/modules/system/desktop-environments/budgie.nix index c9a7cf5..726d303 100644 --- a/modules/system/desktop-environments/budgie.nix +++ b/modules/system/desktop-environments/budgie.nix @@ -11,10 +11,6 @@ in { enable = mkEnableOption "enables specs custom budgie setup"; }; config = mkIf cfg.enable { - - environment.systemPackages = with pkgs; [ - lightdm - ]; services.xserver = { enable = true; desktopManager.budgie.enable = true; From 6e9a8fcdf52ba0dafa92fdcd02d6c53503209964 Mon Sep 17 00:00:00 2001 From: Steven Date: Sun, 25 Feb 2024 18:39:17 -0500 Subject: [PATCH 203/233] nixnix --- modules/system/nix-cli/nix.nix | 51 ++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 modules/system/nix-cli/nix.nix diff --git a/modules/system/nix-cli/nix.nix b/modules/system/nix-cli/nix.nix new file mode 100644 index 0000000..e171621 --- /dev/null +++ b/modules/system/nix-cli/nix.nix @@ -0,0 +1,51 @@ +{ +config +, lib +, pkgs +}: +let + # To use this feature add -j0 to any nix commad. + hostName = "bob.local"; + +in { + nix = { + distributedBuilds = true; + settings = { + trusted-public-keys = lib.mkAfter [ + # REMOTE MACHINE PUBLIC KEY WE GENERATE AFTER SETTING UP + ]; + builders-use-substitutes = true; + substituters = lib.mkAfter [ + "ssh-ng://nix-ssh@{hostname}" + ]; + # allowed-users = [ + # "@wheel" + # "@builders" + # ]; + # trusted-users = [ + # "root" + # "nix-ssh" + # ]; + }; + buildMachines = [ + { + inherit hostName; + protocol = "ssh-ng"; + maxJobs = 8; + systems = [ + "x86_64-linux" + "i686-linux" + ]; + supportedFeatures = [ + "big-parallel" + "nixos-test" + "kvm" + "benchmark" + ]; + sshUser = "builder"; + sshKey = "/root/.ssh/id_ed25519"; + # publicHostKey = config.local.keys.gerg-desktop_fingerprint; + } + ]; + }; +} \ No newline at end of file From ac1a0e7e42d7a71e14190bfb9f852083158edbca Mon Sep 17 00:00:00 2001 From: specCon18 Date: Sun, 25 Feb 2024 01:18:51 -0500 Subject: [PATCH 204/233] fixed budgie wierdness --- modules/home-manager/vscode.nix | 25 +------------------------ 1 file changed, 1 insertion(+), 24 deletions(-) diff --git a/modules/home-manager/vscode.nix b/modules/home-manager/vscode.nix index 5f73fbd..3bf4f2c 100644 --- a/modules/home-manager/vscode.nix +++ b/modules/home-manager/vscode.nix @@ -5,29 +5,6 @@ package = pkgs.vscode.fhs; enableExtensionUpdateCheck = true; enableUpdateCheck = false; - extensions = with pkgs.vscode-extensions; [ - bbenoist.nix - redhat.vscode-yaml - bungcip.better-toml - firefox-devtools.vscode-firefox-debug - ms-vscode-remote.remote-ssh - ms-azuretools.vscode-docker - editorconfig.editorconfig - dbaeumer.vscode-eslint - donjayamanne.githistory - github.copilot - eamodio.gitlens - graphql.vscode-graphql - oderwat.indent-rainbow - skellock.just - jnoortheen.nix-ide - christian-kohler.path-intellisense - esbenp.prettier-vscode - svelte.svelte-vscode - bradlc.vscode-tailwindcss - thenuprojectcontributors.vscode-nushell-lang - matklad.rust-analyzer - ]; userSettings = { "workbench.colorTheme" = "Monokai Pro (Filter Octagon)"; "workbench.startupEditor" = "none"; @@ -51,4 +28,4 @@ "window.zoomLevel" = 1; }; }; -} \ No newline at end of file +} From c545378c357de631aa3bd9f17824e5eb48d663f7 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Sun, 25 Feb 2024 19:28:57 -0500 Subject: [PATCH 205/233] remote builder works --- flake.nix | 1 + modules/system/nix-cli/{nix.nix => default.nix} | 17 +++++++++-------- 2 files changed, 10 insertions(+), 8 deletions(-) rename modules/system/nix-cli/{nix.nix => default.nix} (75%) diff --git a/flake.nix b/flake.nix index 2c2265c..e6cf66e 100644 --- a/flake.nix +++ b/flake.nix @@ -76,6 +76,7 @@ ./modules/system/services/openssh.nix # ./modules/system/services/syncthing.nix ./modules/system/services/tailscale.nix + ./modules/system/nix-cli ] #extra modules to be loaded by nixos [ hyprland.homeManagerModules.default diff --git a/modules/system/nix-cli/nix.nix b/modules/system/nix-cli/default.nix similarity index 75% rename from modules/system/nix-cli/nix.nix rename to modules/system/nix-cli/default.nix index e171621..ae7bcd8 100644 --- a/modules/system/nix-cli/nix.nix +++ b/modules/system/nix-cli/default.nix @@ -2,22 +2,23 @@ config , lib , pkgs +, ... }: let # To use this feature add -j0 to any nix commad. - hostName = "bob.local"; - + hostName = "10.18.1.60"; + pubKey = "bob:cday7vAQb+UWE1gQOAOjqnXB8EdjkBt+/Ife/R0ylUY="; in { nix = { distributedBuilds = true; settings = { trusted-public-keys = lib.mkAfter [ - # REMOTE MACHINE PUBLIC KEY WE GENERATE AFTER SETTING UP + pubKey ]; builders-use-substitutes = true; - substituters = lib.mkAfter [ - "ssh-ng://nix-ssh@{hostname}" - ]; + # substituters = lib.mkAfter [ + # "ssh-ng://nix-ssh@${hostname}" + # ]; # allowed-users = [ # "@wheel" # "@builders" @@ -42,9 +43,9 @@ in { "kvm" "benchmark" ]; - sshUser = "builder"; + sshUser = "root"; sshKey = "/root/.ssh/id_ed25519"; - # publicHostKey = config.local.keys.gerg-desktop_fingerprint; + # publicHostKey = } ]; }; From 786ca732aad79bfab552253dd1710fccbba18531 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Wed, 10 Apr 2024 03:42:16 -0400 Subject: [PATCH 206/233] moving to code server --- hosts/katana/default.nix | 1 - hosts/katana/networkd.nix | 9 ++++-- hosts/katana/system-pkgs.nix | 2 ++ modules/system/nix-cli/default.nix | 46 +++++++++++++++--------------- 4 files changed, 31 insertions(+), 27 deletions(-) diff --git a/hosts/katana/default.nix b/hosts/katana/default.nix index 2a63afb..3c8aefd 100644 --- a/hosts/katana/default.nix +++ b/hosts/katana/default.nix @@ -10,7 +10,6 @@ sound.enable = true; hardware.pulseaudio.enable = false; security.rtkit.enable = true; - boot.plymouth.enable = true; # Localization time.timeZone = "America/Detroit"; i18n = { diff --git a/hosts/katana/networkd.nix b/hosts/katana/networkd.nix index 4f340ed..b9d9bf9 100644 --- a/hosts/katana/networkd.nix +++ b/hosts/katana/networkd.nix @@ -7,8 +7,11 @@ networkmanager.enable = true; #Enable Network Manager firewall = { checkReversePath = "loose"; - allowedTCPPorts = []; - allowedUDPPorts = []; + allowedTCPPorts = [8081]; + allowedUDPPorts = [ + 8081 + 2053 + ]; }; }; -} \ No newline at end of file +} diff --git a/hosts/katana/system-pkgs.nix b/hosts/katana/system-pkgs.nix index 8c2ad16..798ceea 100644 --- a/hosts/katana/system-pkgs.nix +++ b/hosts/katana/system-pkgs.nix @@ -1,6 +1,7 @@ { modulesPath, config, pkgs, lib, self, ... }: { environment.systemPackages = with pkgs; [ + gparted bluez blueman nerdfonts @@ -27,5 +28,6 @@ spotify zulip vscode + pkgs.python311Packages.python-kasa ]; } diff --git a/modules/system/nix-cli/default.nix b/modules/system/nix-cli/default.nix index ae7bcd8..637fd2d 100644 --- a/modules/system/nix-cli/default.nix +++ b/modules/system/nix-cli/default.nix @@ -7,10 +7,10 @@ config let # To use this feature add -j0 to any nix commad. hostName = "10.18.1.60"; - pubKey = "bob:cday7vAQb+UWE1gQOAOjqnXB8EdjkBt+/Ife/R0ylUY="; + pubKey = "bob:Ome3wEzBur1kOkifxu9ZMbfhwLgvr5J8qfOZRDdvz3Q="; in { nix = { - distributedBuilds = true; + distributedBuilds = false; settings = { trusted-public-keys = lib.mkAfter [ pubKey @@ -28,25 +28,25 @@ in { # "nix-ssh" # ]; }; - buildMachines = [ - { - inherit hostName; - protocol = "ssh-ng"; - maxJobs = 8; - systems = [ - "x86_64-linux" - "i686-linux" - ]; - supportedFeatures = [ - "big-parallel" - "nixos-test" - "kvm" - "benchmark" - ]; - sshUser = "root"; - sshKey = "/root/.ssh/id_ed25519"; - # publicHostKey = - } - ]; + # buildMachines = [ + # { + # inherit hostName; + # protocol = "ssh-ng"; + # maxJobs = 8; + # systems = [ + # "x86_64-linux" + # "i686-linux" + # ]; + # supportedFeatures = [ + # "big-parallel" + # "nixos-test" + # "kvm" + # "benchmark" + # ]; + # sshUser = "builder"; + # sshKey = "/root/.ssh/id_ed25519"; + # # publicHostKey = + # } + # ]; }; -} \ No newline at end of file +} From dd67b2592c37ea3082eaeffab6c806cc227f0446 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Thu, 11 Apr 2024 01:21:49 -0400 Subject: [PATCH 207/233] pushing for review --- TODO.md | 4 - extract.sh | 36 -- flake.lock | 343 +++++++++++++----- flake.nix | 97 +---- hosts/creatorforge/creatorforge.nix | 27 -- hosts/creatorforge/networkd.nix | 13 - hosts/creatorforge/system-pkgs.nix | 29 -- hosts/katana.nix | 145 ++++++++ hosts/katana/bluetooth.nix | 13 - hosts/katana/default.nix | 72 ---- hosts/katana/networkd.nix | 17 - hosts/katana/system-pkgs.nix | 33 -- install.sh | 20 - machines/framework.nix | 39 -- machines/katana.nix | 44 --- machines/proxmox-vm.nix | 43 --- modules/home-manager/dconf-settings.nix | 16 - modules/home-manager/direnv.nix | 7 - modules/home-manager/git.nix | 13 - modules/home-manager/helix.nix | 143 -------- modules/home-manager/home-manager.nix | 6 - modules/home-manager/hyprland.nix | 47 --- modules/home-manager/ncspot.nix | 7 - modules/home-manager/rofi.nix | 8 - modules/home-manager/starship.nix | 7 - modules/home-manager/syncthing.nix | 7 - modules/home-manager/vscode.nix | 31 -- modules/home-manager/waybar.nix | 121 ------ modules/home-manager/zellij.nix | 7 - modules/home-manager/zoxide.nix | 7 - modules/home-manager/zsh.nix | 23 -- .../system/desktop-environments/budgie.nix | 21 -- modules/system/desktop-environments/gnome.nix | 53 --- .../system/desktop-environments/hyprland.nix | 69 ---- modules/system/disko/luks-lvm.nix | 83 ----- modules/system/nix-cli/default.nix | 52 --- modules/system/power_management/packages.nix | 8 - modules/system/services/docker.nix | 11 - modules/system/services/openssh.nix | 19 - modules/system/services/pipewire.nix | 19 - modules/system/services/syncthing.nix | 21 -- modules/system/services/tailscale.nix | 11 - nixosModules/default.nix | 7 + nixosModules/desktop_environments/budgie.nix | 12 + nixosModules/desktop_environments/default.nix | 13 + nixosModules/desktop_environments/gnome.nix | 58 +++ .../desktop_environments/hyprland.nix | 108 ++++++ .../desktop_environments}/tuigreet.nix | 0 .../home_manager}/alacritty.nix | 3 + nixosModules/home_manager/default.nix | 29 ++ nixosModules/home_manager/direnv.nix | 10 + nixosModules/home_manager/git.nix | 15 + nixosModules/home_manager/helix.nix | 146 ++++++++ nixosModules/home_manager/home-mananger.nix | 9 + nixosModules/home_manager/ncspot.nix | 10 + nixosModules/home_manager/rofi.nix | 11 + nixosModules/home_manager/starship.nix | 10 + .../home_manager}/style.css | 0 nixosModules/home_manager/syncthing.nix | 10 + nixosModules/home_manager/waybar.nix | 124 +++++++ nixosModules/home_manager/zellij.nix | 10 + nixosModules/home_manager/zoxide.nix | 10 + nixosModules/home_manager/zsh.nix | 26 ++ nixosModules/services/default.nix | 9 + nixosModules/services/pipewire.nix | 23 ++ nixosModules/services/tailscale.nix | 13 + nixosModules/users/default.nix | 7 + nixosModules/users/speccon18.nix | 48 +++ todo.md | 0 users/arouzing/default.nix | 12 - users/speccon18/default.nix | 34 -- users/speccon18/home.nix | 30 -- 72 files changed, 1142 insertions(+), 1447 deletions(-) delete mode 100644 TODO.md delete mode 100644 extract.sh delete mode 100644 hosts/creatorforge/creatorforge.nix delete mode 100644 hosts/creatorforge/networkd.nix delete mode 100644 hosts/creatorforge/system-pkgs.nix create mode 100644 hosts/katana.nix delete mode 100644 hosts/katana/bluetooth.nix delete mode 100644 hosts/katana/default.nix delete mode 100644 hosts/katana/networkd.nix delete mode 100644 hosts/katana/system-pkgs.nix delete mode 100644 install.sh delete mode 100644 machines/framework.nix delete mode 100644 machines/katana.nix delete mode 100644 machines/proxmox-vm.nix delete mode 100644 modules/home-manager/dconf-settings.nix delete mode 100644 modules/home-manager/direnv.nix delete mode 100644 modules/home-manager/git.nix delete mode 100644 modules/home-manager/helix.nix delete mode 100644 modules/home-manager/home-manager.nix delete mode 100644 modules/home-manager/hyprland.nix delete mode 100644 modules/home-manager/ncspot.nix delete mode 100644 modules/home-manager/rofi.nix delete mode 100644 modules/home-manager/starship.nix delete mode 100644 modules/home-manager/syncthing.nix delete mode 100644 modules/home-manager/vscode.nix delete mode 100644 modules/home-manager/waybar.nix delete mode 100644 modules/home-manager/zellij.nix delete mode 100644 modules/home-manager/zoxide.nix delete mode 100644 modules/home-manager/zsh.nix delete mode 100644 modules/system/desktop-environments/budgie.nix delete mode 100644 modules/system/desktop-environments/gnome.nix delete mode 100644 modules/system/desktop-environments/hyprland.nix delete mode 100644 modules/system/disko/luks-lvm.nix delete mode 100644 modules/system/nix-cli/default.nix delete mode 100644 modules/system/power_management/packages.nix delete mode 100644 modules/system/services/docker.nix delete mode 100644 modules/system/services/openssh.nix delete mode 100644 modules/system/services/pipewire.nix delete mode 100644 modules/system/services/syncthing.nix delete mode 100644 modules/system/services/tailscale.nix create mode 100644 nixosModules/default.nix create mode 100644 nixosModules/desktop_environments/budgie.nix create mode 100644 nixosModules/desktop_environments/default.nix create mode 100644 nixosModules/desktop_environments/gnome.nix create mode 100644 nixosModules/desktop_environments/hyprland.nix rename {modules/system/desktop-environments => nixosModules/desktop_environments}/tuigreet.nix (100%) rename {modules/home-manager => nixosModules/home_manager}/alacritty.nix (89%) create mode 100644 nixosModules/home_manager/default.nix create mode 100644 nixosModules/home_manager/direnv.nix create mode 100644 nixosModules/home_manager/git.nix create mode 100644 nixosModules/home_manager/helix.nix create mode 100644 nixosModules/home_manager/home-mananger.nix create mode 100644 nixosModules/home_manager/ncspot.nix create mode 100644 nixosModules/home_manager/rofi.nix create mode 100644 nixosModules/home_manager/starship.nix rename {modules/home-manager => nixosModules/home_manager}/style.css (100%) create mode 100644 nixosModules/home_manager/syncthing.nix create mode 100644 nixosModules/home_manager/waybar.nix create mode 100644 nixosModules/home_manager/zellij.nix create mode 100644 nixosModules/home_manager/zoxide.nix create mode 100644 nixosModules/home_manager/zsh.nix create mode 100644 nixosModules/services/default.nix create mode 100644 nixosModules/services/pipewire.nix create mode 100644 nixosModules/services/tailscale.nix create mode 100644 nixosModules/users/default.nix create mode 100644 nixosModules/users/speccon18.nix create mode 100644 todo.md delete mode 100644 users/arouzing/default.nix delete mode 100644 users/speccon18/default.nix delete mode 100644 users/speccon18/home.nix diff --git a/TODO.md b/TODO.md deleted file mode 100644 index 3d00ab7..0000000 --- a/TODO.md +++ /dev/null @@ -1,4 +0,0 @@ -# TODO: -- [ ] Add biome support to helix -- [ ] Add tailwind support to helix -- [ ] Build built in devenvs with direnv diff --git a/extract.sh b/extract.sh deleted file mode 100644 index 6d78f2f..0000000 --- a/extract.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh - -function extract { -if [ -z "$1" ]; then - # display usage if no parameters given - echo "Usage: extract ." - echo " extract [path/file_name_2.ext] [path/file_name_3.ext]" -else - for n in "$@" - do - if [ -f "$n" ] ; then - case "${n%,}" in - *.tar.bz2|*.tar.gz|*.tar.xz|*.tbz2|*.tgz|*.txz|*.tar) - tar xvf "$n" ;; - *.lzma) unlzma ./"$n" ;; - *.bz2) bunzip2 ./"$n" ;; - *.rar) unrar x -ad ./"$n" ;; - *.gz) gunzip ./"$n" ;; - *.zip) unzip ./"$n" ;; - *.z) uncompress ./"$n" ;; - *.7z|*.arj|*.cab|*.chm|*.deb|*.dmg|*.iso|*.lzh|*.msi|*.rpm|*.udf|*.wim|*.xar) - 7z x ./"$n" ;; - *.xz) unxz ./"$n" ;; - *.exe) cabextract ./"$n" ;; - *) - echo "extract: '$n' - unknown archive method" - return 1 - ;; - esac - else - echo "'$n' - file does not exist" - return 1 - fi - done -fi -} diff --git a/flake.lock b/flake.lock index a5a422c..e97c746 100644 --- a/flake.lock +++ b/flake.lock @@ -8,11 +8,11 @@ ] }, "locked": { - "lastModified": 1701386725, - "narHash": "sha256-w4aBlMYh9Y8co1V80m5LzEKMijUJ7CBTq209WbqVwUU=", + "lastModified": 1711407199, + "narHash": "sha256-A/nB4j3JHL51ztlMQdfKw6y8tUJJzai3bLsZUEEaBxY=", "owner": "ipetkov", "repo": "crane", - "rev": "8b9bad9b30bd7a9ed08782e64846b7485f9d0a38", + "rev": "7e468a455506f2e65550e08dfd45092f0857a009", "type": "github" }, "original": { @@ -23,15 +23,15 @@ }, "devshell": { "inputs": { - "nixpkgs": "nixpkgs_4", - "systems": "systems_2" + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1700815693, - "narHash": "sha256-JtKZEQUzosrCwDsLgm+g6aqbP1aseUl1334OShEAS3s=", + "lastModified": 1711099426, + "narHash": "sha256-HzpgM/wc3aqpnHJJ2oDqPBkNsqWbW0WfWUO8lKu8nGk=", "owner": "numtide", "repo": "devshell", - "rev": "7ad1c417c87e98e56dcef7ecd0e0a2f2e5669d51", + "rev": "2d45b54ca4a183f2fdcf4b19c895b64fbf620ee8", "type": "github" }, "original": { @@ -47,11 +47,11 @@ ] }, "locked": { - "lastModified": 1679643957, - "narHash": "sha256-umr+j/0b3DXQO4VnhRwAJYS0Y2fW64I+ydHnZqpN/Pc=", + "lastModified": 1712612224, + "narHash": "sha256-Tv4C8OSPVmm4LbpJGLFSODyvJy6DqrisEGPCQdNVOeY=", "owner": "nix-community", "repo": "disko", - "rev": "eb5def310c7331545e72090b4cda6cb0255b870d", + "rev": "79eab0e82cb126bf4ac170f44af82479f0895ab5", "type": "github" }, "original": { @@ -65,11 +65,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1698882062, - "narHash": "sha256-HkhafUayIqxXyHH1X8d9RDl1M2CkFgZLjKD3MzabiEo=", + "lastModified": 1709336216, + "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "8c9fa2545007b49a5db5f650ae91f227672c3877", + "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", "type": "github" }, "original": { @@ -78,6 +78,24 @@ "type": "github" } }, + "flake-utils": { + "inputs": { + "systems": "systems_2" + }, + "locked": { + "lastModified": 1701680307, + "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -85,11 +103,11 @@ ] }, "locked": { - "lastModified": 1706981411, - "narHash": "sha256-cLbLPTL1CDmETVh4p0nQtvoF+FSEjsnJTFpTxhXywhQ=", + "lastModified": 1712386041, + "narHash": "sha256-dA82pOMQNnCJMAsPG7AXG35VmCSMZsJHTFlTHizpKWQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "652fda4ca6dafeb090943422c34ae9145787af37", + "rev": "d6bb9f934f2870e5cbc5b94c79e9db22246141ff", "type": "github" }, "original": { @@ -104,11 +122,11 @@ "nixpkgs": "nixpkgs_5" }, "locked": { - "lastModified": 1701071203, - "narHash": "sha256-lQywA7QU/vzTdZ1apI0PfgCWNyQobXUYghVrR5zuIeM=", + "lastModified": 1711554349, + "narHash": "sha256-RypwcWEIFePBI0Hubfj4chanbM/G2yzJzC6wgz+dmS4=", "owner": "nix-community", "repo": "home-manager", - "rev": "db1878f013b52ba5e4034db7c1b63e8d04173a86", + "rev": "179f6acaf7c068c7870542cdae72afec9427a5b0", "type": "github" }, "original": { @@ -117,20 +135,79 @@ "type": "github" } }, + "hyprcursor": { + "inputs": { + "hyprlang": [ + "hyprland", + "hyprlang" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1712434681, + "narHash": "sha256-qwmR2p1oc48Bj7gUDvb1oGL19Rjs2PmEmk4ChV01A5o=", + "owner": "hyprwm", + "repo": "hyprcursor", + "rev": "818d8c4b69e0997483d60b75f701fe14b561a7a3", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprcursor", + "type": "github" + } + }, + "hyprcursor_2": { + "inputs": { + "hyprlang": "hyprlang_2", + "nixpkgs": [ + "xremap", + "hyprland", + "nixpkgs" + ], + "systems": [ + "xremap", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1711035742, + "narHash": "sha256-5vvhCSUGG9TA2G1eIRgokuYizhRnZu0ZbcU1MXfHsUE=", + "owner": "hyprwm", + "repo": "hyprcursor", + "rev": "6a92473237f430399a417e1c2da9d7fcd4970086", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprcursor", + "type": "github" + } + }, "hyprland": { "inputs": { + "hyprcursor": "hyprcursor", "hyprland-protocols": "hyprland-protocols", + "hyprlang": "hyprlang", "nixpkgs": "nixpkgs", "systems": "systems", "wlroots": "wlroots", "xdph": "xdph" }, "locked": { - "lastModified": 1692123043, - "narHash": "sha256-6YoTjAZgtJb9OzKrZxtLxjfYiGWSqMmh1Wyh9dvwXn8=", + "lastModified": 1712739000, + "narHash": "sha256-nHx8lUK5hiiDlvFOmqwuh3bw9yCw9w5zR7gI2+pZMvk=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "4986d74ef201171a930c312a8e3b72a22d9b84ee", + "rev": "303b9956b2ae15508b09dffae602550ca17e6539", "type": "github" }, "original": { @@ -193,18 +270,20 @@ }, "hyprland_2": { "inputs": { + "hyprcursor": "hyprcursor_2", "hyprland-protocols": "hyprland-protocols_2", + "hyprlang": "hyprlang_3", "nixpkgs": "nixpkgs_6", - "systems": "systems_3", + "systems": "systems_4", "wlroots": "wlroots_2", "xdph": "xdph_2" }, "locked": { - "lastModified": 1701370414, - "narHash": "sha256-Q7A8BWWS1YndiNaAKM0IP73SGKJiQDfOdZAIdTLGNj8=", + "lastModified": 1711557008, + "narHash": "sha256-fBrJJSRbeRf2lZUsaij96qhDX9JpDHF0uHD69Z6Ca/k=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "b394c1695c05cf3b2133a473aa459d4cd750911b", + "rev": "93d05114716e847c37f49d3cc2d0c5cb01d06a24", "type": "github" }, "original": { @@ -213,13 +292,89 @@ "type": "github" } }, + "hyprlang": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1711671891, + "narHash": "sha256-C/Wwsy/RLxHP1axFFl+AnwJRWfd8gxDKKoa8nt8Qk3c=", + "owner": "hyprwm", + "repo": "hyprlang", + "rev": "c1402612146ba06606ebf64963a02bc1efe11e74", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprlang", + "type": "github" + } + }, + "hyprlang_2": { + "inputs": { + "nixpkgs": [ + "xremap", + "hyprland", + "hyprcursor", + "nixpkgs" + ], + "systems": "systems_3" + }, + "locked": { + "lastModified": 1709914708, + "narHash": "sha256-bR4o3mynoTa1Wi4ZTjbnsZ6iqVcPGriXp56bZh5UFTk=", + "owner": "hyprwm", + "repo": "hyprlang", + "rev": "a685493fdbeec01ca8ccdf1f3655c044a8ce2fe2", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprlang", + "type": "github" + } + }, + "hyprlang_3": { + "inputs": { + "nixpkgs": [ + "xremap", + "hyprland", + "nixpkgs" + ], + "systems": [ + "xremap", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1710960526, + "narHash": "sha256-tt0UgVKWeLQ+tFzvqrm4uAZbzONwdGshpfiLHAQ1P2c=", + "owner": "hyprwm", + "repo": "hyprlang", + "rev": "a2f39421144d42541c057be235154ce21b76c0f6", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprlang", + "type": "github" + } + }, "nixos-hardware": { "locked": { - "lastModified": 1679765008, - "narHash": "sha256-VCkg/wC2e882suYDS5PDAemaMLYSOdFm4fsx2gowMR0=", + "lastModified": 1712760404, + "narHash": "sha256-4zhaEW1nB+nGbCNMjOggWeY5nXs/H0Y71q0+h+jdxoU=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "f38f9a4c9b2b6f89a5778465e0afd166a8300680", + "rev": "e1c4bac14beb8c409d0534382cf967171706b9d9", "type": "github" }, "original": { @@ -231,11 +386,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1691654369, - "narHash": "sha256-gSILTEx1jRaJjwZxRlnu3ZwMn1FVNk80qlwiCX8kmpo=", + "lastModified": 1712439257, + "narHash": "sha256-aSpiNepFOMk9932HOax0XwNxbA38GOUVOiXfUVPOrck=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ce5e4a6ef2e59d89a971bc434ca8ca222b9c7f5e", + "rev": "ff0dbd94265ac470dda06a657d5fe49de93b4599", "type": "github" }, "original": { @@ -248,11 +403,11 @@ "nixpkgs-lib": { "locked": { "dir": "lib", - "lastModified": 1698611440, - "narHash": "sha256-jPjHjrerhYDy3q9+s5EAsuhyhuknNfowY6yt6pjn9pc=", + "lastModified": 1709237383, + "narHash": "sha256-cy6ArO4k5qTx+l5o+0mL9f5fa86tYUX3ozE1S+Txlds=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0cbe9f69c234a7700596e943bfae7ef27a31b735", + "rev": "1536926ef5621b09bba54035ae2bb6d806d72ac8", "type": "github" }, "original": { @@ -265,27 +420,27 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1679748960, - "narHash": "sha256-BP8XcYHyj1NxQi04RpyNW8e7KiXSoI+Fy1tXIK2GfdA=", + "lastModified": 1712437997, + "narHash": "sha256-g0whLLwRvgO2FsyhY8fNk+TWenS3jg5UdlWL4uqgFeo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "da26ae9f6ce2c9ab380c0f394488892616fc5a6a", + "rev": "e38d7cb66ea4f7a0eb6681920615dfcc30fc2920", "type": "github" }, "original": { "owner": "NixOS", - "ref": "release-22.11", + "ref": "release-23.11", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_2": { "locked": { - "lastModified": 1707650010, - "narHash": "sha256-dOhphIA4MGrH4ElNCy/OlwmN24MsnEqFjRR6+RY7jZw=", + "lastModified": 1712588820, + "narHash": "sha256-y31s5idk3jMJMAVE4Ud9AdI7HT3CgTAeMTJ0StqKN7Y=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "809cca784b9f72a5ad4b991e0e7bcf8890f9c3a6", + "rev": "d272ca50d1f7424fbfcd1e6f1c9e01d92f6da167", "type": "github" }, "original": { @@ -297,11 +452,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1679734080, - "narHash": "sha256-z846xfGLlon6t9lqUzlNtBOmsgQLQIZvR6Lt2dImk1M=", + "lastModified": 1712420723, + "narHash": "sha256-VnG0Eu394Ga2FCe8Q66m6OEQF8iAqjDYsjmtl+N2omk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "dbf5322e93bcc6cfc52268367a8ad21c09d76fea", + "rev": "9e7f26f82acb057498335362905fde6fea4ca50a", "type": "github" }, "original": { @@ -313,11 +468,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1677383253, - "narHash": "sha256-UfpzWfSxkfXHnb4boXZNaKsAcUrZT9Hw+tao1oZxd08=", + "lastModified": 1704161960, + "narHash": "sha256-QGua89Pmq+FBAro8NriTuoO/wNaUtugt29/qqA8zeeM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9952d6bc395f5841262b006fbace8dd7e143b634", + "rev": "63143ac2c9186be6d9da6035fa22620018c85932", "type": "github" }, "original": { @@ -329,11 +484,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1700794826, - "narHash": "sha256-RyJTnTNKhO0yqRpDISk03I/4A67/dp96YRxc86YOPgU=", + "lastModified": 1710806803, + "narHash": "sha256-qrxvLS888pNJFwJdK+hf1wpRCSQcqA6W5+Ox202NDa0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5a09cb4b393d58f9ed0d9ca1555016a8543c2ac8", + "rev": "b06025f1533a1e07b6db3e75151caa155d1c7eb3", "type": "github" }, "original": { @@ -345,11 +500,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1700612854, - "narHash": "sha256-yrQ8osMD+vDLGFX7pcwsY/Qr5PUd6OmDMYJZzZi0+zc=", + "lastModified": 1711001935, + "narHash": "sha256-URtGpHue7HHZK0mrHnSf8wJ6OmMKYSsoLmJybrOLFSQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "19cbff58383a4ae384dea4d1d0c823d72b49d614", + "rev": "20f77aa09916374aa3141cbc605c955626762c9a", "type": "github" }, "original": { @@ -361,11 +516,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1701336116, - "narHash": "sha256-kEmpezCR/FpITc6yMbAh4WrOCiT2zg5pSjnKrq51h5Y=", + "lastModified": 1711401922, + "narHash": "sha256-QoQqXoj8ClGo0sqD/qWKFWezgEwUL0SUh37/vY2jNhc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f5c27c6136db4d76c30e533c20517df6864c46ee", + "rev": "07262b18b97000d16a4bdb003418bd2fb067a932", "type": "github" }, "original": { @@ -392,11 +547,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1679799335, - "narHash": "sha256-YrnDyftm0Mk4JLuw3sDBPNfSjk054N0dqQx8FW4JqDM=", + "lastModified": 1712617241, + "narHash": "sha256-a4hbls4vlLRMciv62YrYT/Xs/3Cubce8WFHPUDWwzf8=", "owner": "Mic92", "repo": "sops-nix", - "rev": "4740f80ca6e756915aaaa0a9c5fbb61ba09cc145", + "rev": "538c114cfdf1f0458f507087b1dcf018ce1c0c4c", "type": "github" }, "original": { @@ -450,22 +605,37 @@ "type": "github" } }, + "systems_4": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, "wlroots": { "flake": false, "locked": { "host": "gitlab.freedesktop.org", - "lastModified": 1691073628, - "narHash": "sha256-LlxE3o3UzRY7APYVLGNKM30DBMcDifCRIQiMVSbYLIc=", + "lastModified": 1709983277, + "narHash": "sha256-wXWIJLd4F2JZeMaihWVDW/yYXCLEC8OpeNJZg9a9ly8=", "owner": "wlroots", "repo": "wlroots", - "rev": "c74f89d4f84bfed0284d3908aee5d207698c70c5", + "rev": "50eae512d9cecbf0b3b1898bb1f0b40fa05fe19b", "type": "gitlab" }, "original": { "host": "gitlab.freedesktop.org", "owner": "wlroots", "repo": "wlroots", - "rev": "c74f89d4f84bfed0284d3908aee5d207698c70c5", + "rev": "50eae512d9cecbf0b3b1898bb1f0b40fa05fe19b", "type": "gitlab" } }, @@ -473,18 +643,18 @@ "flake": false, "locked": { "host": "gitlab.freedesktop.org", - "lastModified": 1701368958, - "narHash": "sha256-7kvyoA91etzVEl9mkA/EJfB6z/PltxX7Xc4gcr7/xlo=", + "lastModified": 1709983277, + "narHash": "sha256-wXWIJLd4F2JZeMaihWVDW/yYXCLEC8OpeNJZg9a9ly8=", "owner": "wlroots", "repo": "wlroots", - "rev": "5d639394f3e83b01596dcd166a44a9a1a2583350", + "rev": "50eae512d9cecbf0b3b1898bb1f0b40fa05fe19b", "type": "gitlab" }, "original": { "host": "gitlab.freedesktop.org", "owner": "wlroots", "repo": "wlroots", - "rev": "5d639394f3e83b01596dcd166a44a9a1a2583350", + "rev": "50eae512d9cecbf0b3b1898bb1f0b40fa05fe19b", "type": "gitlab" } }, @@ -494,6 +664,10 @@ "hyprland", "hyprland-protocols" ], + "hyprlang": [ + "hyprland", + "hyprlang" + ], "nixpkgs": [ "hyprland", "nixpkgs" @@ -504,11 +678,11 @@ ] }, "locked": { - "lastModified": 1691841170, - "narHash": "sha256-RCTm1/MVWYPnReMgyp7tr2ogGYo/pvw38jZaFwemgPU=", + "lastModified": 1709299639, + "narHash": "sha256-jYqJM5khksLIbqSxCLUUcqEgI+O2LdlSlcMEBs39CAU=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "57a3a41ba6b358109e4fc25c6a4706b5f7d93c6b", + "rev": "2d2fb547178ec025da643db57d40a971507b82fe", "type": "github" }, "original": { @@ -524,6 +698,11 @@ "hyprland", "hyprland-protocols" ], + "hyprlang": [ + "xremap", + "hyprland", + "hyprlang" + ], "nixpkgs": [ "xremap", "hyprland", @@ -536,11 +715,11 @@ ] }, "locked": { - "lastModified": 1700508250, - "narHash": "sha256-X4o/mifI7Nhu0UKYlxx53wIC+gYDo3pVM9L2u3PE2bE=", + "lastModified": 1709299639, + "narHash": "sha256-jYqJM5khksLIbqSxCLUUcqEgI+O2LdlSlcMEBs39CAU=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "eb120ff25265ecacd0fc13d7dab12131b60d0f47", + "rev": "2d2fb547178ec025da643db57d40a971507b82fe", "type": "github" }, "original": { @@ -560,11 +739,11 @@ "xremap": "xremap_2" }, "locked": { - "lastModified": 1701816620, - "narHash": "sha256-axgWrKpoV1T7KVbbT+3H/Q6mcBdUKylIz6ClFCMRxlA=", + "lastModified": 1712025160, + "narHash": "sha256-L96ZF1Z+OxAta5XPmazFajflppflYw/y588SBWVGjAw=", "owner": "xremap", "repo": "nix-flake", - "rev": "5b264392686e6caee50c9b12cb290b7d0f23cf93", + "rev": "38c9a3c4264750f77151369f34590db259454df3", "type": "github" }, "original": { @@ -576,16 +755,16 @@ "xremap_2": { "flake": false, "locked": { - "lastModified": 1701234505, - "narHash": "sha256-7k6GsKDUBvhKL9JU/QkWO+IHvhaty1udOYP8fXKr9QY=", + "lastModified": 1711574442, + "narHash": "sha256-RR8SgnlQX8Gz9qwO/wN5NvFWsEQ/vvNdmOxxFojri90=", "owner": "k0kubun", "repo": "xremap", - "rev": "97268d1d92d94609daddff1230c4ca77d54a84dd", + "rev": "53a6d0553d58b95777f066e4aeed05ec74c5eaed", "type": "github" }, "original": { "owner": "k0kubun", - "ref": "v0.8.12", + "ref": "v0.8.18", "repo": "xremap", "type": "github" } diff --git a/flake.nix b/flake.nix index e6cf66e..619099e 100644 --- a/flake.nix +++ b/flake.nix @@ -16,88 +16,21 @@ inputs.nixpkgs.follows = "nixpkgs"; }; }; + outputs = { self, nixpkgs, ... }@inputs: { - outputs = { self, home-manager, nixos-hardware, disko, nixpkgs, sops-nix, hyprland, xremap, ... }@inputs: - let + nixosConfigurations = { + katana = nixpkgs.lib.nixosSystem { + specialArgs = { inherit inputs; }; + # Define the system type system = "x86_64-linux"; - pkgs = import nixpkgs { - inherit system; - config.allowUnfree = true; - }; - defaultPackage.system = home-manager.defaultPackage.x86_64-linux; - defaultNixOptions = { - nix.settings.auto-optimise-store = true; - }; - mkComputer = configurationNix: userName: extraModules: extraHomeModules: inputs.nixpkgs.lib.nixosSystem { - inherit system; - specialArgs = { inherit system inputs self pkgs nixos-hardware; }; + homeManagerModules.default = ./home_manager/home-manager.nix; + # Define the modules for the configuration modules = [ - #Secrets management - sops-nix.nixosModules.sops - #Keybinding - xremap.nixosModules.default - #Machine config - configurationNix - defaultNixOptions - - #User config - (./. + "/users/${userName}") - - #Home manager - home-manager.nixosModules.home-manager - { - home-manager = { - useGlobalPkgs = true; - useUserPackages = true; - users."${userName}" = { - imports = [ (./. + "/users/${userName}/home.nix") ] ++ extraHomeModules; - }; - }; - - } - ] ++ extraModules; - }; - in - { - nixosConfigurations = { - katana = mkComputer - ./machines/katana.nix #machine specific configuration - "speccon18" #default user - [ - ./modules/system/desktop-environments/tuigreet.nix - ./modules/system/desktop-environments/hyprland.nix - ./modules/system/desktop-environments/budgie.nix - ./modules/system/desktop-environments/gnome.nix - ./hosts/katana/default.nix - ./hosts/katana/bluetooth.nix - ./hosts/katana/networkd.nix - ./hosts/katana/system-pkgs.nix - ./modules/system/services/docker.nix - ./modules/system/services/openssh.nix - # ./modules/system/services/syncthing.nix - ./modules/system/services/tailscale.nix - ./modules/system/nix-cli - ] #extra modules to be loaded by nixos - [ - hyprland.homeManagerModules.default - ./modules/home-manager/hyprland.nix - ./modules/home-manager/helix.nix - ./modules/home-manager/alacritty.nix - ./modules/home-manager/vscode.nix - ./modules/home-manager/zsh.nix - ./modules/home-manager/git.nix - ./modules/home-manager/zoxide.nix - ./modules/home-manager/ncspot.nix - ./modules/home-manager/zellij.nix - ./modules/home-manager/direnv.nix - ./modules/home-manager/home-manager.nix - ./modules/home-manager/starship.nix - ./modules/home-manager/dconf-settings.nix - ./modules/home-manager/syncthing.nix - ./modules/home-manager/waybar.nix - ./modules/home-manager/rofi.nix - ]; #extra modules to be loaded by home-manager - }; - }; - -} \ No newline at end of file + # Your configuration modules here. Example: + ./hosts/katana.nix + ./nixosModules/default.nix + ]; + }; + }; + }; +} diff --git a/hosts/creatorforge/creatorforge.nix b/hosts/creatorforge/creatorforge.nix deleted file mode 100644 index 66687a3..0000000 --- a/hosts/creatorforge/creatorforge.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ modulesPath, config, pkgs, lib, self, ... }: - -{ - # Sets the default version to track for system-pkgs - system.stateVersion = "22.11"; - # Set the default timezone - time.timeZone = lib.mkDefault "America/Detroit"; - # Allow non opensource software to be installed - nixpkgs.config.allowUnfree = true; - # NixOS Settings - nix = { - # Sets flakes to unstable track instead of stable # - package = pkgs.nixUnstable; # or versioned attributes like nix_2_4 - # Enable flakes and nix-command - extraOptions = ''experimental-features = nix-command flakes''; - # Auto maintainence - settings.auto-optimise-store = lib.mkDefault true; - # Prevent tampering of the pkgstore - readOnlyStore = true; - # Garbage collection - gc = { - automatic = true; - dates = "weekly"; - options = "--delete-older-than 7d"; - }; - }; -} \ No newline at end of file diff --git a/hosts/creatorforge/networkd.nix b/hosts/creatorforge/networkd.nix deleted file mode 100644 index b124664..0000000 --- a/hosts/creatorforge/networkd.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ modulesPath, config, pkgs, lib, self, ... }: -{ - networking = { - hostName = "creatorforge"; # Define your hostname. - useDHCP = lib.mkForce true; - firewall = { - enable = true; - allowedTCPPorts = []; - allowedUDPPorts = []; - checkReversePath = "loose"; - }; - }; -} \ No newline at end of file diff --git a/hosts/creatorforge/system-pkgs.nix b/hosts/creatorforge/system-pkgs.nix deleted file mode 100644 index 35d3363..0000000 --- a/hosts/creatorforge/system-pkgs.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ modulesPath, config, pkgs, lib, self, ... }: -{ - environment.systemPackages = with pkgs; [ - ripgrep - tree - cargo - feh - unrar - unzip - gzip - p7zip - bzip2 - dconf2nix - rustc - bat - exa - mdbook - uutils-coreutils - htop - zsh - tailscale - dig #dns lookup - rage #file encryption - age-plugin-yubikey #plugin for rage to manage yubi-2fa - sops #file based secrets operations - direnv #used for development environments - python39 - ]; -} \ No newline at end of file diff --git a/hosts/katana.nix b/hosts/katana.nix new file mode 100644 index 0000000..ab950a0 --- /dev/null +++ b/hosts/katana.nix @@ -0,0 +1,145 @@ +{ modulesPath, config, pkgs, lib, self, ... }: + +{ + system.stateVersion = "23.05"; + + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; + + # Hardware + hardware = { + cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + pulseaudio.enable = false; + bluetooth = { + enable = true; # enables support for Bluetooth + powerOnBoot = true; # powers up the default Bluetooth controller on boot + settings = { + General = { + Enable = "Source,Sink,Media,Socket"; + }; + }; + }; + }; + + # Boot + boot = { + loader = { + systemd-boot.enable = true; + efi.canTouchEfiVariables = true; + }; + initrd = { + availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" ]; + kernelModules = [ ]; + }; + kernelModules = [ "kvm-intel" ]; + extraModulePackages = [ ]; + # Prevent tampering of the pkgstore + readOnlyNixStore = true; + }; + + fileSystems = { + "/" = { + device = "/dev/disk/by-uuid/55c746b3-b9dc-4c9b-ab56-de68a561f9a3"; + fsType = "ext4"; + }; + "/boot" = { + device = "/dev/disk/by-uuid/0C59-9996"; + fsType = "vfat"; + }; + }; + + swapDevices = [ ]; + + # Networking + networking = { + hostName = "katana"; # Define your hostname. + networkmanager.enable = true; #Enable Network Manager + firewall = { + checkReversePath = "loose"; + allowedTCPPorts = [ ]; + allowedUDPPorts = [ ]; + }; + }; + + # Sound + sound.enable = true; + + # Localization + time.timeZone = "America/Detroit"; + i18n = { + defaultLocale = "en_US.UTF-8"; + extraLocaleSettings = { + LC_ADDRESS = "en_US.UTF-8"; + LC_IDENTIFICATION = "en_US.UTF-8"; + LC_MEASUREMENT = "en_US.UTF-8"; + LC_MONETARY = "en_US.UTF-8"; + LC_NAME = "en_US.UTF-8"; + LC_NUMERIC = "en_US.UTF-8"; + LC_PAPER = "en_US.UTF-8"; + LC_TELEPHONE = "en_US.UTF-8"; + LC_TIME = "en_US.UTF-8"; + }; + }; + + # Services. + services = { + blueman.enable = true; + printing.enable = true; + xserver = { + layout = "us"; + xkbVariant = ""; + }; + }; + + # Package Manager + nixpkgs = { + config.allowUnfree = true; + hostPlatform = lib.mkDefault "x86_64-linux"; + }; + + nix = { + # Sets flakes to unstable track instead of stable # + package = pkgs.nixUnstable; # or versioned attributes like nix_2_4 + # Enable flakes and nix-command + extraOptions = ''experimental-features = nix-command flakes''; + # Auto maintainence + settings.auto-optimise-store = lib.mkDefault true; + # Garbage collection + gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 7d"; + }; + }; + + environment.systemPackages = with pkgs; [ + gparted + bluez + blueman + nerdfonts + home-manager + pkg-config + ripgrep + openssl + tree + eza + htop + zsh + dig #dns lookup + rage #file encryption + age-plugin-yubikey #plugin for rage to manage yubi-2fa + sops #file based secrets operations + direnv #used for development environments + gcc + bottom + felix-fm + zulip + vscode + ]; + + # Fonts + fonts.packages = with pkgs; [ + (nerdfonts.override { fonts = [ "SourceCodePro" "DroidSansMono" ]; }) + ]; +} \ No newline at end of file diff --git a/hosts/katana/bluetooth.nix b/hosts/katana/bluetooth.nix deleted file mode 100644 index 90e4717..0000000 --- a/hosts/katana/bluetooth.nix +++ /dev/null @@ -1,13 +0,0 @@ -{config, pkgs, ... }: -{ - hardware.bluetooth = { - enable = true; # enables support for Bluetooth - powerOnBoot = true; # powers up the default Bluetooth controller on boot - settings = { - General = { - Enable = "Source,Sink,Media,Socket"; - }; - }; - }; - services.blueman.enable = true; -} \ No newline at end of file diff --git a/hosts/katana/default.nix b/hosts/katana/default.nix deleted file mode 100644 index 3c8aefd..0000000 --- a/hosts/katana/default.nix +++ /dev/null @@ -1,72 +0,0 @@ -{ modulesPath, config, pkgs, lib, self, ... }: - -{ - system.stateVersion = "23.05"; - - # Allow the use of unfree packages - nixpkgs.config.allowUnfree = true; - - # Sound - sound.enable = true; - hardware.pulseaudio.enable = false; - security.rtkit.enable = true; - # Localization - time.timeZone = "America/Detroit"; - i18n = { - defaultLocale = "en_US.UTF-8"; - extraLocaleSettings = { - LC_ADDRESS = "en_US.UTF-8"; - LC_IDENTIFICATION = "en_US.UTF-8"; - LC_MEASUREMENT = "en_US.UTF-8"; - LC_MONETARY = "en_US.UTF-8"; - LC_NAME = "en_US.UTF-8"; - LC_NUMERIC = "en_US.UTF-8"; - LC_PAPER = "en_US.UTF-8"; - LC_TELEPHONE = "en_US.UTF-8"; - LC_TIME = "en_US.UTF-8"; - }; - }; - - # Enable Services. - services = { - printing.enable = true; - xserver = { - layout = "us"; - xkbVariant = ""; - }; - pipewire = { - enable = true; - alsa = { - enable = true; - support32Bit = true; - }; - pulse.enable = true; - jack.enable = true; - }; - }; - nix = { - # Sets flakes to unstable track instead of stable # - package = pkgs.nixUnstable; # or versioned attributes like nix_2_4 - # Enable flakes and nix-command - extraOptions = ''experimental-features = nix-command flakes''; - # Auto maintainence - settings.auto-optimise-store = lib.mkDefault true; - # Garbage collection - gc = { - automatic = true; - dates = "weekly"; - options = "--delete-older-than 7d"; - }; - }; - speccon18 = { - desktop = { - hyprland.enable = false; - gnome.enable = false; - budgie.enable = true; - displayManager.tuigreet.enable = false; - }; - }; - fonts.packages = with pkgs; [ - (nerdfonts.override { fonts = [ "SourceCodePro" "DroidSansMono" ]; }) - ]; -} diff --git a/hosts/katana/networkd.nix b/hosts/katana/networkd.nix deleted file mode 100644 index b9d9bf9..0000000 --- a/hosts/katana/networkd.nix +++ /dev/null @@ -1,17 +0,0 @@ - -{ modulesPath, config, pkgs, lib, self, ... }: - -{ - networking = { - hostName = "katana"; # Define your hostname. - networkmanager.enable = true; #Enable Network Manager - firewall = { - checkReversePath = "loose"; - allowedTCPPorts = [8081]; - allowedUDPPorts = [ - 8081 - 2053 - ]; - }; - }; -} diff --git a/hosts/katana/system-pkgs.nix b/hosts/katana/system-pkgs.nix deleted file mode 100644 index 798ceea..0000000 --- a/hosts/katana/system-pkgs.nix +++ /dev/null @@ -1,33 +0,0 @@ -{ modulesPath, config, pkgs, lib, self, ... }: -{ - environment.systemPackages = with pkgs; [ - gparted - bluez - blueman - nerdfonts - home-manager - pkg-config - ripgrep - openssl - tree - eza - htop - zsh - dig #dns lookup - rage #file encryption - age-plugin-yubikey #plugin for rage to manage yubi-2fa - sops #file based secrets operations - direnv #used for development environments - python311Packages.pip - python311 - python311Packages.pygithub - gcc - bottom - felix-fm - gitui - spotify - zulip - vscode - pkgs.python311Packages.python-kasa - ]; -} diff --git a/install.sh b/install.sh deleted file mode 100644 index f51bdb8..0000000 --- a/install.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh - -if [ $# -ne 3 ]; then - echo \ -"Usage: - \$1 Disko Partiton Scheme - - This pulls from existing paritions located in ./modules/disko/ inside the repo - \$2 Disk to Partition - - This script can and will destro data, please do be careful - \$3 Target system flake - - These can be found via running nix show. -" - exit 1 -fi - -nix-env -iA nixos.git -git clone https://git.skdevstudios.cloud/specCon18/nixos-config.git -sudo nix run github:nix-community/disko -- --mode zap_create_mount /modules/disko/"$1" --arg disks '[ "'"$2"'" ]' -nixos-generate-config --no-filesystems --root /mnt -nixos-install --flake ./#"$3" diff --git a/machines/framework.nix b/machines/framework.nix deleted file mode 100644 index d466ed3..0000000 --- a/machines/framework.nix +++ /dev/null @@ -1,39 +0,0 @@ -# Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, disko, ... }: - -{ - imports = [ - (modulesPath + "/installer/scan/not-detected.nix") - ]; - boot = { - initrd = { - availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ]; - kernelModules = [ "dm-snapshot" ]; - luks.devices = { - crypted = { - device = "/dev/nvme0n1p3"; - preLVM = true; - }; - }; - }; - kernelModules = [ "kvm-intel" ]; - kernelParams = [ "acpi_osi=linux" ]; - extraModulePackages = [ ]; - loader = { - efi.canTouchEfiVariables = true; - systemd-boot = { - enable = true; - configurationLimit = 10; - }; - }; - }; - - disko.devices = import ../modules/system/disko/luks-lvm.nix { - disks = [ "/dev/nvme0n1" ]; - }; - - powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; - -} \ No newline at end of file diff --git a/machines/katana.nix b/machines/katana.nix deleted file mode 100644 index 6a77d1a..0000000 --- a/machines/katana.nix +++ /dev/null @@ -1,44 +0,0 @@ -{ config, lib, pkgs, modulesPath, ... }: - -{ - imports = [ - (modulesPath + "/installer/scan/not-detected.nix") - ]; - - boot = { - loader = { - systemd-boot.enable = true; - efi.canTouchEfiVariables = true; - }; - initrd = { - availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" ]; - kernelModules = [ ]; - }; - kernelModules = [ "kvm-intel" ]; - extraModulePackages = [ ]; - # Prevent tampering of the pkgstore - readOnlyNixStore = true; - }; - nix = { - gc = { - automatic = true; - dates = "weekly"; - options = "--delete-older-than 7d"; - }; - }; - fileSystems."/" = { - device = "/dev/disk/by-uuid/55c746b3-b9dc-4c9b-ab56-de68a561f9a3"; - fsType = "ext4"; - }; - - fileSystems."/boot" = { - device = "/dev/disk/by-uuid/0C59-9996"; - fsType = "vfat"; - }; - - swapDevices = [ ]; - - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -} \ No newline at end of file diff --git a/machines/proxmox-vm.nix b/machines/proxmox-vm.nix deleted file mode 100644 index 27161f8..0000000 --- a/machines/proxmox-vm.nix +++ /dev/null @@ -1,43 +0,0 @@ -{config, lib, pkgs, modulesPath, ... }: - -# Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. - -{ - imports = [ - (modulesPath + "/profiles/qemu-guest.nix") - (modulesPath + "/installer/scan/not-detected.nix") - ]; - - system.stateVersion = "22.11"; - - fileSystems."/" = { - device = "/dev/disk/by-uuid/40fe3178-6ec1-450f-93fd-c359f2f3daf9"; - fsType = "ext4"; - }; - - swapDevices = [ ]; - - networking.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; - # This helps stay in step with genertator due to being in vm - boot = { - growPartition = true; - kernelParams = [ "console=ttyS0" ]; - initrd = { - availableKernelModules = [ "uhci_hcd" "ehci_pci" "ahci" "virtio_pci" "virtio_blk" ]; - kernelModules = [ "kvm-amd" ]; - }; - extraModulePackages = [ ]; - loader = { - grub = { - device = "/dev/vda"; - }; - timeout = 0; - }; - }; - services.qemuGuest.enable = lib.mkDefault true; -} \ No newline at end of file diff --git a/modules/home-manager/dconf-settings.nix b/modules/home-manager/dconf-settings.nix deleted file mode 100644 index 6082cdf..0000000 --- a/modules/home-manager/dconf-settings.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ pkgs, config, lib, ...}: -{ - dconf = { - enable = true; - settings = { - "org/gnome/mutter" = { - attach-modal-dialogs = true; - dynamic-workspaces = true; - edge-tiling = false; - experimental-features = [ "scale-monitor-framebuffer" ]; - focus-change-on-pointer-rest = true; - workspaces-only-on-primary = true; - }; - }; - }; -} \ No newline at end of file diff --git a/modules/home-manager/direnv.nix b/modules/home-manager/direnv.nix deleted file mode 100644 index f4b6c67..0000000 --- a/modules/home-manager/direnv.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ pkgs, config, lib, ...}: -{ - programs.direnv = { - enable = true; - enableZshIntegration = lib.mkDefault true; - }; -} \ No newline at end of file diff --git a/modules/home-manager/git.nix b/modules/home-manager/git.nix deleted file mode 100644 index 06fb74e..0000000 --- a/modules/home-manager/git.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ pkgs, config, lib, ...}: -{ - programs.git = { - enable = true; - userName = "specCon18"; - userEmail = "steven.carpenter@skdevstudios.com"; - extraConfig = { - init = { - defaultBranch = "main"; - }; - }; - }; -} \ No newline at end of file diff --git a/modules/home-manager/helix.nix b/modules/home-manager/helix.nix deleted file mode 100644 index e4facda..0000000 --- a/modules/home-manager/helix.nix +++ /dev/null @@ -1,143 +0,0 @@ -{ pkgs, config, lib, ...}: -{ - home.packages = with pkgs; [ - nodePackages_latest.yaml-language-server - nodePackages_latest.bash-language-server - nodePackages_latest.vscode-langservers-extracted - nodePackages_latest.dockerfile-language-server-nodejs - nodePackages_latest.typescript - nodePackages_latest.typescript-language-server - nodePackages_latest.svelte-language-server - nodePackages_latest.vls - python311Packages.python-lsp-server - rnix-lsp - rust-analyzer - taplo - ]; - programs.helix = { - enable = true; - settings = { - theme = "monokai_pro_octagon"; - editor = { - line-number = "relative"; - shell = ["zsh" "-c"]; - completion-trigger-len = 0; - scroll-lines = 1; - scrolloff = 5; - cursorline = true; - cursor-shape = { - normal = "block"; - insert = "bar"; - select = "underline"; - }; - color-modes = true; - indent-guides.render = true; - file-picker.hidden = false; - auto-pairs = true; - lsp = { - enable = true; - display-messages = true; - auto-signature-help = true; - display-signature-help-docs = true; - snippets = true; - goto-reference-include-declaration = true; - }; - statusline = { - mode = { - normal = "NORMAL"; - insert = "INSERT"; - select = "SELECT"; - }; - left = [ "mode" "separator" "spinner" "separator" "file-name" ]; - right = [ "diagnostics" "position" "file-encoding" ]; - }; - }; - - }; - themes = { - monokai_pro_octagon = let - red = "#ff657a"; - orange = "#ff9b5e"; - yellow = "#ffd76d"; - green = "#bad761"; - blue = "#9cd1bb"; - purple = "#c39ac9"; - base0 = "#161821"; - base1 = "#1e1f2b"; - base2 = "#282a3a"; - base3 = "#3a3d4b"; - base4 = "#535763"; - base5 = "#696d77"; - base6 = "#767b81"; - base7 = "#b2b9bd"; - base8 = "#eaf2f1"; - base8x0c = "#303342"; - in { - "ui.linenr.selected" = { bg = base3; }; - "ui.text.focus" = { fg = yellow; modifiers = ["bold"]; }; - "ui.menu" = { fg = base8; bg = base3; }; - "ui.menu.selected" = { fg = base2; bg = yellow; }; - "ui.virtual.whitespace" = base5; - "ui.virtual.ruler" = { bg = base1; }; - "info" = base8; - "hint" = base8; - "ui.background" = {}; - "ui.statusline.inactive" = { fg = base8; bg = base8x0c; }; - "ui.statusline" = { fg = base8; bg = base4; }; - "ui.statusline.normal" = { fg = base4; bg = blue; }; - "ui.statusline.insert" = { fg = base4; bg = green; }; - "ui.statusline.select" = { fg = base4; bg = purple; }; - "ui.popup" = { bg = base3; }; - "ui.window" = { bg = base3; }; - "ui.help" = { fg = base8; bg = base3; }; - "ui.selection" = { bg = base4; }; - "ui.cursor.match" = { bg = base4; }; - "ui.cursorline" = { bg = base1; }; - "comment" = { fg = base5; modifiers = ["italic"]; }; - "ui.linenr" = { fg = base5; }; - "ui.cursor.primary" = { fg = base7; modifiers = ["reversed"]; }; - "attribute" = blue; - "variable" = base8; - "constant" = orange; - "variable.builtin" = red; - "constant.builtin" = red; - "namespace" = base8; - "ui.text" = { fg = base8; }; - "punctuation" = base6; - "type" = green; - "type.builtin" = { fg = red; }; - "label" = base8; - "constructor" = blue; - "function" = green; - "function.macro" = { fg = blue; }; - "function.builtin" = { fg = "cyan"; }; - "operator" = red; - "variable.other.member" = base8; - "keyword" = { fg = red; }; - "keyword.directive" = blue; - "variable.parameter" = "#f59762"; - "error" = red; - "special" = "#f59762"; - "module" = "#f59762"; - "warning" = "orange"; - "constant.character.escape" = { fg = base8; }; - "string" = yellow; - "constant.numeric" = purple; - "diff.plus" = green; - "diff.delta" = "orange"; - "diff.minus" = red; - "diagnostic.warning" = { underline = { color = "orange"; style = "curl"; }; }; - "diagnostic.error" = { underline = { color = red; style = "curl"; }; }; - "diagnostic.info" = { underline = { color = base8; style = "curl"; }; }; - "diagnostic.hint" = { underline = { color = base8; style = "curl"; }; }; - "markup.heading" = green; - "markup.bold" = { fg = "orange"; modifiers = ["bold"]; }; - "markup.italic" = { fg = "orange"; modifiers = ["italic"]; }; - "markup.strikethrough" = { modifiers = ["crossed_out"]; }; - "markup.link.url" = { fg = "orange"; modifiers = ["underlined"]; }; - "markup.link.text" = yellow; - "markup.quote" = green; - }; - }; - }; -} \ No newline at end of file diff --git a/modules/home-manager/home-manager.nix b/modules/home-manager/home-manager.nix deleted file mode 100644 index 4c2e02d..0000000 --- a/modules/home-manager/home-manager.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ pkgs, config, lib, ...}: -{ - programs.home-manager = { - enable = true; - }; -} \ No newline at end of file diff --git a/modules/home-manager/hyprland.nix b/modules/home-manager/hyprland.nix deleted file mode 100644 index 14f7cc2..0000000 --- a/modules/home-manager/hyprland.nix +++ /dev/null @@ -1,47 +0,0 @@ -{ pkgs, config, lib, ...}: -{ - wayland.windowManager.hyprland = { - # systemdIntegration = true; - enable = true; - extraConfig = '' - $mainMod = SUPER - # Application Lauch Keybinds - bind = $mainMod, Return, exec, alacritty - bind = $mainMod, W, exec, firefox - bind = $mainMod, R, exec, rofi -show drun - - # Switch workspaces with mainMod + [0-9] - bind = $mainMod, 1, workspace, 1 - bind = $mainMod, 2, workspace, 2 - bind = $mainMod, 3, workspace, 3 - bind = $mainMod, 4, workspace, 4 - bind = $mainMod, 5, workspace, 5 - bind = $mainMod, 6, workspace, 6 - bind = $mainMod, 7, workspace, 7 - bind = $mainMod, 8, workspace, 8 - bind = $mainMod, 9, workspace, 9 - bind = $mainMod, 0, workspace, 10 - - # Move active window to a workspace with mainMod + SHIFT + [0-9] - bind = $mainMod SHIFT, 1, movetoworkspace, 1 - bind = $mainMod SHIFT, 2, movetoworkspace, 2 - bind = $mainMod SHIFT, 3, movetoworkspace, 3 - bind = $mainMod SHIFT, 4, movetoworkspace, 4 - bind = $mainMod SHIFT, 5, movetoworkspace, 5 - bind = $mainMod SHIFT, 6, movetoworkspace, 6 - bind = $mainMod SHIFT, 7, movetoworkspace, 7 - bind = $mainMod SHIFT, 8, movetoworkspace, 8 - bind = $mainMod SHIFT, 9, movetoworkspace, 9 - bind = $mainMod SHIFT, 0, movetoworkspace, 10 - - bind = $mainMod, Print, exec, grim -o /home/speccon18/Pictures/$(date +'%s_grim.png') -g "$(slurp)" -t png - - # Startup Runners - exec-once=systemctl --user start waybar.service - exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP - exec-once=mako - exec-once = swww init - monitor=,highres,auto,1 - ''; - }; -} diff --git a/modules/home-manager/ncspot.nix b/modules/home-manager/ncspot.nix deleted file mode 100644 index e50ccad..0000000 --- a/modules/home-manager/ncspot.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ pkgs, config, lib, ...}: -{ - programs.ncspot = { - enable = true; - package = pkgs.ncspot; - }; -} \ No newline at end of file diff --git a/modules/home-manager/rofi.nix b/modules/home-manager/rofi.nix deleted file mode 100644 index 751757c..0000000 --- a/modules/home-manager/rofi.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ pkgs, config, lib, ...}: -{ - programs.rofi = { - enable = true; - theme = "android_notification"; - location = "top-left"; - }; -} \ No newline at end of file diff --git a/modules/home-manager/starship.nix b/modules/home-manager/starship.nix deleted file mode 100644 index f0a07ee..0000000 --- a/modules/home-manager/starship.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ pkgs, config, lib, ...}: -{ - programs.starship = { - enable = true; - enableZshIntegration = true; - }; -} \ No newline at end of file diff --git a/modules/home-manager/syncthing.nix b/modules/home-manager/syncthing.nix deleted file mode 100644 index 2bc4db8..0000000 --- a/modules/home-manager/syncthing.nix +++ /dev/null @@ -1,7 +0,0 @@ -{config, lib, pkgs, modulesPath, ... }: -{ - services.syncthing = { - enable = true; - tray.enable = false; - }; -} \ No newline at end of file diff --git a/modules/home-manager/vscode.nix b/modules/home-manager/vscode.nix deleted file mode 100644 index 3bf4f2c..0000000 --- a/modules/home-manager/vscode.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ pkgs, config, lib, ...}: -{ - programs.vscode = { - enable = false; - package = pkgs.vscode.fhs; - enableExtensionUpdateCheck = true; - enableUpdateCheck = false; - userSettings = { - "workbench.colorTheme" = "Monokai Pro (Filter Octagon)"; - "workbench.startupEditor" = "none"; - "workbench.iconTheme" = "Monokai Pro Icons"; - "git.autofetch" = true; - "redhat.telemetry.enabled" = false; - "svelte.enable-ts-plugin" = true; - "window.menuBarVisibility" = "compact"; - "prettier.singleQuote" = true; - "prettier.useTabs" = true; - "prettier.bracketSpacing" = false; - "prettier.htmlWhitespaceSensitivity" = "strict"; - "typescript.updateImportsOnFileMove.enabled" = "always"; - "editor.fontFamily" = "OpenDyslexic, OpenDyslexic Mono NF"; - "rust-analyzer.inlayHints.chainingHints.enable" = false; - "rust-analyzer.inlayHints.closingBraceHints.enable" = false; - "rust-analyzer.inlayHints.renderColons" = false; - "rust-analyzer.inlayHints.parameterHints.enable" = false; - "editor.minimap.enabled" = false; - "editor.inlineSuggest.enabled" = true; - "window.zoomLevel" = 1; - }; - }; -} diff --git a/modules/home-manager/waybar.nix b/modules/home-manager/waybar.nix deleted file mode 100644 index 9443604..0000000 --- a/modules/home-manager/waybar.nix +++ /dev/null @@ -1,121 +0,0 @@ -{ pkgs, config, lib, ...}: -{ - programs.waybar = { - enable = true; - package = pkgs.waybar; - systemd = { - enable = true; - target = "hyprland-session.target"; - }; - settings = { - main_bar = { - layer = "top"; - position = "top"; - height = 40; - spacing = 8; - modules-left = [ - "battery" - ]; - modules-center = [ - "temperature" - ]; - modules-right = [ - "backlight" - "cpu" - "memory" - "pulseaudio" - "network" - "clock" - ]; - keyboard-state = { - numlock = true; - capslock = true; - format = "{name} {icon}"; - format-icons = { - locked = ""; - unlocked = ""; - }; - }; - clock = { - timezone = "America/Detroit"; - tooltip-format = "{:%Y %B}\n{calendar}"; - format-alt = "{:%d-%m-%Y}"; - }; - cpu = { - format = "{usage}% "; - tooltip = false; - }; - memory = { - format = "{}% "; - }; - temperature = { - thermal-zone = 2; - hwmon-path = "/sys/class/hwmon/hwmon2/temp1_input"; - critical-threshold = 80; - format-critical = "{temperatureC}°C {icon}"; - format = "{temperatureC}°C {icon}"; - format-icons = ["" "" ""]; - }; - backlight = { - format = "{percent} {icon}"; - format-icons = ["" "" "" "" "" "" "" "" ""]; - }; - battery = { - states = { - good = 95; - warning = 30; - critical = 15; - }; - format = "{capacity}% {icon}"; - format-charging = "{capacity}% "; - format-plugged = "{capacity}% "; - format-alt = "{time} {icon}"; - format-good = ""; - format-full = ""; - format-icons = [ - "" - "" - "" - "" - "" - ]; - }; - "battery#bat2" = { - bat = "BAT"; - }; - network = { - format-wifi = "{essid} ({signalStrength}%) "; - format-ethernet = "{ipaddr}/{cidr} "; - tooltip-format = "{ifname} via {gwaddr} "; - format-linked = "{ifname} (No IP) "; - format-disconnected = "Disconnected ⚠"; - format-alt = "{ifname}: {ipaddr}/{cidr}"; - }; - pulseaudio = { - scroll-step = 1; - format = "{volume}% {icon} {format_source}"; - format-bluetooth = "{volume}% {icon} {format_source}"; - format-bluetooth-muted = "{icon} {format_source}"; - format-muted = " {format_source}"; - format-source = "{volume}% "; - format-source-muted = ""; - format-icons = { - headphone = ""; - hands-free = ""; - headset = ""; - phone = ""; - portable = ""; - car = ""; - default = [ - "" - "" - "" - ]; - }; - on-click = "pavucontrol"; - }; - }; - }; - style = builtins.readFile ./style.css; - }; - } \ No newline at end of file diff --git a/modules/home-manager/zellij.nix b/modules/home-manager/zellij.nix deleted file mode 100644 index 2768c18..0000000 --- a/modules/home-manager/zellij.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ pkgs, config, lib, ...}: -{ - programs.zellij = { - enable = true; - package = pkgs.zellij; - }; -} \ No newline at end of file diff --git a/modules/home-manager/zoxide.nix b/modules/home-manager/zoxide.nix deleted file mode 100644 index f2ddb01..0000000 --- a/modules/home-manager/zoxide.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ pkgs, config, lib, ...}: -{ - programs.zoxide = { - enable = true; - enableZshIntegration = lib.mkDefault true; - }; -} \ No newline at end of file diff --git a/modules/home-manager/zsh.nix b/modules/home-manager/zsh.nix deleted file mode 100644 index 11dc6ad..0000000 --- a/modules/home-manager/zsh.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ pkgs, config, lib, ...}: -{ - programs.zsh = { - enable = lib.mkDefault true; - dotDir = ".config/zsh"; - history = { - path = "$ZDOTDIR/.zsh_history"; - save = 10000000; - }; - enableAutosuggestions = lib.mkDefault true; - enableCompletion = lib.mkDefault true; - syntaxHighlighting.enable = lib.mkDefault true; - shellAliases = { - ls = "eza -l"; - lsa = "eza -al"; - grep = "rg"; - osrb = "sudo nixos-rebuild $1 --flake ~/code/nixos-config/#katana"; - }; - localVariables = { - EDITOR="hx"; - }; - }; -} diff --git a/modules/system/desktop-environments/budgie.nix b/modules/system/desktop-environments/budgie.nix deleted file mode 100644 index 726d303..0000000 --- a/modules/system/desktop-environments/budgie.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ - config, - pkgs, - lib, - ... -}: let - inherit (lib) mkEnableOption mkIf; - cfg = config.speccon18.desktop.budgie; -in { - options.speccon18.desktop.budgie = { - enable = mkEnableOption "enables specs custom budgie setup"; - }; - config = mkIf cfg.enable { - services.xserver = { - enable = true; - desktopManager.budgie.enable = true; - displayManager.lightdm.enable = true; - }; - }; -} - diff --git a/modules/system/desktop-environments/gnome.nix b/modules/system/desktop-environments/gnome.nix deleted file mode 100644 index 3ddab26..0000000 --- a/modules/system/desktop-environments/gnome.nix +++ /dev/null @@ -1,53 +0,0 @@ -{ - config, - pkgs, - lib, - ... -}: let - inherit (lib) mkEnableOption mkIf; - cfg = config.speccon18.desktop.gnome; -in { - options.speccon18.desktop.gnome = { - enable = mkEnableOption "enables specs custom gnome setup"; - }; - config = mkIf cfg.enable { - # Gnome extensions - environment.systemPackages = with pkgs; [ - ]; - - services = { - gnome = { - core-utilities.enable = false; - gnome-keyring.enable = true; - }; - - xserver = { - enable = true; - layout = "us"; - xkbVariant = ""; - displayManager = { - gdm = { - enable = true; - wayland = true; - }; - defaultSession = lib.mkDefault "budgie-desktop"; - }; - desktopManager = { - xterm.enable = false; - # gnome.enable = lib.mkDefault true; - }; - }; - }; - - programs = { - xwayland.enable = lib.mkDefault true; - }; - - xdg = { - portal = { enable = lib.mkDefault true; }; - mime.defaultApplications = { - "text/markdown" = "hx"; - }; - }; - }; -} diff --git a/modules/system/desktop-environments/hyprland.nix b/modules/system/desktop-environments/hyprland.nix deleted file mode 100644 index 272b497..0000000 --- a/modules/system/desktop-environments/hyprland.nix +++ /dev/null @@ -1,69 +0,0 @@ -{ config, pkgs, lib, ...}: -let - inherit (lib) mkEnableOption mkIf; - cfg = config.speccon18.desktop.hyprland; -in { - options.speccon18.desktop.hyprland = { - enable = mkEnableOption "enables specs custom hyprland setup"; - }; - config = mkIf cfg.enable { - programs.hyprland = { - enable = true; - nvidiaPatches = true; - xwayland.enable = true; - }; - environment = { - systemPackages = with pkgs; [ - # libsForQt5.polkit-kde-agent - libsForQt5.qt5.qtwayland - qt6.full - qt6.qtwayland - waybar - swww - pw-volume - rofi-wayland - libnotify - mako - hyprland - font-awesome - brightnessctl - grim - slurp - wl-clipboard - ]; - sessionVariables = { - #Enable Wayland - WLR_NO_HARDWARE_CURSORS = "1"; - NIXOS_OZONE_WL = "1"; - MOZ_ENABLE_WAYLAND = "1"; - GTK_USE_PORTAL = "1"; - NIXOS_XDG_OPEN_USE_PORTAL = "1"; - SDL_VIDEODRIVER = "wayland"; - - # XDG_Config - XDG_CURRENT_DESKTOP = "Hyprland"; - XDG_SESSION_DESKTOP = "Hyprland"; - XDG_SESSION_TYPE = "wayland"; - XDG_CACHE_HOME = "\${HOME}/.cache"; - XDG_CONFIG_HOME = "\${HOME}/.config"; - XDG_BIN_HOME = "\${HOME}/.local/bin"; - XDG_DATA_HOME = "\${HOME}/.local/share"; - - #Default Applications - BROWSER = "firefox"; - TERMINAL = "alacritty"; - }; - }; - xdg.portal = { - enable = true; - extraPortals = [ - pkgs.xdg-desktop-portal-gtk - pkgs.xdg-desktop-portal-hyprland - ]; - }; - hardware = { - opengl.enable = true; - nvidia.modesetting.enable = true; - }; - }; -} \ No newline at end of file diff --git a/modules/system/disko/luks-lvm.nix b/modules/system/disko/luks-lvm.nix deleted file mode 100644 index f199b10..0000000 --- a/modules/system/disko/luks-lvm.nix +++ /dev/null @@ -1,83 +0,0 @@ -{ disks ? [ "/dev/nvme0n1" ], ... }: { - disk = { - disk-0 = { - type = "disk"; - device = builtins.elemAt disks 0; - content = { - type = "table"; - format = "gpt"; - partitions = [ - { - type = "partition"; - name = "ESP"; - start = "1MiB"; - end = "2g"; - bootable = true; - content = { - type = "filesystem"; - format = "vfat"; - mountpoint = "/boot"; - mountOptions = [ - "defaults" - ]; - }; - } - { - name = "swap"; - type = "partition"; - start = "2G"; - end = "40G"; - part-type = "primary"; - content = { - type = "swap"; - randomEncryption = true; - }; - } - { - type = "partition"; - name = "luks"; - start = "40G"; - end = "100%"; - content = { - type = "luks"; - name = "crypted"; - extraOpenArgs = [ "--allow-discards" ]; - content = { - type = "lvm_pv"; - vg = "pool"; - }; - }; - } - ]; - }; - }; - }; - lvm_vg = { - pool = { - type = "lvm_vg"; - lvs = { - root = { - type = "lvm_lv"; - size = "128G"; - content = { - type = "filesystem"; - format = "ext4"; - mountpoint = "/"; - mountOptions = [ - "defaults" - ]; - }; - }; - home = { - type = "lvm_lv"; - size = "25G"; - content = { - type = "filesystem"; - format = "ext4"; - mountpoint = "/home"; - }; - }; - }; - }; - }; -} diff --git a/modules/system/nix-cli/default.nix b/modules/system/nix-cli/default.nix deleted file mode 100644 index 637fd2d..0000000 --- a/modules/system/nix-cli/default.nix +++ /dev/null @@ -1,52 +0,0 @@ -{ -config -, lib -, pkgs -, ... -}: -let - # To use this feature add -j0 to any nix commad. - hostName = "10.18.1.60"; - pubKey = "bob:Ome3wEzBur1kOkifxu9ZMbfhwLgvr5J8qfOZRDdvz3Q="; -in { - nix = { - distributedBuilds = false; - settings = { - trusted-public-keys = lib.mkAfter [ - pubKey - ]; - builders-use-substitutes = true; - # substituters = lib.mkAfter [ - # "ssh-ng://nix-ssh@${hostname}" - # ]; - # allowed-users = [ - # "@wheel" - # "@builders" - # ]; - # trusted-users = [ - # "root" - # "nix-ssh" - # ]; - }; - # buildMachines = [ - # { - # inherit hostName; - # protocol = "ssh-ng"; - # maxJobs = 8; - # systems = [ - # "x86_64-linux" - # "i686-linux" - # ]; - # supportedFeatures = [ - # "big-parallel" - # "nixos-test" - # "kvm" - # "benchmark" - # ]; - # sshUser = "builder"; - # sshKey = "/root/.ssh/id_ed25519"; - # # publicHostKey = - # } - # ]; - }; -} diff --git a/modules/system/power_management/packages.nix b/modules/system/power_management/packages.nix deleted file mode 100644 index 19c0f73..0000000 --- a/modules/system/power_management/packages.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ modulesPath, config, pkgs, lib, self, ... }: -{ - environment.systemPackages = with pkgs; [ - # powertop - # tlp - - ]; -} \ No newline at end of file diff --git a/modules/system/services/docker.nix b/modules/system/services/docker.nix deleted file mode 100644 index 6f9acf0..0000000 --- a/modules/system/services/docker.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ config, pkgs, lib, ... }: -{ - virtualisation.docker = { - enable = true; - liveRestore = false; - autoPrune.enable = true; - }; - - # But allow docker containers to access the local machine - networking.firewall.trustedInterfaces = [ "docker0" ]; -} \ No newline at end of file diff --git a/modules/system/services/openssh.nix b/modules/system/services/openssh.nix deleted file mode 100644 index 232b6e5..0000000 --- a/modules/system/services/openssh.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ config, pkgs, lib, ... }: - -{ - services.openssh = lib.mkDefault { - enable = true; - openFirewall = true; - startWhenNeeded = true; - settings = { - KexAlgorithms = [ "curve25519-sha256@libssh.org" ]; - PermitRootLogin = "no"; - PasswordAuthentication = false; - KbdInteractiveAuthentication = false; - }; - }; - security.pam = lib.mkDefault { - enableSSHAgentAuth = true; - services.sudo.sshAgentAuth = true; - }; -} \ No newline at end of file diff --git a/modules/system/services/pipewire.nix b/modules/system/services/pipewire.nix deleted file mode 100644 index 3db68cc..0000000 --- a/modules/system/services/pipewire.nix +++ /dev/null @@ -1,19 +0,0 @@ -# https://nixos.wiki/wiki/PipeWire -{ config, pkgs, lib, ... }: -{ - environment.systemPackages = with pkgs; [ - pipewire - wireplumber - ]; - # rtkit is optional but recommended - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa = { - enable = true; - support32Bit = true; - }; - pulse.enable = true; - jack.enable = true; - }; -} \ No newline at end of file diff --git a/modules/system/services/syncthing.nix b/modules/system/services/syncthing.nix deleted file mode 100644 index 1c87a3b..0000000 --- a/modules/system/services/syncthing.nix +++ /dev/null @@ -1,21 +0,0 @@ -# # {config, lib, pkgs, modulesPath, ... }: -# { -# services.syncthing = { -# enable = true; -# dataDir = "/home/speccon18"; -# openDefaultPorts = true; -# configDir = "/home/speccon18/.config/syncthing"; -# user = "speccon18"; -# group = "users"; -# guiAddress = "0.0.0.0:8384"; -# overrideDevices = true; -# overrideFolders = true; -# devices = { -# "syncthing_server" = { id = "N3UGNP6-ZU6JHBX-WNJDEUF-FV5DOWA-VAGFDYN-FIIMFRR-C3HGQHU-WOEIUQ6"; }; -# }; -# extraOptions.gui = { -# user = "admin"; -# password = "Strife-Rerun-Lily-Pushover-Alongside-Raider0-Freebase"; -# }; -# }; -# } \ No newline at end of file diff --git a/modules/system/services/tailscale.nix b/modules/system/services/tailscale.nix deleted file mode 100644 index 072eec1..0000000 --- a/modules/system/services/tailscale.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ config, pkgs, ... }: - -{ - # make the tailscale command usable to users - environment.systemPackages = with pkgs;[ - pkgs.tailscale - ]; - - # enable the tailscale service - services.tailscale.enable = true; -} diff --git a/nixosModules/default.nix b/nixosModules/default.nix new file mode 100644 index 0000000..4098652 --- /dev/null +++ b/nixosModules/default.nix @@ -0,0 +1,7 @@ +{pkgs, lib, ... }: { + imports = [ + ./users/default.nix + ./services/default.nix + ./desktop_environments/default.nix + ]; +} diff --git a/nixosModules/desktop_environments/budgie.nix b/nixosModules/desktop_environments/budgie.nix new file mode 100644 index 0000000..b1dfa4b --- /dev/null +++ b/nixosModules/desktop_environments/budgie.nix @@ -0,0 +1,12 @@ +{ config, pkgs, lib, ...}: +{ + options.speccon18.desktop.budgie.enable = lib.mkEnableOption "enables specs custom budgie setup"; + + config = lib.mkIf config.speccon18.desktop.budgie.enable { + services.xserver = { + enable = true; + desktopManager.budgie.enable = true; + displayManager.lightdm.enable = true; + }; + }; +} diff --git a/nixosModules/desktop_environments/default.nix b/nixosModules/desktop_environments/default.nix new file mode 100644 index 0000000..0c0a8e7 --- /dev/null +++ b/nixosModules/desktop_environments/default.nix @@ -0,0 +1,13 @@ +{pkgs,config,...}: +{ + imports = [ + ./budgie.nix + ./gnome.nix + ./hyprland.nix + ./tuigreet.nix + ]; + speccon18.desktop.budgie.enable = true; + speccon18.desktop.gnome.enable = false; + speccon18.desktop.hyprland.enable = false; + speccon18.desktop.displayManager.tuigreet.enable = false; +} diff --git a/nixosModules/desktop_environments/gnome.nix b/nixosModules/desktop_environments/gnome.nix new file mode 100644 index 0000000..1bfb045 --- /dev/null +++ b/nixosModules/desktop_environments/gnome.nix @@ -0,0 +1,58 @@ +{ config, pkgs, lib, ... }: +{ + options.speccon18.desktop.gnome.enable = lib.mkEnableOption "enables specs custom gnome setup"; + + config = lib.mkIf config.speccon18.desktop.gnome.enable { + Dconf settings + dconf = { + enable = true; + settings = { + "org/gnome/mutter" = { + attach-modal-dialogs = true; + dynamic-workspaces = true; + edge-tiling = false; + experimental-features = [ "scale-monitor-framebuffer" ]; + focus-change-on-pointer-rest = true; + workspaces-only-on-primary = true; + }; + }; + }; + Gnome extensions + environment.systemPackages = with pkgs; [ ]; + + services = { + gnome = { + core-utilities.enable = false; + gnome-keyring.enable = true; + }; + + xserver = { + enable = true; + layout = "us"; + xkbVariant = ""; + displayManager = { + gdm = { + enable = true; + wayland = true; + }; + defaultSession = lib.mkDefault "budgie-desktop"; + }; + desktopManager = { + xterm.enable = false; + # gnome.enable = lib.mkDefault true; + }; + }; + }; + + programs = { + xwayland.enable = lib.mkDefault true; + }; + + xdg = { + portal = { enable = lib.mkDefault true; }; + mime.defaultApplications = { + "text/markdown" = "hx"; + }; + }; + }; +} diff --git a/nixosModules/desktop_environments/hyprland.nix b/nixosModules/desktop_environments/hyprland.nix new file mode 100644 index 0000000..2ddd054 --- /dev/null +++ b/nixosModules/desktop_environments/hyprland.nix @@ -0,0 +1,108 @@ +{ config, pkgs, lib, ...}: +{ + options.speccon18.desktop.hyprland.enable = lib.mkEnableOption "enables specs custom hyprland setup"; + config = lib.mkIf config.speccon18.desktop.hyprland.enable { + programs.hyprland = { + enable = true; + nvidiaPatches = true; + xwayland.enable = true; + }; + environment = { + systemPackages = with pkgs; [ + # libsForQt5.polkit-kde-agent + libsForQt5.qt5.qtwayland + qt6.full + qt6.qtwayland + waybar + swww + pw-volume + rofi-wayland + libnotify + mako + hyprland + font-awesome + brightnessctl + grim + slurp + wl-clipboard + ]; + sessionVariables = { + #Enable Wayland + WLR_NO_HARDWARE_CURSORS = "1"; + NIXOS_OZONE_WL = "1"; + MOZ_ENABLE_WAYLAND = "1"; + GTK_USE_PORTAL = "1"; + NIXOS_XDG_OPEN_USE_PORTAL = "1"; + SDL_VIDEODRIVER = "wayland"; + + # XDG_Config + XDG_CURRENT_DESKTOP = "Hyprland"; + XDG_SESSION_DESKTOP = "Hyprland"; + XDG_SESSION_TYPE = "wayland"; + XDG_CACHE_HOME = "\${HOME}/.cache"; + XDG_CONFIG_HOME = "\${HOME}/.config"; + XDG_BIN_HOME = "\${HOME}/.local/bin"; + XDG_DATA_HOME = "\${HOME}/.local/share"; + + #Default Applications + BROWSER = "firefox"; + TERMINAL = "alacritty"; + }; + }; + xdg.portal = { + enable = true; + extraPortals = [ + pkgs.xdg-desktop-portal-gtk + pkgs.xdg-desktop-portal-hyprland + ]; + }; + hardware = { + opengl.enable = true; + nvidia.modesetting.enable = true; + }; + wayland.windowManager.hyprland = { + # systemdIntegration = true; + enable = true; + extraConfig = '' + $mainMod = SUPER + # Application Lauch Keybinds + bind = $mainMod, Return, exec, alacritty + bind = $mainMod, W, exec, firefox + bind = $mainMod, R, exec, rofi -show drun + + # Switch workspaces with mainMod + [0-9] + bind = $mainMod, 1, workspace, 1 + bind = $mainMod, 2, workspace, 2 + bind = $mainMod, 3, workspace, 3 + bind = $mainMod, 4, workspace, 4 + bind = $mainMod, 5, workspace, 5 + bind = $mainMod, 6, workspace, 6 + bind = $mainMod, 7, workspace, 7 + bind = $mainMod, 8, workspace, 8 + bind = $mainMod, 9, workspace, 9 + bind = $mainMod, 0, workspace, 10 + + # Move active window to a workspace with mainMod + SHIFT + [0-9] + bind = $mainMod SHIFT, 1, movetoworkspace, 1 + bind = $mainMod SHIFT, 2, movetoworkspace, 2 + bind = $mainMod SHIFT, 3, movetoworkspace, 3 + bind = $mainMod SHIFT, 4, movetoworkspace, 4 + bind = $mainMod SHIFT, 5, movetoworkspace, 5 + bind = $mainMod SHIFT, 6, movetoworkspace, 6 + bind = $mainMod SHIFT, 7, movetoworkspace, 7 + bind = $mainMod SHIFT, 8, movetoworkspace, 8 + bind = $mainMod SHIFT, 9, movetoworkspace, 9 + bind = $mainMod SHIFT, 0, movetoworkspace, 10 + + bind = $mainMod, Print, exec, grim -o /home/speccon18/Pictures/$(date +'%s_grim.png') -g "$(slurp)" -t png + + # Startup Runners + exec-once=systemctl --user start waybar.service + exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP + exec-once=mako + exec-once = swww init + monitor=,highres,auto,1 + ''; + }; + }; +} diff --git a/modules/system/desktop-environments/tuigreet.nix b/nixosModules/desktop_environments/tuigreet.nix similarity index 100% rename from modules/system/desktop-environments/tuigreet.nix rename to nixosModules/desktop_environments/tuigreet.nix diff --git a/modules/home-manager/alacritty.nix b/nixosModules/home_manager/alacritty.nix similarity index 89% rename from modules/home-manager/alacritty.nix rename to nixosModules/home_manager/alacritty.nix index 74f9815..31743a1 100644 --- a/modules/home-manager/alacritty.nix +++ b/nixosModules/home_manager/alacritty.nix @@ -1,5 +1,7 @@ { pkgs, config, lib, ...}: { + options.speccon18.home_manager.alacritty.enable = lib.mkEnableOption "enables specs custom alacritty config"; + config = lib.mkIf config.speccon18.home_manager.alacritty.enable { programs.alacritty = { enable = true; settings = { @@ -69,4 +71,5 @@ }; }; }; + }; } \ No newline at end of file diff --git a/nixosModules/home_manager/default.nix b/nixosModules/home_manager/default.nix new file mode 100644 index 0000000..ff8f90a --- /dev/null +++ b/nixosModules/home_manager/default.nix @@ -0,0 +1,29 @@ +{pkgs,config,...}:{ + imports = [ + ./zsh.nix + ./alacritty.nix + ./direnv.nix + ./git.nix + ./helix.nix + ./ncspot.nix + ./rofi.nix + ./starship.nix + ./syncthing.nix + ./waybar.nix + ./zellij.nix + ./zoxide.nix + ]; + speccon18.home_manager.home-manager.enable = true; + speccon18.home_manager.zsh.enable = true; + speccon18.home_manager.alacritty.enable = false; + speccon18.home_manager.direnv.enable = true; + speccon18.home_manager.git.enable = true; + speccon18.home_manager.helix.enable = true; + speccon18.home_manager.ncspot.enable = true; + speccon18.home_manager.rofi.enable = false; + speccon18.home_manager.starship.enable = true; + speccon18.home_manager.syncthing.enable = false; + speccon18.home_manager.waybar.enable = false; + speccon18.home_manager.zellij.enable = true; + speccon18.home_manager.zoxide.enable = true; +} diff --git a/nixosModules/home_manager/direnv.nix b/nixosModules/home_manager/direnv.nix new file mode 100644 index 0000000..fba0487 --- /dev/null +++ b/nixosModules/home_manager/direnv.nix @@ -0,0 +1,10 @@ +{ pkgs, config, lib, ...}: +{ + options.speccon18.home_manager.direnv.enable = lib.mkEnableOption "enables direnv with zsh integration"; + config = lib.mkIf config.speccon18.home_manager.direnv.enable { + programs.direnv = { + enable = true; + enableZshIntegration = lib.mkDefault true; + }; + }; +} diff --git a/nixosModules/home_manager/git.nix b/nixosModules/home_manager/git.nix new file mode 100644 index 0000000..7249a0a --- /dev/null +++ b/nixosModules/home_manager/git.nix @@ -0,0 +1,15 @@ +{pkgs, config, lib, ...}:{ + options.speccon18.home_manager.git.enable = lib.mkEnableOption "enables specs personal git preferences"; + config = lib.mkIf config.speccon18.home_manager.git.enable { + programs.git = { + enable = true; + userName = "specCon18"; + userEmail = "steven.carpenter@skdevstudios.com"; + extraConfig = { + init = { + defaultBranch = "main"; + }; + }; + }; + }; +} \ No newline at end of file diff --git a/nixosModules/home_manager/helix.nix b/nixosModules/home_manager/helix.nix new file mode 100644 index 0000000..347d7f9 --- /dev/null +++ b/nixosModules/home_manager/helix.nix @@ -0,0 +1,146 @@ +{ pkgs, config, lib, ...}: +{ + options.speccon18.home_manager.helix.enable = lib.mkEnableOption "enables specs custom helix configuration"; + config = lib.mkIf config.speccon18.home_manager.helix.enable { + home.packages = with pkgs; [ + nodePackages_latest.yaml-language-server + nodePackages_latest.bash-language-server + nodePackages_latest.vscode-langservers-extracted + nodePackages_latest.dockerfile-language-server-nodejs + nodePackages_latest.typescript + nodePackages_latest.typescript-language-server + nodePackages_latest.svelte-language-server + nodePackages_latest.vls + python311Packages.python-lsp-server + rnix-lsp + rust-analyzer + taplo + ]; + programs.helix = { + enable = true; + settings = { + theme = "monokai_pro_octagon"; + editor = { + line-number = "relative"; + shell = ["zsh" "-c"]; + completion-trigger-len = 0; + scroll-lines = 1; + scrolloff = 5; + cursorline = true; + cursor-shape = { + normal = "block"; + insert = "bar"; + select = "underline"; + }; + color-modes = true; + indent-guides.render = true; + file-picker.hidden = false; + auto-pairs = true; + lsp = { + enable = true; + display-messages = true; + auto-signature-help = true; + display-signature-help-docs = true; + snippets = true; + goto-reference-include-declaration = true; + }; + statusline = { + mode = { + normal = "NORMAL"; + insert = "INSERT"; + select = "SELECT"; + }; + left = [ "mode" "separator" "spinner" "separator" "file-name" ]; + right = [ "diagnostics" "position" "file-encoding" ]; + }; + }; + + }; + themes = { + monokai_pro_octagon = let + red = "#ff657a"; + orange = "#ff9b5e"; + yellow = "#ffd76d"; + green = "#bad761"; + blue = "#9cd1bb"; + purple = "#c39ac9"; + base0 = "#161821"; + base1 = "#1e1f2b"; + base2 = "#282a3a"; + base3 = "#3a3d4b"; + base4 = "#535763"; + base5 = "#696d77"; + base6 = "#767b81"; + base7 = "#b2b9bd"; + base8 = "#eaf2f1"; + base8x0c = "#303342"; + in { + "ui.linenr.selected" = { bg = base3; }; + "ui.text.focus" = { fg = yellow; modifiers = ["bold"]; }; + "ui.menu" = { fg = base8; bg = base3; }; + "ui.menu.selected" = { fg = base2; bg = yellow; }; + "ui.virtual.whitespace" = base5; + "ui.virtual.ruler" = { bg = base1; }; + "info" = base8; + "hint" = base8; + "ui.background" = {}; + "ui.statusline.inactive" = { fg = base8; bg = base8x0c; }; + "ui.statusline" = { fg = base8; bg = base4; }; + "ui.statusline.normal" = { fg = base4; bg = blue; }; + "ui.statusline.insert" = { fg = base4; bg = green; }; + "ui.statusline.select" = { fg = base4; bg = purple; }; + "ui.popup" = { bg = base3; }; + "ui.window" = { bg = base3; }; + "ui.help" = { fg = base8; bg = base3; }; + "ui.selection" = { bg = base4; }; + "ui.cursor.match" = { bg = base4; }; + "ui.cursorline" = { bg = base1; }; + "comment" = { fg = base5; modifiers = ["italic"]; }; + "ui.linenr" = { fg = base5; }; + "ui.cursor.primary" = { fg = base7; modifiers = ["reversed"]; }; + "attribute" = blue; + "variable" = base8; + "constant" = orange; + "variable.builtin" = red; + "constant.builtin" = red; + "namespace" = base8; + "ui.text" = { fg = base8; }; + "punctuation" = base6; + "type" = green; + "type.builtin" = { fg = red; }; + "label" = base8; + "constructor" = blue; + "function" = green; + "function.macro" = { fg = blue; }; + "function.builtin" = { fg = "cyan"; }; + "operator" = red; + "variable.other.member" = base8; + "keyword" = { fg = red; }; + "keyword.directive" = blue; + "variable.parameter" = "#f59762"; + "error" = red; + "special" = "#f59762"; + "module" = "#f59762"; + "warning" = "orange"; + "constant.character.escape" = { fg = base8; }; + "string" = yellow; + "constant.numeric" = purple; + "diff.plus" = green; + "diff.delta" = "orange"; + "diff.minus" = red; + "diagnostic.warning" = { underline = { color = "orange"; style = "curl"; }; }; + "diagnostic.error" = { underline = { color = red; style = "curl"; }; }; + "diagnostic.info" = { underline = { color = base8; style = "curl"; }; }; + "diagnostic.hint" = { underline = { color = base8; style = "curl"; }; }; + "markup.heading" = green; + "markup.bold" = { fg = "orange"; modifiers = ["bold"]; }; + "markup.italic" = { fg = "orange"; modifiers = ["italic"]; }; + "markup.strikethrough" = { modifiers = ["crossed_out"]; }; + "markup.link.url" = { fg = "orange"; modifiers = ["underlined"]; }; + "markup.link.text" = yellow; + "markup.quote" = green; + }; + }; + }; + }; +} diff --git a/nixosModules/home_manager/home-mananger.nix b/nixosModules/home_manager/home-mananger.nix new file mode 100644 index 0000000..ab77017 --- /dev/null +++ b/nixosModules/home_manager/home-mananger.nix @@ -0,0 +1,9 @@ +{ pkgs, config, lib, ...}: +{ + options.speccon18.home_manager.home-manager.enable = lib.mkEnableOption "enable home manager"; + config = lib.mkIf config.speccon18.home_manager.home-manager.enable = true { + programs.home-manager = { + enable = true; + }; + }; +} diff --git a/nixosModules/home_manager/ncspot.nix b/nixosModules/home_manager/ncspot.nix new file mode 100644 index 0000000..54821bd --- /dev/null +++ b/nixosModules/home_manager/ncspot.nix @@ -0,0 +1,10 @@ +{ pkgs, config, lib, ...}: +{ + options.speccon18.home_manager.ncspot.enable = lib.mkEnableOption "enable ncspot"; + config = lib.mkIf config.speccon18.home_manager.ncspot.enable { + programs.ncspot = { + enable = true; + package = pkgs.ncspot; + }; + }; +} diff --git a/nixosModules/home_manager/rofi.nix b/nixosModules/home_manager/rofi.nix new file mode 100644 index 0000000..5ba4c0d --- /dev/null +++ b/nixosModules/home_manager/rofi.nix @@ -0,0 +1,11 @@ +{ pkgs, config, lib, ...}: +{ + options.speccon18.home_manager.rofi.enable = lib.mkEnableOption "enable specs custom rofi config for hyprland"; + config = lib.mkIf config.speccon18.home_manager.rofi.enable { + programs.rofi = { + enable = true; + theme = "android_notification"; + location = "top-left"; + }; + }; +} diff --git a/nixosModules/home_manager/starship.nix b/nixosModules/home_manager/starship.nix new file mode 100644 index 0000000..63835d6 --- /dev/null +++ b/nixosModules/home_manager/starship.nix @@ -0,0 +1,10 @@ +{ pkgs, config, lib, ...}: +{ + options.speccon18.home_manager.enable = lib.mkEnableOption "enables specs custom starship config"; + config = lib.mkIf config.speccon18.home_manager.enable { + programs.starship = { + enable = true; + enableZshIntegration = true; + }; + }; +} \ No newline at end of file diff --git a/modules/home-manager/style.css b/nixosModules/home_manager/style.css similarity index 100% rename from modules/home-manager/style.css rename to nixosModules/home_manager/style.css diff --git a/nixosModules/home_manager/syncthing.nix b/nixosModules/home_manager/syncthing.nix new file mode 100644 index 0000000..cf9fc3e --- /dev/null +++ b/nixosModules/home_manager/syncthing.nix @@ -0,0 +1,10 @@ +{config, lib, pkgs, modulesPath, ... }: +{ + options.speccon18.home_manager.syncthing.enable = lib.mkEnableOption "enable syncthing"; + config = lib.mkIf config.speccon18.home_manager.syncthing.enable { + services.syncthing = { + enable = true; + tray.enable = false; + }; + }; +} \ No newline at end of file diff --git a/nixosModules/home_manager/waybar.nix b/nixosModules/home_manager/waybar.nix new file mode 100644 index 0000000..d0f2171 --- /dev/null +++ b/nixosModules/home_manager/waybar.nix @@ -0,0 +1,124 @@ +{ pkgs, config, lib, ...}: +{ + options.speccon18.home_manager.waybar.enable = lib.mkEnableOption "enable specs custom waybar for hyprland"; + config = lib.mkIf config.speccon18.home_manager.waybar.enable { + programs.waybar = { + enable = true; + package = pkgs.waybar; + systemd = { + enable = true; + target = "hyprland-session.target"; + }; + settings = { + main_bar = { + layer = "top"; + position = "top"; + height = 40; + spacing = 8; + modules-left = [ + "battery" + ]; + modules-center = [ + "temperature" + ]; + modules-right = [ + "backlight" + "cpu" + "memory" + "pulseaudio" + "network" + "clock" + ]; + keyboard-state = { + numlock = true; + capslock = true; + format = "{name} {icon}"; + format-icons = { + locked = ""; + unlocked = ""; + }; + }; + clock = { + timezone = "America/Detroit"; + tooltip-format = "{:%Y %B}\n{calendar}"; + format-alt = "{:%d-%m-%Y}"; + }; + cpu = { + format = "{usage}% "; + tooltip = false; + }; + memory = { + format = "{}% "; + }; + temperature = { + thermal-zone = 2; + hwmon-path = "/sys/class/hwmon/hwmon2/temp1_input"; + critical-threshold = 80; + format-critical = "{temperatureC}°C {icon}"; + format = "{temperatureC}°C {icon}"; + format-icons = ["" "" ""]; + }; + backlight = { + format = "{percent} {icon}"; + format-icons = ["" "" "" "" "" "" "" "" ""]; + }; + battery = { + states = { + good = 95; + warning = 30; + critical = 15; + }; + format = "{capacity}% {icon}"; + format-charging = "{capacity}% "; + format-plugged = "{capacity}% "; + format-alt = "{time} {icon}"; + format-good = ""; + format-full = ""; + format-icons = [ + "" + "" + "" + "" + "" + ]; + }; + "battery#bat2" = { + bat = "BAT"; + }; + network = { + format-wifi = "{essid} ({signalStrength}%) "; + format-ethernet = "{ipaddr}/{cidr} "; + tooltip-format = "{ifname} via {gwaddr} "; + format-linked = "{ifname} (No IP) "; + format-disconnected = "Disconnected ⚠"; + format-alt = "{ifname}: {ipaddr}/{cidr}"; + }; + pulseaudio = { + scroll-step = 1; + format = "{volume}% {icon} {format_source}"; + format-bluetooth = "{volume}% {icon} {format_source}"; + format-bluetooth-muted = "{icon} {format_source}"; + format-muted = " {format_source}"; + format-source = "{volume}% "; + format-source-muted = ""; + format-icons = { + headphone = ""; + hands-free = ""; + headset = ""; + phone = ""; + portable = ""; + car = ""; + default = [ + "" + "" + "" + ]; + }; + on-click = "pavucontrol"; + }; + }; + }; + style = builtins.readFile ./style.css; + }; + }; + } \ No newline at end of file diff --git a/nixosModules/home_manager/zellij.nix b/nixosModules/home_manager/zellij.nix new file mode 100644 index 0000000..a240179 --- /dev/null +++ b/nixosModules/home_manager/zellij.nix @@ -0,0 +1,10 @@ +{pkgs,config,lib,...}: +{ + options.speccon18.home_manager.zellij.enable = lib.mkEnableOption "enable zellij"; + config = lib.mkIf config.speccon18.home_manager.zellij.enable { + programs.zellij = { + enable = true; + package = pkgs.zellij; + }; + }; +} \ No newline at end of file diff --git a/nixosModules/home_manager/zoxide.nix b/nixosModules/home_manager/zoxide.nix new file mode 100644 index 0000000..467b3d6 --- /dev/null +++ b/nixosModules/home_manager/zoxide.nix @@ -0,0 +1,10 @@ +{pkgs,config,lib,...}: +{ + options.speccon18.home_manager.zoxide.enable = lib.mkEnableOption ""; + config = lib.mkIf config.speccon18.home_manager.zoxide.enable { + programs.zoxide = { + enable = true; + enableZshIntegration = lib.mkDefault true; + }; + }; +} \ No newline at end of file diff --git a/nixosModules/home_manager/zsh.nix b/nixosModules/home_manager/zsh.nix new file mode 100644 index 0000000..8f22847 --- /dev/null +++ b/nixosModules/home_manager/zsh.nix @@ -0,0 +1,26 @@ +{ pkgs, config, lib, ...}: +{ + options.speccon18.home_manager.zsh.enable = lib.mkEnableOption "enables specs zsh config"; + config = lib.mkIf config.speccon18.home_manager.zsh.enable { + programs.zsh = { + enable = lib.mkDefault true; + dotDir = ".config/zsh"; + history = { + path = "$ZDOTDIR/.zsh_history"; + save = 10000000; + }; + enableAutosuggestions = lib.mkDefault true; + enableCompletion = lib.mkDefault true; + syntaxHighlighting.enable = lib.mkDefault true; + shellAliases = { + ls = "eza -l"; + lsa = "eza -al"; + grep = "rg"; + osrb = "sudo nixos-rebuild $1 --flake ~/code/nixos-config/#katana"; + }; + localVariables = { + EDITOR="hx"; + }; + }; + }; +} \ No newline at end of file diff --git a/nixosModules/services/default.nix b/nixosModules/services/default.nix new file mode 100644 index 0000000..3e33273 --- /dev/null +++ b/nixosModules/services/default.nix @@ -0,0 +1,9 @@ +{pkgs,config,...}:{ + imports = [ + ./tailscale.nix + ./pipewire.nix + ]; + + speccon18.tailscale.enable = true; + speccon18.sound.pipewire.enable = true; +} diff --git a/nixosModules/services/pipewire.nix b/nixosModules/services/pipewire.nix new file mode 100644 index 0000000..dd5b4d4 --- /dev/null +++ b/nixosModules/services/pipewire.nix @@ -0,0 +1,23 @@ +# https://nixos.wiki/wiki/PipeWire +{pkgs,config,lib, ...}: +{ + options.speccon18.sound.pipewire.enable = lib.mkEnableOption "enable pipewire with jack integrations"; + + config = lib.mkIf config.speccon18.sound.pipewire.enable { + environment.systemPackages = with pkgs; [ + pipewire + wireplumber + ]; + # rtkit is optional but recommended + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa = { + enable = true; + support32Bit = true; + }; + pulse.enable = true; + jack.enable = true; + }; + }; +} diff --git a/nixosModules/services/tailscale.nix b/nixosModules/services/tailscale.nix new file mode 100644 index 0000000..36841db --- /dev/null +++ b/nixosModules/services/tailscale.nix @@ -0,0 +1,13 @@ +{ pkgs, config, lib, ... }: { + + options.speccon18.tailscale.enable = lib.mkEnableOption "enables the tailscale service and sets the package to use"; + + config = lib.mkIf config.speccon18.tailscale.enable { + # make the tailscale command usable to users + environment.systemPackages = with pkgs;[ + pkgs.tailscale + ]; + # enable the tailscale service + services.tailscale.enable = true; + }; +} diff --git a/nixosModules/users/default.nix b/nixosModules/users/default.nix new file mode 100644 index 0000000..ff106b8 --- /dev/null +++ b/nixosModules/users/default.nix @@ -0,0 +1,7 @@ +{pkgs, lib, ...}: { + imports = [ + ./speccon18.nix + ]; + speccon18.enable = true; + speccon18.home_manager.enable = true; +} diff --git a/nixosModules/users/speccon18.nix b/nixosModules/users/speccon18.nix new file mode 100644 index 0000000..894a0fd --- /dev/null +++ b/nixosModules/users/speccon18.nix @@ -0,0 +1,48 @@ +{pkgs, lib, config, ... }: { + + #Create new nixos options + options = { + speccon18.enable = lib.mkEnableOption "enables the speccon18 administrator user"; + speccon18.home_manager.enable = lib.mkEnableOption "enables home-manager support for the speccon18 administrator user"; + }; + + #Declare already defined nixos options and enable if the above mkEnable options parameter is ture + config = lib.mkIf config.speccon18.enable { + programs.zsh.enable = true; + users.users.speccon18 = { + shell = pkgs.zsh; + isNormalUser = true; + initialHashedPassword = "$y$j9T$RdLBHOvUpb17egl0d16LT/$3Y2RD/tT1IZ0nkfAR13pp3IzBjvKLRgGpDPLobUeO23"; + openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIrZpH5QV62dtTb2yx5I3PF2lJyNpPkV57pDlo6xawID" ]; + description = "Steven Carpenter"; + extraGroups = [ "wheel" ]; + }; + home = lib.mkIf config.speccon18.home_manager.enable { + username = "speccon18"; + homeDirectory = "/home/speccon18"; + + # This value determines the Home Manager release that your + # configuration is compatible with. This helps avoid breakage + # when a new Home Manager release introduces backwards + # incompatible changes. + # + # You can update Home Manager without changing this value. See + # the Home Manager release notes for a list of state version + # changes in each release. + stateVersion = "22.11"; + packages = with pkgs; [ + freecad + calibre + bitwarden + firefox + discord + gimp + obsidian + neofetch + vlc + remmina + ]; + + }; + }; +} diff --git a/todo.md b/todo.md new file mode 100644 index 0000000..e69de29 diff --git a/users/arouzing/default.nix b/users/arouzing/default.nix deleted file mode 100644 index a4510ef..0000000 --- a/users/arouzing/default.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ config, pkgs, lib, ... }: -{ - users.users.arouzing = { - isNormalUser = true; - initialHashedPassword = "$6$tucSnzN8mqHQo/Fd$Q/RtaTpoXN0xnlLAFy6ohWWYuTYd54CXaCrocV1vgFRQVuONga1LyzwdJ0vXa.NT6MRcO7IXNQ3YeURJsSdP61"; - openssh.authorizedKeys.keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJAGm66rJsr8vjRCYDkH4lEPncPq27o6BHzpmRmkzOiM" - ]; - description = "admin"; - extraGroups = [ "wheel" "docker" ]; - }; -} \ No newline at end of file diff --git a/users/speccon18/default.nix b/users/speccon18/default.nix deleted file mode 100644 index bcc6656..0000000 --- a/users/speccon18/default.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ config, pkgs, lib, ... }: -{ - programs.zsh.enable = true; - users.users.speccon18 = { - shell = pkgs.zsh; - isNormalUser = true; - initialHashedPassword = "$y$j9T$RdLBHOvUpb17egl0d16LT/$3Y2RD/tT1IZ0nkfAR13pp3IzBjvKLRgGpDPLobUeO23"; - openssh.authorizedKeys.keys = [ - ]; - description = "Steven Carpenter"; - extraGroups = [ - "wheel" - "docker" - ]; - }; -services.xremap = { - withWlroots = true; - userName = "speccon18"; - config = { - keymap = [ - { - name = "Global"; - remap = { - "CapsLock" = "Esc"; - "Print" = { - launch = [ "zsh" "-c" "grim -o /home/speccon18/Pictures/$(date +'%s_grim.png') -g $(slurp) -t png" ]; - }; - }; - } - ]; - }; -}; - -} \ No newline at end of file diff --git a/users/speccon18/home.nix b/users/speccon18/home.nix deleted file mode 100644 index 215c83c..0000000 --- a/users/speccon18/home.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ pkgs, config, lib, ... }: -{ - home = { - username = "speccon18"; - homeDirectory = "/home/speccon18"; - - # This value determines the Home Manager release that your - # configuration is compatible with. This helps avoid breakage - # when a new Home Manager release introduces backwards - # incompatible changes. - # - # You can update Home Manager without changing this value. See - # the Home Manager release notes for a list of state version - # changes in each release. - stateVersion = "22.11"; - - packages = with pkgs; [ - freecad - calibre - bitwarden - firefox - discord - gimp - # obsidian - neofetch - vlc - remmina - ]; - }; -} From 44a3f420c670b900d8876ebdbc811a00b892f717 Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Sat, 13 Apr 2024 03:58:29 -0400 Subject: [PATCH 208/233] first working build of rewrite --- .gitignore | 2 + flake.lock | 49 +++++ flake.nix | 23 +++ hosts/katana.nix | 141 ++++++++++++++ modules/default.nix | 6 + modules/home-manager/alacritty.nix | 73 +++++++ modules/home-manager/default.nix | 11 ++ modules/home-manager/direnv.nix | 10 + modules/home-manager/git.nix | 15 ++ modules/home-manager/helix.nix | 146 ++++++++++++++ modules/home-manager/home.nix | 99 ++++++++++ modules/home-manager/ncspot.nix | 10 + modules/home-manager/starship.nix | 10 + modules/home-manager/syncthing.nix | 10 + modules/home-manager/waybar-style.css | 180 ++++++++++++++++++ modules/home-manager/waybar.nix | 124 ++++++++++++ modules/home-manager/zellij.nix | 10 + modules/home-manager/zoxide.nix | 10 + modules/home-manager/zsh.nix | 26 +++ modules/system/default.nix | 5 + .../system/desktop-environments/budgie.nix | 15 ++ .../system/desktop-environments/default.nix | 12 ++ modules/system/desktop-environments/gnome.nix | 57 ++++++ .../system/desktop-environments/hyprland.nix | 113 +++++++++++ .../system/desktop-environments/tuigreet.nix | 45 +++++ modules/system/services/default.nix | 9 + modules/system/services/pipewire.nix | 23 +++ modules/system/services/tailscale.nix | 13 ++ users/speccon18/default.nix | 14 ++ 29 files changed, 1261 insertions(+) create mode 100644 .gitignore create mode 100644 flake.lock create mode 100644 flake.nix create mode 100644 hosts/katana.nix create mode 100644 modules/default.nix create mode 100644 modules/home-manager/alacritty.nix create mode 100644 modules/home-manager/default.nix create mode 100644 modules/home-manager/direnv.nix create mode 100644 modules/home-manager/git.nix create mode 100644 modules/home-manager/helix.nix create mode 100644 modules/home-manager/home.nix create mode 100644 modules/home-manager/ncspot.nix create mode 100644 modules/home-manager/starship.nix create mode 100644 modules/home-manager/syncthing.nix create mode 100644 modules/home-manager/waybar-style.css create mode 100644 modules/home-manager/waybar.nix create mode 100644 modules/home-manager/zellij.nix create mode 100644 modules/home-manager/zoxide.nix create mode 100644 modules/home-manager/zsh.nix create mode 100644 modules/system/default.nix create mode 100644 modules/system/desktop-environments/budgie.nix create mode 100644 modules/system/desktop-environments/default.nix create mode 100644 modules/system/desktop-environments/gnome.nix create mode 100644 modules/system/desktop-environments/hyprland.nix create mode 100644 modules/system/desktop-environments/tuigreet.nix create mode 100644 modules/system/services/default.nix create mode 100644 modules/system/services/pipewire.nix create mode 100644 modules/system/services/tailscale.nix create mode 100644 users/speccon18/default.nix diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e20408f --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +result +result/ diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..6ac683e --- /dev/null +++ b/flake.lock @@ -0,0 +1,49 @@ +{ + "nodes": { + "home-manager": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1712386041, + "narHash": "sha256-dA82pOMQNnCJMAsPG7AXG35VmCSMZsJHTFlTHizpKWQ=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "d6bb9f934f2870e5cbc5b94c79e9db22246141ff", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "release-23.11", + "repo": "home-manager", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1712741485, + "narHash": "sha256-bCs0+MSTra80oXAsnM6Oq62WsirOIaijQ/BbUY59tR4=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "b2cf36f43f9ef2ded5711b30b1f393ac423d8f72", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-23.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "home-manager": "home-manager", + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..4fba1c9 --- /dev/null +++ b/flake.nix @@ -0,0 +1,23 @@ +{ + description = "Nixos config flake"; + + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11"; + home-manager = { + url = "github:nix-community/home-manager/release-23.11"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + }; + + outputs = { self, nixpkgs, ... }@inputs: { + nixosConfigurations.katana = nixpkgs.lib.nixosSystem { + specialArgs = {inherit inputs;}; + modules = [ + inputs.home-manager.nixosModules.default + ./hosts/katana.nix + ./modules + ./users/speccon18 + ]; + }; + }; +} diff --git a/hosts/katana.nix b/hosts/katana.nix new file mode 100644 index 0000000..b7155f3 --- /dev/null +++ b/hosts/katana.nix @@ -0,0 +1,141 @@ +{ config, pkgs, lib, self, ... }: + +{ + system.stateVersion = "23.05"; + # Hardware + hardware = { + enableRedistributableFirmware = lib.mkDefault true; + cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + pulseaudio.enable = false; + bluetooth = { + enable = true; # enables support for Bluetooth + powerOnBoot = true; # powers up the default Bluetooth controller on boot + settings = { + General = { + Enable = "Source,Sink,Media,Socket"; + }; + }; + }; + }; + + # Boot + boot = { + loader = { + systemd-boot.enable = true; + efi.canTouchEfiVariables = true; + }; + initrd = { + availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" ]; + kernelModules = [ ]; + }; + kernelModules = [ "kvm-intel" ]; + extraModulePackages = [ ]; + # Prevent tampering of the pkgstore + readOnlyNixStore = true; + }; + + fileSystems = { + "/" = { + device = "/dev/disk/by-uuid/55c746b3-b9dc-4c9b-ab56-de68a561f9a3"; + fsType = "ext4"; + }; + "/boot" = { + device = "/dev/disk/by-uuid/0C59-9996"; + fsType = "vfat"; + }; + }; + + swapDevices = [ ]; + + # Networking + networking = { + hostName = "katana"; # Define your hostname. + networkmanager.enable = true; #Enable Network Manager + firewall = { + checkReversePath = "loose"; + allowedTCPPorts = [ ]; + allowedUDPPorts = [ ]; + }; + }; + + # Sound + sound.enable = true; + + # Localization + time.timeZone = "America/Detroit"; + i18n = { + defaultLocale = "en_US.UTF-8"; + extraLocaleSettings = { + LC_ADDRESS = "en_US.UTF-8"; + LC_IDENTIFICATION = "en_US.UTF-8"; + LC_MEASUREMENT = "en_US.UTF-8"; + LC_MONETARY = "en_US.UTF-8"; + LC_NAME = "en_US.UTF-8"; + LC_NUMERIC = "en_US.UTF-8"; + LC_PAPER = "en_US.UTF-8"; + LC_TELEPHONE = "en_US.UTF-8"; + LC_TIME = "en_US.UTF-8"; + }; + }; + + # Services. + services = { + blueman.enable = true; + printing.enable = true; + xserver = { + layout = "us"; + xkbVariant = ""; + }; + }; + + # Package Manager + nixpkgs = { + config.allowUnfree = true; + hostPlatform = lib.mkDefault "x86_64-linux"; + }; + + nix = { + # Sets flakes to unstable track instead of stable # + package = pkgs.nixUnstable; # or versioned attributes like nix_2_4 + # Enable flakes and nix-command + extraOptions = ''experimental-features = nix-command flakes''; + # Auto maintainence + settings.auto-optimise-store = lib.mkDefault true; + # Garbage collection + gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 7d"; + }; + }; + + environment.systemPackages = with pkgs; [ + gparted + bluez + blueman + nerdfonts + home-manager + pkg-config + ripgrep + openssl + tree + eza + htop + zsh + dig #dns lookup + rage #file encryption + age-plugin-yubikey #plugin for rage to manage yubi-2fa + sops #file based secrets operations + direnv #used for development environments + gcc + bottom + felix-fm + zulip + vscode + ]; + + # Fonts + fonts.packages = with pkgs; [ + (nerdfonts.override { fonts = [ "SourceCodePro" "DroidSansMono" ]; }) + ]; +} diff --git a/modules/default.nix b/modules/default.nix new file mode 100644 index 0000000..39db9c5 --- /dev/null +++ b/modules/default.nix @@ -0,0 +1,6 @@ +{config,lib,inputs,...}:{ + imports = [ + ./system + ./home-manager + ]; +} diff --git a/modules/home-manager/alacritty.nix b/modules/home-manager/alacritty.nix new file mode 100644 index 0000000..e9733f5 --- /dev/null +++ b/modules/home-manager/alacritty.nix @@ -0,0 +1,73 @@ +{ config, lib, pkgs, ... }: + +{ + options.speccon18.hm.alacritty.enable = lib.mkEnableOption "Enable Alacritty"; + config = lib.mkIf config.speccon18.hm.alacritty.enable { + programs.alacritty = { + enable = true; + settings = { + cursor = { + style = { + shape = "Beam"; + blinking = "On"; + blink_interval = 75; + }; + }; + window = { + dimensions = { + columns = 120; + lines = 25; + }; + decorations = "full"; + opacity = 1.0; + title = "Alacritty"; + }; + font = { + normal = { + family = "SauceCodePro Nerd Font"; + style = "Regular"; + }; + bold = { + family = "SauceCodePro Nerd Font"; + style = "Bold"; + }; + italic = { + family = "SauceCodePro Nerd Font"; + style = "Italic"; + }; + size = 14; + }; + colors = { + primary = { + background = "#1d1f21"; + foreground = "#c5c8c6"; + }; + cursor = { + text = "CellBackground"; + cursor = "CellForeground"; + }; + normal = { + black = "#363537"; + red = "#FC618D"; + green = "#7BD88F"; + yellow = "#FCE566"; + blue = "#FD9353"; + magenta = "#948AE3"; + cyan = "#5AD4E6"; + white = "#F7F1FF"; + }; + bright = { + black = "#69676C"; + red = "#FC618D"; + green = "#7BD88F"; + yellow = "#FCE566"; + blue = "#FD9353"; + magenta = "#948AE3"; + cyan = "#5AD4E6"; + white = "#F7F1FF"; + }; + }; + }; + }; + }; +} diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix new file mode 100644 index 0000000..3e7a3a9 --- /dev/null +++ b/modules/home-manager/default.nix @@ -0,0 +1,11 @@ +{inputs,config,pkgs,...}:{ + imports = [ + inputs.home-manager.nixosModules.home-manager + ]; + home-manager = { + # useGlobalPackages = true; + # useUserPackages = true; + extraSpecialArgs = { inherit inputs; }; + users.speccon18 = import ./home.nix; + }; +} diff --git a/modules/home-manager/direnv.nix b/modules/home-manager/direnv.nix new file mode 100644 index 0000000..e3914be --- /dev/null +++ b/modules/home-manager/direnv.nix @@ -0,0 +1,10 @@ +{ pkgs, config, lib, ...}: +{ + options.speccon18.hm.direnv.enable = lib.mkEnableOption "enables direnv with zsh integration"; + config = lib.mkIf config.speccon18.hm.direnv.enable { + programs.direnv = { + enable = true; + enableZshIntegration = lib.mkDefault true; + }; + }; +} diff --git a/modules/home-manager/git.nix b/modules/home-manager/git.nix new file mode 100644 index 0000000..e41fb7a --- /dev/null +++ b/modules/home-manager/git.nix @@ -0,0 +1,15 @@ +{pkgs, config, lib, ...}:{ + options.speccon18.hm.git.enable = lib.mkEnableOption "enables specs personal git preferences"; + config = lib.mkIf config.speccon18.hm.git.enable { + programs.git = { + enable = true; + userName = "specCon18"; + userEmail = "steven.carpenter@skdevstudios.com"; + extraConfig = { + init = { + defaultBranch = "main"; + }; + }; + }; + }; +} diff --git a/modules/home-manager/helix.nix b/modules/home-manager/helix.nix new file mode 100644 index 0000000..671e0e9 --- /dev/null +++ b/modules/home-manager/helix.nix @@ -0,0 +1,146 @@ +{ pkgs, config, lib, ...}: +{ + options.speccon18.hm.helix.enable = lib.mkEnableOption "enables specs custom helix configuration"; + config = lib.mkIf config.speccon18.hm.helix.enable { + home.packages = with pkgs; [ + nodePackages_latest.yaml-language-server + nodePackages_latest.bash-language-server + nodePackages_latest.vscode-langservers-extracted + nodePackages_latest.dockerfile-language-server-nodejs + nodePackages_latest.typescript + nodePackages_latest.typescript-language-server + nodePackages_latest.svelte-language-server + nodePackages_latest.vls + python311Packages.python-lsp-server + # rnix-lsp is archived need to update to fix CVE-2024-27297 + rust-analyzer + taplo + ]; + programs.helix = { + enable = true; + settings = { + theme = "monokai_pro_octagon"; + editor = { + line-number = "relative"; + shell = ["zsh" "-c"]; + completion-trigger-len = 0; + scroll-lines = 1; + scrolloff = 5; + cursorline = true; + cursor-shape = { + normal = "block"; + insert = "bar"; + select = "underline"; + }; + color-modes = true; + indent-guides.render = true; + file-picker.hidden = false; + auto-pairs = true; + lsp = { + enable = true; + display-messages = true; + auto-signature-help = true; + display-signature-help-docs = true; + snippets = true; + goto-reference-include-declaration = true; + }; + statusline = { + mode = { + normal = "NORMAL"; + insert = "INSERT"; + select = "SELECT"; + }; + left = [ "mode" "separator" "spinner" "separator" "file-name" ]; + right = [ "diagnostics" "position" "file-encoding" ]; + }; + }; + + }; + themes = { + monokai_pro_octagon = let + red = "#ff657a"; + orange = "#ff9b5e"; + yellow = "#ffd76d"; + green = "#bad761"; + blue = "#9cd1bb"; + purple = "#c39ac9"; + base0 = "#161821"; + base1 = "#1e1f2b"; + base2 = "#282a3a"; + base3 = "#3a3d4b"; + base4 = "#535763"; + base5 = "#696d77"; + base6 = "#767b81"; + base7 = "#b2b9bd"; + base8 = "#eaf2f1"; + base8x0c = "#303342"; + in { + "ui.linenr.selected" = { bg = base3; }; + "ui.text.focus" = { fg = yellow; modifiers = ["bold"]; }; + "ui.menu" = { fg = base8; bg = base3; }; + "ui.menu.selected" = { fg = base2; bg = yellow; }; + "ui.virtual.whitespace" = base5; + "ui.virtual.ruler" = { bg = base1; }; + "info" = base8; + "hint" = base8; + "ui.background" = {}; + "ui.statusline.inactive" = { fg = base8; bg = base8x0c; }; + "ui.statusline" = { fg = base8; bg = base4; }; + "ui.statusline.normal" = { fg = base4; bg = blue; }; + "ui.statusline.insert" = { fg = base4; bg = green; }; + "ui.statusline.select" = { fg = base4; bg = purple; }; + "ui.popup" = { bg = base3; }; + "ui.window" = { bg = base3; }; + "ui.help" = { fg = base8; bg = base3; }; + "ui.selection" = { bg = base4; }; + "ui.cursor.match" = { bg = base4; }; + "ui.cursorline" = { bg = base1; }; + "comment" = { fg = base5; modifiers = ["italic"]; }; + "ui.linenr" = { fg = base5; }; + "ui.cursor.primary" = { fg = base7; modifiers = ["reversed"]; }; + "attribute" = blue; + "variable" = base8; + "constant" = orange; + "variable.builtin" = red; + "constant.builtin" = red; + "namespace" = base8; + "ui.text" = { fg = base8; }; + "punctuation" = base6; + "type" = green; + "type.builtin" = { fg = red; }; + "label" = base8; + "constructor" = blue; + "function" = green; + "function.macro" = { fg = blue; }; + "function.builtin" = { fg = "cyan"; }; + "operator" = red; + "variable.other.member" = base8; + "keyword" = { fg = red; }; + "keyword.directive" = blue; + "variable.parameter" = "#f59762"; + "error" = red; + "special" = "#f59762"; + "module" = "#f59762"; + "warning" = "orange"; + "constant.character.escape" = { fg = base8; }; + "string" = yellow; + "constant.numeric" = purple; + "diff.plus" = green; + "diff.delta" = "orange"; + "diff.minus" = red; + "diagnostic.warning" = { underline = { color = "orange"; style = "curl"; }; }; + "diagnostic.error" = { underline = { color = red; style = "curl"; }; }; + "diagnostic.info" = { underline = { color = base8; style = "curl"; }; }; + "diagnostic.hint" = { underline = { color = base8; style = "curl"; }; }; + "markup.heading" = green; + "markup.bold" = { fg = "orange"; modifiers = ["bold"]; }; + "markup.italic" = { fg = "orange"; modifiers = ["italic"]; }; + "markup.strikethrough" = { modifiers = ["crossed_out"]; }; + "markup.link.url" = { fg = "orange"; modifiers = ["underlined"]; }; + "markup.link.text" = yellow; + "markup.quote" = green; + }; + }; + }; + }; +} diff --git a/modules/home-manager/home.nix b/modules/home-manager/home.nix new file mode 100644 index 0000000..b2f6425 --- /dev/null +++ b/modules/home-manager/home.nix @@ -0,0 +1,99 @@ +{ config, pkgs, ... }: +{ + imports = [ + ./alacritty.nix + ./direnv.nix + ./git.nix + ./helix.nix + ./ncspot.nix + ./starship.nix + ./syncthing.nix + ./waybar.nix + ./zellij.nix + ./zoxide.nix + ./zsh.nix + ]; + speccon18.hm.alacritty.enable = true; + speccon18.hm.direnv.enable = true; + speccon18.hm.git.enable = true; + speccon18.hm.helix.enable = true; + speccon18.hm.ncspot.enable = true; + speccon18.hm.starship.enable = true; + speccon18.hm.syncthing.enable = true; + speccon18.hm.waybar.enable = false; + speccon18.hm.zellij.enable = true; + speccon18.hm.zoxide.enable = true; + speccon18.hm.zsh.enable = true; + + # Home Manager needs a bit of information about you and the paths it should + # manage. + home = { + username = "speccon18"; + homeDirectory = "/home/speccon18"; + # This value determines the Home Manager release that your configuration is + # compatible with. This helps avoid breakage when a new Home Manager release + # introduces backwards incompatible changes. + # + # You should not change this value, even if you update Home Manager. If you do + # want to update the value, then make sure to first check the Home Manager + # release notes. + stateVersion = "23.11"; # Please read the comment before changing. + + # The home.packages option allows you to install Nix packages into your + # environment. + packages = [ + # # Adds the 'hello' command to your environment. It prints a friendly + # # "Hello, world!" when run. + # pkgs.hello + + # # It is sometimes useful to fine-tune packages, for example, by applying + # # overrides. You can do that directly here, just don't forget the + # # parentheses. Maybe you want to install Nerd Fonts with a limited number of + # # fonts? + # (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; }) + + # # You can also create simple shell scripts directly inside your + # # configuration. For example, this adds a command 'my-hello' to your + # # environment: + # (pkgs.writeShellScriptBin "my-hello" '' + # echo "Hello, ${config.home.username}!" + # '') + ]; + + # Home Manager is pretty good at managing dotfiles. The primary way to manage + # plain files is through 'home.file'. + file = { + # # Building this configuration will create a copy of 'dotfiles/screenrc' in + # # the Nix store. Activating the configuration will then make '~/.screenrc' a + # # symlink to the Nix store copy. + # ".screenrc".source = dotfiles/screenrc; + + # # You can also set the file content immediately. + # ".gradle/gradle.properties".text = '' + # org.gradle.console=verbose + # org.gradle.daemon.idletimeout=3600000 + # ''; + }; + + # Home Manager can also manage your environment variables through + # 'home.sessionVariables'. If you don't want to manage your shell through Home + # Manager then you have to manually source 'hm-session-vars.sh' located at + # either + # + # ~/.nix-profile/etc/profile.d/hm-session-vars.sh + # + # or + # + # ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh + # + # or + # + # /etc/profiles/per-user/speccon18/etc/profile.d/hm-session-vars.sh + # + sessionVariables = { + # EDITOR = "emacs"; + }; + }; + # Let Home Manager install and manage itself. + programs.home-manager.enable = true; +} diff --git a/modules/home-manager/ncspot.nix b/modules/home-manager/ncspot.nix new file mode 100644 index 0000000..1d78a34 --- /dev/null +++ b/modules/home-manager/ncspot.nix @@ -0,0 +1,10 @@ +{ pkgs, config, lib, ...}: +{ + options.speccon18.hm.ncspot.enable = lib.mkEnableOption "enable ncspot"; + config = lib.mkIf config.speccon18.hm.ncspot.enable { + programs.ncspot = { + enable = true; + package = pkgs.ncspot; + }; + }; +} diff --git a/modules/home-manager/starship.nix b/modules/home-manager/starship.nix new file mode 100644 index 0000000..70f16c0 --- /dev/null +++ b/modules/home-manager/starship.nix @@ -0,0 +1,10 @@ +{ pkgs, config, lib, ...}: +{ + options.speccon18.hm.starship.enable = lib.mkEnableOption "enables specs custom starship config"; + config = lib.mkIf config.speccon18.hm.starship.enable { + programs.starship = { + enable = true; + enableZshIntegration = true; + }; + }; +} diff --git a/modules/home-manager/syncthing.nix b/modules/home-manager/syncthing.nix new file mode 100644 index 0000000..1b9f31b --- /dev/null +++ b/modules/home-manager/syncthing.nix @@ -0,0 +1,10 @@ +{config, lib, pkgs, modulesPath, ... }: +{ + options.speccon18.hm.syncthing.enable = lib.mkEnableOption "enable syncthing"; + config = lib.mkIf config.speccon18.hm.syncthing.enable { + services.syncthing = { + enable = true; + tray.enable = false; + }; + }; +} diff --git a/modules/home-manager/waybar-style.css b/modules/home-manager/waybar-style.css new file mode 100644 index 0000000..3fdb8b8 --- /dev/null +++ b/modules/home-manager/waybar-style.css @@ -0,0 +1,180 @@ +* { + /* `otf-font-awesome` is required to be installed for icons */ + font-family: FontAwesome, FiraCode, Helvetica, Arial, sans-serif; + font-size: 16px; +} + +window#waybar { + background-color: rgba(68, 64, 60, 0.0); + color: #ffffff; + transition-property: background-color; + transition-duration: .5s; +} + +window#waybar.hidden { + opacity: 0.2; +} + +window#waybar.termite { + background-color: #3F3F3F; +} + +window#waybar.chromium { + background-color: #000000; + border: none; +} + +button { + /* Use box-shadow instead of border so the text isn't offset */ + box-shadow: inset 0 -3px transparent; + /* Avoid rounded borders under each button name */ + border: 0; + border-radius: 0; +} + +/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ +button:hover { + background: inherit; +} + +#clock, +#battery, +#cpu, +#memory, +#disk, +#temperature, +#backlight, +#network, +#pulseaudio, +#wireplumber { + padding: 0 10px; + color: #030712; +} + +#window { + margin: 0 4px; +} + +#clock { + background-color: #ec6148; + border-radius: 24px; +} + +#battery { + background-color: #ec6148; + color: #000000; + border-radius: 24px; +} + +#battery.charging, +#battery.plugged { + color: #000000; + background-color: #ec6148; +} + +@keyframes blink { + to { + background-color: #ec6148; + color: #000000; + } +} + +#battery.critical:not(.charging) { + background-color: #f53c3c; + color: #ffffff; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +label:focus { + background-color: #000000; +} + +#cpu { + background-color: #ec6148; + color: #030712; + border-radius: 24px; +} + +#memory { + background-color: #ec6148; + color: #030712; + border-radius: 24px; +} + +#disk { + background-color: #ec6148; + border-radius: 24px; +} + +#backlight { + background-color: #ec6148; + border-radius: 24px; +} + +#network { + background-color: #ec6148; + color: #030712; + border-radius: 24px; +} + +#network.disconnected { + background-color: #ec6148; +} + +#pulseaudio { + background-color: #ec6148; + color: #030712; + border-radius: 24px; +} + +#pulseaudio.muted { + background-color: #ec6148; + color: #2a5c45; +} + +#wireplumber { + background-color: #ec6148; + color: #000000; + border-radius: 24px; +} + +#wireplumber.muted { + background-color: #ec6148; +} + +#temperature { + background-color: #ec6148; + border-radius: 24px; +} + +#temperature.critical { + background-color: #ec6148; +} + +#language { + background: #00b093; + color: #740864; + padding: 0 5px; + margin: 0 5px; + min-width: 16px; +} + +#keyboard-state { + background: #97e1ad; + color: #000000; + padding: 0 0px; + margin: 0 5px; + min-width: 16px; +} + +#keyboard-state>label { + padding: 0 5px; +} + +#keyboard-state>label.locked { + background: rgba(0, 0, 0, 0.2); +} \ No newline at end of file diff --git a/modules/home-manager/waybar.nix b/modules/home-manager/waybar.nix new file mode 100644 index 0000000..ccb8441 --- /dev/null +++ b/modules/home-manager/waybar.nix @@ -0,0 +1,124 @@ +{ pkgs, config, lib, ...}: +{ + options.speccon18.hm.waybar.enable = lib.mkEnableOption "enable specs custom waybar for hyprland"; + config = lib.mkIf config.speccon18.hm.waybar.enable { + programs.waybar = { + enable = true; + package = pkgs.waybar; + systemd = { + enable = true; + target = "hyprland-session.target"; + }; + settings = { + main_bar = { + layer = "top"; + position = "top"; + height = 40; + spacing = 8; + modules-left = [ + "battery" + ]; + modules-center = [ + "temperature" + ]; + modules-right = [ + "backlight" + "cpu" + "memory" + "pulseaudio" + "network" + "clock" + ]; + keyboard-state = { + numlock = true; + capslock = true; + format = "{name} {icon}"; + format-icons = { + locked = ""; + unlocked = ""; + }; + }; + clock = { + timezone = "America/Detroit"; + tooltip-format = "{:%Y %B}\n{calendar}"; + format-alt = "{:%d-%m-%Y}"; + }; + cpu = { + format = "{usage}% "; + tooltip = false; + }; + memory = { + format = "{}% "; + }; + temperature = { + thermal-zone = 2; + hwmon-path = "/sys/class/hwmon/hwmon2/temp1_input"; + critical-threshold = 80; + format-critical = "{temperatureC}°C {icon}"; + format = "{temperatureC}°C {icon}"; + format-icons = ["" "" ""]; + }; + backlight = { + format = "{percent} {icon}"; + format-icons = ["" "" "" "" "" "" "" "" ""]; + }; + battery = { + states = { + good = 95; + warning = 30; + critical = 15; + }; + format = "{capacity}% {icon}"; + format-charging = "{capacity}% "; + format-plugged = "{capacity}% "; + format-alt = "{time} {icon}"; + format-good = ""; + format-full = ""; + format-icons = [ + "" + "" + "" + "" + "" + ]; + }; + "battery#bat2" = { + bat = "BAT"; + }; + network = { + format-wifi = "{essid} ({signalStrength}%) "; + format-ethernet = "{ipaddr}/{cidr} "; + tooltip-format = "{ifname} via {gwaddr} "; + format-linked = "{ifname} (No IP) "; + format-disconnected = "Disconnected ⚠"; + format-alt = "{ifname}: {ipaddr}/{cidr}"; + }; + pulseaudio = { + scroll-step = 1; + format = "{volume}% {icon} {format_source}"; + format-bluetooth = "{volume}% {icon} {format_source}"; + format-bluetooth-muted = "{icon} {format_source}"; + format-muted = " {format_source}"; + format-source = "{volume}% "; + format-source-muted = ""; + format-icons = { + headphone = ""; + hands-free = ""; + headset = ""; + phone = ""; + portable = ""; + car = ""; + default = [ + "" + "" + "" + ]; + }; + on-click = "pavucontrol"; + }; + }; + }; + style = builtins.readFile ./waybar-style.css; + }; + }; + } diff --git a/modules/home-manager/zellij.nix b/modules/home-manager/zellij.nix new file mode 100644 index 0000000..8905623 --- /dev/null +++ b/modules/home-manager/zellij.nix @@ -0,0 +1,10 @@ +{pkgs,config,lib,...}: +{ + options.speccon18.hm.zellij.enable = lib.mkEnableOption "enable zellij"; + config = lib.mkIf config.speccon18.hm.zellij.enable { + programs.zellij = { + enable = true; + package = pkgs.zellij; + }; + }; +} diff --git a/modules/home-manager/zoxide.nix b/modules/home-manager/zoxide.nix new file mode 100644 index 0000000..abb8eea --- /dev/null +++ b/modules/home-manager/zoxide.nix @@ -0,0 +1,10 @@ +{pkgs,config,lib,...}: +{ + options.speccon18.hm.zoxide.enable = lib.mkEnableOption ""; + config = lib.mkIf config.speccon18.hm.zoxide.enable { + programs.zoxide = { + enable = true; + enableZshIntegration = lib.mkDefault true; + }; + }; +} diff --git a/modules/home-manager/zsh.nix b/modules/home-manager/zsh.nix new file mode 100644 index 0000000..ecd684b --- /dev/null +++ b/modules/home-manager/zsh.nix @@ -0,0 +1,26 @@ +{ pkgs, config, lib, ...}: +{ + options.speccon18.hm.zsh.enable = lib.mkEnableOption "enables specs zsh config"; + config = lib.mkIf config.speccon18.hm.zsh.enable { + programs.zsh = { + enable = lib.mkDefault true; + dotDir = ".config/zsh"; + history = { + path = "$ZDOTDIR/.zsh_history"; + save = 10000000; + }; + enableAutosuggestions = lib.mkDefault true; + enableCompletion = lib.mkDefault true; + syntaxHighlighting.enable = lib.mkDefault true; + shellAliases = { + ls = "eza -l"; + lsa = "eza -al"; + grep = "rg"; + osrb = "sudo nixos-rebuild $1 --flake ~/code/nixos-config/#katana"; + }; + localVariables = { + EDITOR="hx"; + }; + }; + }; +} diff --git a/modules/system/default.nix b/modules/system/default.nix new file mode 100644 index 0000000..e6137d0 --- /dev/null +++ b/modules/system/default.nix @@ -0,0 +1,5 @@ +{config,...}:{ + imports = [ + ./desktop-environments + ]; +} diff --git a/modules/system/desktop-environments/budgie.nix b/modules/system/desktop-environments/budgie.nix new file mode 100644 index 0000000..1547756 --- /dev/null +++ b/modules/system/desktop-environments/budgie.nix @@ -0,0 +1,15 @@ +{ config, pkgs, lib, ... }: +let + cfg = config.speccon18.desktop.budgie; +in { + options.speccon18.desktop.budgie = { + enable = lib.mkEnableOption "enables specs custom budgie setup"; + }; + config = lib.mkIf cfg.enable { + services.xserver = { + enable = true; + desktopManager.budgie.enable = true; + displayManager.lightdm.enable = true; + }; + }; +} diff --git a/modules/system/desktop-environments/default.nix b/modules/system/desktop-environments/default.nix new file mode 100644 index 0000000..1046e58 --- /dev/null +++ b/modules/system/desktop-environments/default.nix @@ -0,0 +1,12 @@ +{config,...}:{ + imports = [ + ./budgie.nix + ./gnome.nix + ./hyprland.nix + ./tuigreet.nix + ]; + speccon18.desktop.budgie.enable = true; + speccon18.desktop.gnome.enable = false; + speccon18.desktop.hyprland.enable = false; + speccon18.desktop.tuigreet.enable = false; +} diff --git a/modules/system/desktop-environments/gnome.nix b/modules/system/desktop-environments/gnome.nix new file mode 100644 index 0000000..6cce5f6 --- /dev/null +++ b/modules/system/desktop-environments/gnome.nix @@ -0,0 +1,57 @@ +{ config, pkgs, lib, ... }: +{ + options.speccon18.desktop.gnome.enable = lib.mkEnableOption "enables specs custom gnome setup"; + config = lib.mkIf config.speccon18.desktop.gnome.enable { + # Dconf settings for home manager + # dconf = { + # enable = true; + # settings = { + # "org/gnome/mutter" = { + # attach-modal-dialogs = true; + # dynamic-workspaces = true; + # edge-tiling = false; + # experimental-features = [ "scale-monitor-framebuffer" ]; + # focus-change-on-pointer-rest = true; + # workspaces-only-on-primary = true; + # }; + # }; + # }; + # Gnome extensions + environment.systemPackages = with pkgs; [ ]; + + services = { + gnome = { + core-utilities.enable = false; + gnome-keyring.enable = true; + }; + + xserver = { + enable = true; + layout = "us"; + xkbVariant = ""; + displayManager = { + gdm = { + enable = true; + wayland = true; + }; + defaultSession = lib.mkDefault "budgie-desktop"; + }; + desktopManager = { + xterm.enable = false; + gnome.enable = false; + }; + }; + }; + + programs = { + xwayland.enable = lib.mkDefault true; + }; + + xdg = { + portal = { enable = lib.mkDefault true; }; + mime.defaultApplications = { + "text/markdown" = "hx"; + }; + }; + }; +} diff --git a/modules/system/desktop-environments/hyprland.nix b/modules/system/desktop-environments/hyprland.nix new file mode 100644 index 0000000..f04d685 --- /dev/null +++ b/modules/system/desktop-environments/hyprland.nix @@ -0,0 +1,113 @@ +{ config, pkgs, lib, ...}: +{ + options.speccon18.desktop.hyprland.enable = lib.mkEnableOption "enables specs custom hyprland setup"; + config = lib.mkIf config.speccon18.desktop.hyprland.enable { + programs.hyprland = { + enable = true; + nvidiaPatches = true; + xwayland.enable = true; + }; + environment = { + systemPackages = with pkgs; [ + # libsForQt5.polkit-kde-agent + libsForQt5.qt5.qtwayland + qt6.full + qt6.qtwayland + waybar + swww + pw-volume + rofi-wayland + libnotify + mako + hyprland + font-awesome + brightnessctl + grim + slurp + wl-clipboard + ]; + sessionVariables = { + #Enable Wayland + WLR_NO_HARDWARE_CURSORS = "1"; + NIXOS_OZONE_WL = "1"; + MOZ_ENABLE_WAYLAND = "1"; + GTK_USE_PORTAL = "1"; + NIXOS_XDG_OPEN_USE_PORTAL = "1"; + SDL_VIDEODRIVER = "wayland"; + + # XDG_Config + XDG_CURRENT_DESKTOP = "Hyprland"; + XDG_SESSION_DESKTOP = "Hyprland"; + XDG_SESSION_TYPE = "wayland"; + XDG_CACHE_HOME = "\${HOME}/.cache"; + XDG_CONFIG_HOME = "\${HOME}/.config"; + XDG_BIN_HOME = "\${HOME}/.local/bin"; + XDG_DATA_HOME = "\${HOME}/.local/share"; + + #Default Applications + BROWSER = "firefox"; + TERMINAL = "alacritty"; + }; + }; + xdg.portal = { + enable = true; + extraPortals = [ + pkgs.xdg-desktop-portal-gtk + pkgs.xdg-desktop-portal-hyprland + ]; + }; + hardware = { + opengl.enable = true; + nvidia.modesetting.enable = true; + }; + # wayland.windowManager.hyprland = { + # # systemdIntegration = true; + # enable = true; + # extraConfig = '' + # $mainMod = SUPER + # # Application Lauch Keybinds + # bind = $mainMod, Return, exec, alacritty + # bind = $mainMod, W, exec, firefox + # bind = $mainMod, R, exec, rofi -show drun + # # Switch workspaces with mainMod + [0-9] + # bind = $mainMod, 1, workspace, 1 + # bind = $mainMod, 2, workspace, 2 + # bind = $mainMod, 3, workspace, 3 + # bind = $mainMod, 4, workspace, 4 + # bind = $mainMod, 5, workspace, 5 + # bind = $mainMod, 6, workspace, 6 + # bind = $mainMod, 7, workspace, 7 + # bind = $mainMod, 8, workspace, 8 + # bind = $mainMod, 9, workspace, 9 + # bind = $mainMod, 0, workspace, 10 + + # # Move active window to a workspace with mainMod + SHIFT + [0-9] + # bind = $mainMod SHIFT, 1, movetoworkspace, 1 + # bind = $mainMod SHIFT, 2, movetoworkspace, 2 + # bind = $mainMod SHIFT, 3, movetoworkspace, 3 + # bind = $mainMod SHIFT, 4, movetoworkspace, 4 + # bind = $mainMod SHIFT, 5, movetoworkspace, 5 + # bind = $mainMod SHIFT, 6, movetoworkspace, 6 + # bind = $mainMod SHIFT, 7, movetoworkspace, 7 + # bind = $mainMod SHIFT, 8, movetoworkspace, 8 + # bind = $mainMod SHIFT, 9, movetoworkspace, 9 + # bind = $mainMod SHIFT, 0, movetoworkspace, 10 + # bind = $mainMod, Print, exec, grim -o /home/speccon18/Pictures/$(date +'%s_grim.png') -g "$(slurp)" -t png + # # Startup Runners + # exec-once=systemctl --user start waybar.service + # exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP + # exec-once=mako + # exec-once = swww init + # monitor=,highres,auto,1 + # ''; + # }; + # options.speccon18.home_manager.rofi.enable = lib.mkEnableOption "enable specs custom rofi config for hyprland"; + # config = lib.mkIf config.speccon18.home_manager.rofi.enable { + # programs.rofi = { + # enable = true; + # theme = "android_notification"; + # location = "top-left"; + # }; + # }; + }; +} diff --git a/modules/system/desktop-environments/tuigreet.nix b/modules/system/desktop-environments/tuigreet.nix new file mode 100644 index 0000000..11b6fd2 --- /dev/null +++ b/modules/system/desktop-environments/tuigreet.nix @@ -0,0 +1,45 @@ +{config,lib,pkgs,...}: +let + inherit (lib) mkEnableOption mkOption optionalString mkIf types; + dmcfg = config.services.xserver.displayManager; + cfg = config.speccon18.desktop.tuigreet; + gduser = config.services.greetd.settings.default_session.user; +in { + options.speccon18.desktop.tuigreet = { + enable = mkEnableOption "enables tuigreet"; + args = mkOption { + default = "--time --asterisks --remember -s ${dmcfg.sessionData.desktops}/share/wayland-sessions:${dmcfg.sessionData.desktops}/share/xsessions"; + type = types.str; + }; + }; + config = mkIf cfg.enable { + services.greetd = { + enable = true; + settings = { + default_session = { + command = "${pkgs.greetd.tuigreet}/bin/tuigreet ${cfg.args}"; + user = "greeter"; + }; + }; + }; + # this is a life saver. + # literally no documentation about this anywhere. + # might be good to write about this... + # https://www.reddit.com/r/NixOS/comments/u0cdpi/tuigreet_with_xmonad_how/ + systemd = { + services.greetd.serviceConfig = { + Type = "idle"; + StandardInput = "tty"; + StandardOutput = "tty"; + StandardError = "journal"; # Without this errors will spam on screen + # Without these bootlogs will spam on screen + TTYReset = true; + TTYVHangup = true; + TTYVTDisallocate = true; + }; + tmpfiles.rules = [ + "d /var/cache/tuigreet/ 0755 greeter ${gduser} - -" + ]; + }; + }; +} diff --git a/modules/system/services/default.nix b/modules/system/services/default.nix new file mode 100644 index 0000000..c9c550f --- /dev/null +++ b/modules/system/services/default.nix @@ -0,0 +1,9 @@ +{pkgs,config,...}:{ + imports = [ + ./tailscale.nix + ./pipewire.nix + ]; + + speccon18.tailscale.enable = true; + speccon18.sound.pipewire.enable = true; +} diff --git a/modules/system/services/pipewire.nix b/modules/system/services/pipewire.nix new file mode 100644 index 0000000..c8dbe57 --- /dev/null +++ b/modules/system/services/pipewire.nix @@ -0,0 +1,23 @@ +# https://nixos.wiki/wiki/PipeWire +{pkgs,config,lib, ...}: +{ + options.speccon18.sound.pipewire.enable = lib.mkEnableOption "enable pipewire with jack integrations"; + + config = lib.mkIf config.speccon18.sound.pipewire.enable { + environment.systemPackages = with pkgs; [ + pipewire + wireplumber + ]; + # rtkit is optional but recommended + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa = { + enable = true; + support32Bit = true; + }; + pulse.enable = true; + jack.enable = true; + }; + }; +} diff --git a/modules/system/services/tailscale.nix b/modules/system/services/tailscale.nix new file mode 100644 index 0000000..17695dc --- /dev/null +++ b/modules/system/services/tailscale.nix @@ -0,0 +1,13 @@ +{ pkgs, config, lib, ... }: { + + options.speccon18.tailscale.enable = lib.mkEnableOption "enables the tailscale service and sets the package to use"; + + config = lib.mkIf config.speccon18.tailscale.enable { + # make the tailscale command usable to users + environment.systemPackages = with pkgs;[ + pkgs.tailscale + ]; + # enable the tailscale service + services.tailscale.enable = true; + }; +} diff --git a/users/speccon18/default.nix b/users/speccon18/default.nix new file mode 100644 index 0000000..e16cc98 --- /dev/null +++ b/users/speccon18/default.nix @@ -0,0 +1,14 @@ +{ config, pkgs, lib, ... }: +{ + programs.zsh.enable = true; + users.users.speccon18 = { + shell = pkgs.zsh; + isNormalUser = true; + initialHashedPassword = "$y$j9T$RdLBHOvUpb17egl0d16LT/$3Y2RD/tT1IZ0nkfAR13pp3IzBjvKLRgGpDPLobUeO23"; + openssh.authorizedKeys.keys = []; + description = "steven Carpenter"; + extraGroups = [ + "wheel" + ]; + }; +} From 4c340e7a17542215ec5c80a647d7daa0a489ce41 Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Sat, 13 Apr 2024 04:00:43 -0400 Subject: [PATCH 209/233] added README --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..ab03df0 --- /dev/null +++ b/README.md @@ -0,0 +1,8 @@ +# NixOS Config +My personal NixOS Configuration Repository + +This Nix flake defines NixOS configurations for two machines: creatorforge-vm and creatorforge-framework. The flake imports various external repositories to provide additional functionality, such as Home Manager, sops-nix, and disko. + +Here is an overview of the flake: + +[![built with nix](https://builtwithnix.org/badge.svg)](https://builtwithnix.org) From ca8e99fac0e1ee60166315a413f12f82d58555ac Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Sat, 13 Apr 2024 04:35:09 -0400 Subject: [PATCH 210/233] added home packages --- modules/home-manager/home.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/modules/home-manager/home.nix b/modules/home-manager/home.nix index b2f6425..03c59b0 100644 --- a/modules/home-manager/home.nix +++ b/modules/home-manager/home.nix @@ -41,7 +41,14 @@ # The home.packages option allows you to install Nix packages into your # environment. - packages = [ + packages = with pkgs; [ + freecad + calibre + bitwarden + firefox + gimp + neofetch + vlc # # Adds the 'hello' command to your environment. It prints a friendly # # "Hello, world!" when run. # pkgs.hello From 2c1c175ef07232fe4cfcb48158688b5ecef6baaf Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Sat, 13 Apr 2024 04:40:38 -0400 Subject: [PATCH 211/233] added discord --- hosts/katana.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/katana.nix b/hosts/katana.nix index b7155f3..365fa7d 100644 --- a/hosts/katana.nix +++ b/hosts/katana.nix @@ -132,6 +132,7 @@ felix-fm zulip vscode + discord ]; # Fonts From fa1052519ab4d3b3cacd4903a76ec90ce83e6793 Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Sat, 13 Apr 2024 04:47:11 -0400 Subject: [PATCH 212/233] forgot to add services/default to system --- modules/system/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/system/default.nix b/modules/system/default.nix index e6137d0..1943ebd 100644 --- a/modules/system/default.nix +++ b/modules/system/default.nix @@ -1,5 +1,6 @@ {config,...}:{ imports = [ ./desktop-environments + ./services ]; } From a6c6e000116feab2477a5ab93a7087ec615c6b55 Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Sat, 13 Apr 2024 04:57:32 -0400 Subject: [PATCH 213/233] disabled ncspot --- modules/home-manager/home.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/home-manager/home.nix b/modules/home-manager/home.nix index 03c59b0..ebfb12c 100644 --- a/modules/home-manager/home.nix +++ b/modules/home-manager/home.nix @@ -17,7 +17,7 @@ speccon18.hm.direnv.enable = true; speccon18.hm.git.enable = true; speccon18.hm.helix.enable = true; - speccon18.hm.ncspot.enable = true; + speccon18.hm.ncspot.enable = false; speccon18.hm.starship.enable = true; speccon18.hm.syncthing.enable = true; speccon18.hm.waybar.enable = false; From 4ef7c586616a20b83ff685cd4e7499fdeee630a7 Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Sun, 14 Apr 2024 04:34:17 -0400 Subject: [PATCH 214/233] added obsidian --- flake.lock | 709 ++++++++++++++++++++++++++++++++++++++++++++++- flake.nix | 7 + hosts/katana.nix | 8 +- 3 files changed, 722 insertions(+), 2 deletions(-) diff --git a/flake.lock b/flake.lock index 6ac683e..9dd41d3 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,101 @@ { "nodes": { + "crane": { + "inputs": { + "nixpkgs": [ + "xremap", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1711407199, + "narHash": "sha256-A/nB4j3JHL51ztlMQdfKw6y8tUJJzai3bLsZUEEaBxY=", + "owner": "ipetkov", + "repo": "crane", + "rev": "7e468a455506f2e65550e08dfd45092f0857a009", + "type": "github" + }, + "original": { + "owner": "ipetkov", + "repo": "crane", + "type": "github" + } + }, + "devshell": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs_4" + }, + "locked": { + "lastModified": 1711099426, + "narHash": "sha256-HzpgM/wc3aqpnHJJ2oDqPBkNsqWbW0WfWUO8lKu8nGk=", + "owner": "numtide", + "repo": "devshell", + "rev": "2d45b54ca4a183f2fdcf4b19c895b64fbf620ee8", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "devshell", + "type": "github" + } + }, + "disko": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1712947906, + "narHash": "sha256-T0eT2lMbcK7RLelkx0qx4SiFpOS/0dt0aSfLB+WsGV8=", + "owner": "nix-community", + "repo": "disko", + "rev": "8d4ae698eaac8bd717e23507da2ca8b345bec4b5", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "disko", + "type": "github" + } + }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1709336216, + "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-utils": { + "inputs": { + "systems": "systems_2" + }, + "locked": { + "lastModified": 1701680307, + "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -21,7 +117,308 @@ "type": "github" } }, + "home-manager_2": { + "inputs": { + "nixpkgs": "nixpkgs_5" + }, + "locked": { + "lastModified": 1711554349, + "narHash": "sha256-RypwcWEIFePBI0Hubfj4chanbM/G2yzJzC6wgz+dmS4=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "179f6acaf7c068c7870542cdae72afec9427a5b0", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "hyprcursor": { + "inputs": { + "hyprlang": [ + "hyprland", + "hyprlang" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1712434681, + "narHash": "sha256-qwmR2p1oc48Bj7gUDvb1oGL19Rjs2PmEmk4ChV01A5o=", + "owner": "hyprwm", + "repo": "hyprcursor", + "rev": "818d8c4b69e0997483d60b75f701fe14b561a7a3", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprcursor", + "type": "github" + } + }, + "hyprcursor_2": { + "inputs": { + "hyprlang": "hyprlang_2", + "nixpkgs": [ + "xremap", + "hyprland", + "nixpkgs" + ], + "systems": [ + "xremap", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1711035742, + "narHash": "sha256-5vvhCSUGG9TA2G1eIRgokuYizhRnZu0ZbcU1MXfHsUE=", + "owner": "hyprwm", + "repo": "hyprcursor", + "rev": "6a92473237f430399a417e1c2da9d7fcd4970086", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprcursor", + "type": "github" + } + }, + "hyprland": { + "inputs": { + "hyprcursor": "hyprcursor", + "hyprland-protocols": "hyprland-protocols", + "hyprlang": "hyprlang", + "nixpkgs": "nixpkgs", + "systems": "systems", + "wlroots": "wlroots", + "xdph": "xdph" + }, + "locked": { + "lastModified": 1713050186, + "narHash": "sha256-AKdzVa0Zz5PQ1ptQgD0jj8J+UZUW9OeKGZ0mNVnkyI4=", + "owner": "hyprwm", + "repo": "Hyprland", + "rev": "0634aaeac6cca12e4f72174c431c2db9da9c0072", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "Hyprland", + "type": "github" + } + }, + "hyprland-protocols": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1691753796, + "narHash": "sha256-zOEwiWoXk3j3+EoF3ySUJmberFewWlagvewDRuWYAso=", + "owner": "hyprwm", + "repo": "hyprland-protocols", + "rev": "0c2ce70625cb30aef199cb388f99e19a61a6ce03", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-protocols", + "type": "github" + } + }, + "hyprland-protocols_2": { + "inputs": { + "nixpkgs": [ + "xremap", + "hyprland", + "nixpkgs" + ], + "systems": [ + "xremap", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1691753796, + "narHash": "sha256-zOEwiWoXk3j3+EoF3ySUJmberFewWlagvewDRuWYAso=", + "owner": "hyprwm", + "repo": "hyprland-protocols", + "rev": "0c2ce70625cb30aef199cb388f99e19a61a6ce03", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-protocols", + "type": "github" + } + }, + "hyprland_2": { + "inputs": { + "hyprcursor": "hyprcursor_2", + "hyprland-protocols": "hyprland-protocols_2", + "hyprlang": "hyprlang_3", + "nixpkgs": "nixpkgs_6", + "systems": "systems_4", + "wlroots": "wlroots_2", + "xdph": "xdph_2" + }, + "locked": { + "lastModified": 1711557008, + "narHash": "sha256-fBrJJSRbeRf2lZUsaij96qhDX9JpDHF0uHD69Z6Ca/k=", + "owner": "hyprwm", + "repo": "Hyprland", + "rev": "93d05114716e847c37f49d3cc2d0c5cb01d06a24", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "Hyprland", + "type": "github" + } + }, + "hyprlang": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1711671891, + "narHash": "sha256-C/Wwsy/RLxHP1axFFl+AnwJRWfd8gxDKKoa8nt8Qk3c=", + "owner": "hyprwm", + "repo": "hyprlang", + "rev": "c1402612146ba06606ebf64963a02bc1efe11e74", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprlang", + "type": "github" + } + }, + "hyprlang_2": { + "inputs": { + "nixpkgs": [ + "xremap", + "hyprland", + "hyprcursor", + "nixpkgs" + ], + "systems": "systems_3" + }, + "locked": { + "lastModified": 1709914708, + "narHash": "sha256-bR4o3mynoTa1Wi4ZTjbnsZ6iqVcPGriXp56bZh5UFTk=", + "owner": "hyprwm", + "repo": "hyprlang", + "rev": "a685493fdbeec01ca8ccdf1f3655c044a8ce2fe2", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprlang", + "type": "github" + } + }, + "hyprlang_3": { + "inputs": { + "nixpkgs": [ + "xremap", + "hyprland", + "nixpkgs" + ], + "systems": [ + "xremap", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1710960526, + "narHash": "sha256-tt0UgVKWeLQ+tFzvqrm4uAZbzONwdGshpfiLHAQ1P2c=", + "owner": "hyprwm", + "repo": "hyprlang", + "rev": "a2f39421144d42541c057be235154ce21b76c0f6", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprlang", + "type": "github" + } + }, "nixpkgs": { + "locked": { + "lastModified": 1712439257, + "narHash": "sha256-aSpiNepFOMk9932HOax0XwNxbA38GOUVOiXfUVPOrck=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "ff0dbd94265ac470dda06a657d5fe49de93b4599", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-lib": { + "locked": { + "dir": "lib", + "lastModified": 1709237383, + "narHash": "sha256-cy6ArO4k5qTx+l5o+0mL9f5fa86tYUX3ozE1S+Txlds=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1536926ef5621b09bba54035ae2bb6d806d72ac8", + "type": "github" + }, + "original": { + "dir": "lib", + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1713042715, + "narHash": "sha256-RifMwYuKu5v6x6O65msKDTqKkQ9crGwOB7yr20qMEuE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "c27f3b6d8e29346af16eecc0e9d54b1071eae27e", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "release-23.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { "locked": { "lastModified": 1712741485, "narHash": "sha256-bCs0+MSTra80oXAsnM6Oq62WsirOIaijQ/BbUY59tR4=", @@ -37,10 +434,320 @@ "type": "github" } }, + "nixpkgs_3": { + "locked": { + "lastModified": 1712883908, + "narHash": "sha256-icE1IJE9fHcbDfJ0+qWoDdcBXUoZCcIJxME4lMHwvSM=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "a0c9e3aee1000ac2bfb0e5b98c94c946a5d180a9", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_4": { + "locked": { + "lastModified": 1704161960, + "narHash": "sha256-QGua89Pmq+FBAro8NriTuoO/wNaUtugt29/qqA8zeeM=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "63143ac2c9186be6d9da6035fa22620018c85932", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_5": { + "locked": { + "lastModified": 1710806803, + "narHash": "sha256-qrxvLS888pNJFwJdK+hf1wpRCSQcqA6W5+Ox202NDa0=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "b06025f1533a1e07b6db3e75151caa155d1c7eb3", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_6": { + "locked": { + "lastModified": 1711001935, + "narHash": "sha256-URtGpHue7HHZK0mrHnSf8wJ6OmMKYSsoLmJybrOLFSQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "20f77aa09916374aa3141cbc605c955626762c9a", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_7": { + "locked": { + "lastModified": 1711401922, + "narHash": "sha256-QoQqXoj8ClGo0sqD/qWKFWezgEwUL0SUh37/vY2jNhc=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "07262b18b97000d16a4bdb003418bd2fb067a932", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "root": { "inputs": { + "disko": "disko", "home-manager": "home-manager", - "nixpkgs": "nixpkgs" + "hyprland": "hyprland", + "nixpkgs": "nixpkgs_2", + "sops-nix": "sops-nix", + "xremap": "xremap" + } + }, + "sops-nix": { + "inputs": { + "nixpkgs": "nixpkgs_3", + "nixpkgs-stable": "nixpkgs-stable" + }, + "locked": { + "lastModified": 1713066950, + "narHash": "sha256-ZaefFyvt5369XdjzSw43NhfbPM9MN5b9YXhzx4lFIRc=", + "owner": "Mic92", + "repo": "sops-nix", + "rev": "226062b47fe0e2130ba3ee9f4f1c880dc815cf87", + "type": "github" + }, + "original": { + "owner": "Mic92", + "repo": "sops-nix", + "type": "github" + } + }, + "systems": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_3": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, + "systems_4": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, + "wlroots": { + "flake": false, + "locked": { + "lastModified": 1712935342, + "narHash": "sha256-zzIbTFNFd/as42jyGx23fil2uBDYYv+8GA5JmRq5y9c=", + "owner": "hyprwm", + "repo": "wlroots-hyprland", + "rev": "62eeffbe233d199f520a5755c344e85f8eab7940", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "wlroots-hyprland", + "rev": "62eeffbe233d199f520a5755c344e85f8eab7940", + "type": "github" + } + }, + "wlroots_2": { + "flake": false, + "locked": { + "host": "gitlab.freedesktop.org", + "lastModified": 1709983277, + "narHash": "sha256-wXWIJLd4F2JZeMaihWVDW/yYXCLEC8OpeNJZg9a9ly8=", + "owner": "wlroots", + "repo": "wlroots", + "rev": "50eae512d9cecbf0b3b1898bb1f0b40fa05fe19b", + "type": "gitlab" + }, + "original": { + "host": "gitlab.freedesktop.org", + "owner": "wlroots", + "repo": "wlroots", + "rev": "50eae512d9cecbf0b3b1898bb1f0b40fa05fe19b", + "type": "gitlab" + } + }, + "xdph": { + "inputs": { + "hyprland-protocols": [ + "hyprland", + "hyprland-protocols" + ], + "hyprlang": [ + "hyprland", + "hyprlang" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1709299639, + "narHash": "sha256-jYqJM5khksLIbqSxCLUUcqEgI+O2LdlSlcMEBs39CAU=", + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "rev": "2d2fb547178ec025da643db57d40a971507b82fe", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "type": "github" + } + }, + "xdph_2": { + "inputs": { + "hyprland-protocols": [ + "xremap", + "hyprland", + "hyprland-protocols" + ], + "hyprlang": [ + "xremap", + "hyprland", + "hyprlang" + ], + "nixpkgs": [ + "xremap", + "hyprland", + "nixpkgs" + ], + "systems": [ + "xremap", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1709299639, + "narHash": "sha256-jYqJM5khksLIbqSxCLUUcqEgI+O2LdlSlcMEBs39CAU=", + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "rev": "2d2fb547178ec025da643db57d40a971507b82fe", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "type": "github" + } + }, + "xremap": { + "inputs": { + "crane": "crane", + "devshell": "devshell", + "flake-parts": "flake-parts", + "home-manager": "home-manager_2", + "hyprland": "hyprland_2", + "nixpkgs": "nixpkgs_7", + "xremap": "xremap_2" + }, + "locked": { + "lastModified": 1712025160, + "narHash": "sha256-L96ZF1Z+OxAta5XPmazFajflppflYw/y588SBWVGjAw=", + "owner": "xremap", + "repo": "nix-flake", + "rev": "38c9a3c4264750f77151369f34590db259454df3", + "type": "github" + }, + "original": { + "owner": "xremap", + "repo": "nix-flake", + "type": "github" + } + }, + "xremap_2": { + "flake": false, + "locked": { + "lastModified": 1711574442, + "narHash": "sha256-RR8SgnlQX8Gz9qwO/wN5NvFWsEQ/vvNdmOxxFojri90=", + "owner": "k0kubun", + "repo": "xremap", + "rev": "53a6d0553d58b95777f066e4aeed05ec74c5eaed", + "type": "github" + }, + "original": { + "owner": "k0kubun", + "ref": "v0.8.18", + "repo": "xremap", + "type": "github" } } }, diff --git a/flake.nix b/flake.nix index 4fba1c9..ee35626 100644 --- a/flake.nix +++ b/flake.nix @@ -7,6 +7,13 @@ url = "github:nix-community/home-manager/release-23.11"; inputs.nixpkgs.follows = "nixpkgs"; }; + sops-nix.url = "github:Mic92/sops-nix"; + xremap.url = "github:xremap/nix-flake"; + hyprland.url = "github:hyprwm/Hyprland"; + disko = { + url = "github:nix-community/disko"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = { self, nixpkgs, ... }@inputs: { diff --git a/hosts/katana.nix b/hosts/katana.nix index 365fa7d..d1676b5 100644 --- a/hosts/katana.nix +++ b/hosts/katana.nix @@ -90,7 +90,12 @@ # Package Manager nixpkgs = { - config.allowUnfree = true; + config = { + allowUnfree = true; + permittedInsecurePackages = [ + "electron-25.9.0" + ]; + }; hostPlatform = lib.mkDefault "x86_64-linux"; }; @@ -133,6 +138,7 @@ zulip vscode discord + obsidian ]; # Fonts From eca476ac8d9a57ba6bf8caebd63bfb4bc9b34b47 Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Tue, 24 Jun 2025 15:14:41 -0400 Subject: [PATCH 215/233] patching for migration to 25.05 --- README.md | 4 - flake.lock | 830 +++++++++++++++++++++++++-------- flake.nix | 8 +- hosts/.katana.nix.swp | Bin 0 -> 12288 bytes hosts/katana.nix | 42 +- modules/home-manager/helix.nix | 146 ------ modules/home-manager/home.nix | 2 - modules/home-manager/zsh.nix | 2 +- search_string.sh | 20 + 9 files changed, 670 insertions(+), 384 deletions(-) create mode 100644 hosts/.katana.nix.swp delete mode 100644 modules/home-manager/helix.nix create mode 100755 search_string.sh diff --git a/README.md b/README.md index ab03df0..4811a92 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,4 @@ # NixOS Config My personal NixOS Configuration Repository -This Nix flake defines NixOS configurations for two machines: creatorforge-vm and creatorforge-framework. The flake imports various external repositories to provide additional functionality, such as Home Manager, sops-nix, and disko. - -Here is an overview of the flake: - [![built with nix](https://builtwithnix.org/badge.svg)](https://builtwithnix.org) diff --git a/flake.lock b/flake.lock index 9dd41d3..3244644 100644 --- a/flake.lock +++ b/flake.lock @@ -1,18 +1,82 @@ { "nodes": { - "crane": { + "aquamarine": { "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "hyprwayland-scanner": [ + "hyprland", + "hyprwayland-scanner" + ], "nixpkgs": [ - "xremap", + "hyprland", "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" ] }, "locked": { - "lastModified": 1711407199, - "narHash": "sha256-A/nB4j3JHL51ztlMQdfKw6y8tUJJzai3bLsZUEEaBxY=", + "lastModified": 1750372185, + "narHash": "sha256-lVBKxd9dsZOH1fA6kSE5WNnt8e+09fN+NL/Q3BjTWHY=", + "owner": "hyprwm", + "repo": "aquamarine", + "rev": "7cef49d261cbbe537e8cb662485e76d29ac4cbca", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "aquamarine", + "type": "github" + } + }, + "aquamarine_2": { + "inputs": { + "hyprutils": [ + "xremap", + "hyprland", + "hyprutils" + ], + "hyprwayland-scanner": [ + "xremap", + "hyprland", + "hyprwayland-scanner" + ], + "nixpkgs": [ + "xremap", + "hyprland", + "nixpkgs" + ], + "systems": [ + "xremap", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1744289235, + "narHash": "sha256-ZFkHLdimtFzQACsVVyZkZlfYdj4iNy3PkzXfrwmlse8=", + "owner": "hyprwm", + "repo": "aquamarine", + "rev": "c8282f4982b56dfa5e9b9f659809da93f8d37e7a", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "aquamarine", + "type": "github" + } + }, + "crane": { + "locked": { + "lastModified": 1745454774, + "narHash": "sha256-oLvmxOnsEKGtwczxp/CwhrfmQUG2ym24OMWowcoRhH8=", "owner": "ipetkov", "repo": "crane", - "rev": "7e468a455506f2e65550e08dfd45092f0857a009", + "rev": "efd36682371678e2b6da3f108fdb5c613b3ec598", "type": "github" }, "original": { @@ -23,15 +87,14 @@ }, "devshell": { "inputs": { - "flake-utils": "flake-utils", "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1711099426, - "narHash": "sha256-HzpgM/wc3aqpnHJJ2oDqPBkNsqWbW0WfWUO8lKu8nGk=", + "lastModified": 1741473158, + "narHash": "sha256-kWNaq6wQUbUMlPgw8Y+9/9wP0F8SHkjy24/mN3UAppg=", "owner": "numtide", "repo": "devshell", - "rev": "2d45b54ca4a183f2fdcf4b19c895b64fbf620ee8", + "rev": "7c9e793ebe66bcba8292989a68c0419b737a22a0", "type": "github" }, "original": { @@ -40,23 +103,35 @@ "type": "github" } }, - "disko": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, + "flake-compat": { + "flake": false, "locked": { - "lastModified": 1712947906, - "narHash": "sha256-T0eT2lMbcK7RLelkx0qx4SiFpOS/0dt0aSfLB+WsGV8=", - "owner": "nix-community", - "repo": "disko", - "rev": "8d4ae698eaac8bd717e23507da2ca8b345bec4b5", + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "disko", + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", "type": "github" } }, @@ -65,11 +140,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1709336216, - "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", + "lastModified": 1743550720, + "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", + "rev": "c621e8422220273271f52058f618c94e405bb0f5", "type": "github" }, "original": { @@ -78,21 +153,48 @@ "type": "github" } }, - "flake-utils": { + "gitignore": { "inputs": { - "systems": "systems_2" + "nixpkgs": [ + "hyprland", + "pre-commit-hooks", + "nixpkgs" + ] }, "locked": { - "lastModified": 1701680307, - "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", "type": "github" }, "original": { - "owner": "numtide", - "repo": "flake-utils", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "gitignore_2": { + "inputs": { + "nixpkgs": [ + "xremap", + "hyprland", + "pre-commit-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", "type": "github" } }, @@ -103,16 +205,16 @@ ] }, "locked": { - "lastModified": 1712386041, - "narHash": "sha256-dA82pOMQNnCJMAsPG7AXG35VmCSMZsJHTFlTHizpKWQ=", + "lastModified": 1750783375, + "narHash": "sha256-oKccVOF1igIwTncVTHZ9RHgjOQEMbg8NK5am2IjOCCI=", "owner": "nix-community", "repo": "home-manager", - "rev": "d6bb9f934f2870e5cbc5b94c79e9db22246141ff", + "rev": "d457fa3c764e53e7bdd7354467c605766407620d", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-23.11", + "ref": "release-25.05", "repo": "home-manager", "type": "github" } @@ -122,11 +224,11 @@ "nixpkgs": "nixpkgs_5" }, "locked": { - "lastModified": 1711554349, - "narHash": "sha256-RypwcWEIFePBI0Hubfj4chanbM/G2yzJzC6wgz+dmS4=", + "lastModified": 1745782215, + "narHash": "sha256-mx27J2HYQT+nGXTyUWKrUuxRzpr1FVVr59ZH4oNzOyw=", "owner": "nix-community", "repo": "home-manager", - "rev": "179f6acaf7c068c7870542cdae72afec9427a5b0", + "rev": "7b2aae3fb39928aecc5e41c10a9c87c4881614d5", "type": "github" }, "original": { @@ -151,11 +253,11 @@ ] }, "locked": { - "lastModified": 1712434681, - "narHash": "sha256-qwmR2p1oc48Bj7gUDvb1oGL19Rjs2PmEmk4ChV01A5o=", + "lastModified": 1749155331, + "narHash": "sha256-XR9fsI0zwLiFWfqi/pdS/VD+YNorKb3XIykgTg4l1nA=", "owner": "hyprwm", "repo": "hyprcursor", - "rev": "818d8c4b69e0997483d60b75f701fe14b561a7a3", + "rev": "45fcc10b4c282746d93ec406a740c43b48b4ef80", "type": "github" }, "original": { @@ -166,7 +268,11 @@ }, "hyprcursor_2": { "inputs": { - "hyprlang": "hyprlang_2", + "hyprlang": [ + "xremap", + "hyprland", + "hyprlang" + ], "nixpkgs": [ "xremap", "hyprland", @@ -179,11 +285,11 @@ ] }, "locked": { - "lastModified": 1711035742, - "narHash": "sha256-5vvhCSUGG9TA2G1eIRgokuYizhRnZu0ZbcU1MXfHsUE=", + "lastModified": 1742215578, + "narHash": "sha256-zfs71PXVVPEe56WEyNi2TJQPs0wabU4WAlq0XV7GcdE=", "owner": "hyprwm", "repo": "hyprcursor", - "rev": "6a92473237f430399a417e1c2da9d7fcd4970086", + "rev": "2fd36421c21aa87e2fe3bee11067540ae612f719", "type": "github" }, "original": { @@ -192,22 +298,88 @@ "type": "github" } }, + "hyprgraphics": { + "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1750371717, + "narHash": "sha256-cNP+bVq8m5x2Rl6MTjwfQLCdwbVmKvTH7yqVc1SpiJM=", + "owner": "hyprwm", + "repo": "hyprgraphics", + "rev": "15c6f8f3a567fec9a0f732cd310a7ff456deef88", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprgraphics", + "type": "github" + } + }, + "hyprgraphics_2": { + "inputs": { + "hyprutils": [ + "xremap", + "hyprland", + "hyprutils" + ], + "nixpkgs": [ + "xremap", + "hyprland", + "nixpkgs" + ], + "systems": [ + "xremap", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1745015490, + "narHash": "sha256-apEJ9zoSzmslhJ2vOKFcXTMZLUFYzh1ghfB6Rbw3Low=", + "owner": "hyprwm", + "repo": "hyprgraphics", + "rev": "60754910946b4e2dc1377b967b7156cb989c5873", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprgraphics", + "type": "github" + } + }, "hyprland": { "inputs": { + "aquamarine": "aquamarine", "hyprcursor": "hyprcursor", + "hyprgraphics": "hyprgraphics", "hyprland-protocols": "hyprland-protocols", + "hyprland-qtutils": "hyprland-qtutils", "hyprlang": "hyprlang", + "hyprutils": "hyprutils", + "hyprwayland-scanner": "hyprwayland-scanner", "nixpkgs": "nixpkgs", + "pre-commit-hooks": "pre-commit-hooks", "systems": "systems", - "wlroots": "wlroots", "xdph": "xdph" }, "locked": { - "lastModified": 1713050186, - "narHash": "sha256-AKdzVa0Zz5PQ1ptQgD0jj8J+UZUW9OeKGZ0mNVnkyI4=", + "lastModified": 1750790382, + "narHash": "sha256-zQbFEl3XCfyKHHGcBY0f18F5YTsaV1fJz4C6BRL28z4=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "0634aaeac6cca12e4f72174c431c2db9da9c0072", + "rev": "5a348fb7dfaf398922c119d21acb7d7f831f8688", "type": "github" }, "original": { @@ -228,11 +400,11 @@ ] }, "locked": { - "lastModified": 1691753796, - "narHash": "sha256-zOEwiWoXk3j3+EoF3ySUJmberFewWlagvewDRuWYAso=", + "lastModified": 1749046714, + "narHash": "sha256-kymV5FMnddYGI+UjwIw8ceDjdeg7ToDVjbHCvUlhn14=", "owner": "hyprwm", "repo": "hyprland-protocols", - "rev": "0c2ce70625cb30aef199cb388f99e19a61a6ce03", + "rev": "613878cb6f459c5e323aaafe1e6f388ac8a36330", "type": "github" }, "original": { @@ -255,11 +427,11 @@ ] }, "locked": { - "lastModified": 1691753796, - "narHash": "sha256-zOEwiWoXk3j3+EoF3ySUJmberFewWlagvewDRuWYAso=", + "lastModified": 1743714874, + "narHash": "sha256-yt8F7NhMFCFHUHy/lNjH/pjZyIDFNk52Q4tivQ31WFo=", "owner": "hyprwm", "repo": "hyprland-protocols", - "rev": "0c2ce70625cb30aef199cb388f99e19a61a6ce03", + "rev": "3a5c2bda1c1a4e55cc1330c782547695a93f05b2", "type": "github" }, "original": { @@ -268,22 +440,170 @@ "type": "github" } }, + "hyprland-qt-support": { + "inputs": { + "hyprlang": [ + "hyprland", + "hyprland-qtutils", + "hyprlang" + ], + "nixpkgs": [ + "hyprland", + "hyprland-qtutils", + "nixpkgs" + ], + "systems": [ + "hyprland", + "hyprland-qtutils", + "systems" + ] + }, + "locked": { + "lastModified": 1749154592, + "narHash": "sha256-DO7z5CeT/ddSGDEnK9mAXm1qlGL47L3VAHLlLXoCjhE=", + "owner": "hyprwm", + "repo": "hyprland-qt-support", + "rev": "4c8053c3c888138a30c3a6c45c2e45f5484f2074", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-qt-support", + "type": "github" + } + }, + "hyprland-qt-support_2": { + "inputs": { + "hyprlang": [ + "xremap", + "hyprland", + "hyprland-qtutils", + "hyprlang" + ], + "nixpkgs": [ + "xremap", + "hyprland", + "hyprland-qtutils", + "nixpkgs" + ], + "systems": [ + "xremap", + "hyprland", + "hyprland-qtutils", + "systems" + ] + }, + "locked": { + "lastModified": 1737634706, + "narHash": "sha256-nGCibkfsXz7ARx5R+SnisRtMq21IQIhazp6viBU8I/A=", + "owner": "hyprwm", + "repo": "hyprland-qt-support", + "rev": "8810df502cdee755993cb803eba7b23f189db795", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-qt-support", + "type": "github" + } + }, + "hyprland-qtutils": { + "inputs": { + "hyprland-qt-support": "hyprland-qt-support", + "hyprlang": [ + "hyprland", + "hyprlang" + ], + "hyprutils": [ + "hyprland", + "hyprland-qtutils", + "hyprlang", + "hyprutils" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1750371812, + "narHash": "sha256-D868K1dVEACw17elVxRgXC6hOxY+54wIEjURztDWLk8=", + "owner": "hyprwm", + "repo": "hyprland-qtutils", + "rev": "b13c7481e37856f322177010bdf75fccacd1adc8", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-qtutils", + "type": "github" + } + }, + "hyprland-qtutils_2": { + "inputs": { + "hyprland-qt-support": "hyprland-qt-support_2", + "hyprlang": [ + "xremap", + "hyprland", + "hyprlang" + ], + "hyprutils": [ + "xremap", + "hyprland", + "hyprland-qtutils", + "hyprlang", + "hyprutils" + ], + "nixpkgs": [ + "xremap", + "hyprland", + "nixpkgs" + ], + "systems": [ + "xremap", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1739048983, + "narHash": "sha256-REhTcXq4qs3B3cCDtLlYDz0GZvmsBSh947Ub6pQWGTQ=", + "owner": "hyprwm", + "repo": "hyprland-qtutils", + "rev": "3504a293c8f8db4127cb0f7cfc1a318ffb4316f8", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-qtutils", + "type": "github" + } + }, "hyprland_2": { "inputs": { + "aquamarine": "aquamarine_2", "hyprcursor": "hyprcursor_2", + "hyprgraphics": "hyprgraphics_2", "hyprland-protocols": "hyprland-protocols_2", - "hyprlang": "hyprlang_3", + "hyprland-qtutils": "hyprland-qtutils_2", + "hyprlang": "hyprlang_2", + "hyprutils": "hyprutils_2", + "hyprwayland-scanner": "hyprwayland-scanner_2", "nixpkgs": "nixpkgs_6", - "systems": "systems_4", - "wlroots": "wlroots_2", + "pre-commit-hooks": "pre-commit-hooks_2", + "systems": "systems_2", "xdph": "xdph_2" }, "locked": { - "lastModified": 1711557008, - "narHash": "sha256-fBrJJSRbeRf2lZUsaij96qhDX9JpDHF0uHD69Z6Ca/k=", + "lastModified": 1745756886, + "narHash": "sha256-oXfvqaWENRd8CaxbQEHntH9PzNsjUaWalBIcG7xk/Lw=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "93d05114716e847c37f49d3cc2d0c5cb01d06a24", + "rev": "0302bfdc2207f9b5482fb07aa6052e7f6cb237ca", "type": "github" }, "original": { @@ -294,6 +614,10 @@ }, "hyprlang": { "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], "nixpkgs": [ "hyprland", "nixpkgs" @@ -304,11 +628,11 @@ ] }, "locked": { - "lastModified": 1711671891, - "narHash": "sha256-C/Wwsy/RLxHP1axFFl+AnwJRWfd8gxDKKoa8nt8Qk3c=", + "lastModified": 1750371198, + "narHash": "sha256-/iuJ1paQOBoSLqHflRNNGyroqfF/yvPNurxzcCT0cAE=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "c1402612146ba06606ebf64963a02bc1efe11e74", + "rev": "cee01452bca58d6cadb3224e21e370de8bc20f0b", "type": "github" }, "original": { @@ -319,20 +643,28 @@ }, "hyprlang_2": { "inputs": { + "hyprutils": [ + "xremap", + "hyprland", + "hyprutils" + ], "nixpkgs": [ "xremap", "hyprland", - "hyprcursor", "nixpkgs" ], - "systems": "systems_3" + "systems": [ + "xremap", + "hyprland", + "systems" + ] }, "locked": { - "lastModified": 1709914708, - "narHash": "sha256-bR4o3mynoTa1Wi4ZTjbnsZ6iqVcPGriXp56bZh5UFTk=", + "lastModified": 1744468525, + "narHash": "sha256-9HySx+EtsbbKlZDlY+naqqOV679VdxP6x6fP3wxDXJk=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "a685493fdbeec01ca8ccdf1f3655c044a8ce2fe2", + "rev": "f1000c54d266e6e4e9d646df0774fac5b8a652df", "type": "github" }, "original": { @@ -341,7 +673,32 @@ "type": "github" } }, - "hyprlang_3": { + "hyprutils": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1750371096, + "narHash": "sha256-JB1IeJ41y7kWc/dPGV6RMcCUM0Xj2NEK26A2Ap7EM9c=", + "owner": "hyprwm", + "repo": "hyprutils", + "rev": "38f3a211657ce82a1123bf19402199b67a410f08", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprutils", + "type": "github" + } + }, + "hyprutils_2": { "inputs": { "nixpkgs": [ "xremap", @@ -355,26 +712,78 @@ ] }, "locked": { - "lastModified": 1710960526, - "narHash": "sha256-tt0UgVKWeLQ+tFzvqrm4uAZbzONwdGshpfiLHAQ1P2c=", + "lastModified": 1743950287, + "narHash": "sha256-/6IAEWyb8gC/NKZElxiHChkouiUOrVYNq9YqG0Pzm4Y=", "owner": "hyprwm", - "repo": "hyprlang", - "rev": "a2f39421144d42541c057be235154ce21b76c0f6", + "repo": "hyprutils", + "rev": "f2dc70e448b994cef627a157ee340135bd68fbc6", "type": "github" }, "original": { "owner": "hyprwm", - "repo": "hyprlang", + "repo": "hyprutils", + "type": "github" + } + }, + "hyprwayland-scanner": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1750371869, + "narHash": "sha256-lGk4gLjgZQ/rndUkzmPYcgbHr8gKU5u71vyrjnwfpB4=", + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "rev": "aa38edd6e3e277ae6a97ea83a69261a5c3aab9fd", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "type": "github" + } + }, + "hyprwayland-scanner_2": { + "inputs": { + "nixpkgs": [ + "xremap", + "hyprland", + "nixpkgs" + ], + "systems": [ + "xremap", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1739870480, + "narHash": "sha256-SiDN5BGxa/1hAsqhgJsS03C3t2QrLgBT8u+ENJ0Qzwc=", + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "rev": "206367a08dc5ac4ba7ad31bdca391d098082e64b", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprwayland-scanner", "type": "github" } }, "nixpkgs": { "locked": { - "lastModified": 1712439257, - "narHash": "sha256-aSpiNepFOMk9932HOax0XwNxbA38GOUVOiXfUVPOrck=", + "lastModified": 1750365781, + "narHash": "sha256-XE/lFNhz5lsriMm/yjXkvSZz5DfvKJLUjsS6pP8EC50=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ff0dbd94265ac470dda06a657d5fe49de93b4599", + "rev": "08f22084e6085d19bcfb4be30d1ca76ecb96fe54", "type": "github" }, "original": { @@ -386,61 +795,42 @@ }, "nixpkgs-lib": { "locked": { - "dir": "lib", - "lastModified": 1709237383, - "narHash": "sha256-cy6ArO4k5qTx+l5o+0mL9f5fa86tYUX3ozE1S+Txlds=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "1536926ef5621b09bba54035ae2bb6d806d72ac8", + "lastModified": 1743296961, + "narHash": "sha256-b1EdN3cULCqtorQ4QeWgLMrd5ZGOjLSLemfa00heasc=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "e4822aea2a6d1cdd36653c134cacfd64c97ff4fa", "type": "github" }, "original": { - "dir": "lib", - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-stable": { - "locked": { - "lastModified": 1713042715, - "narHash": "sha256-RifMwYuKu5v6x6O65msKDTqKkQ9crGwOB7yr20qMEuE=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "c27f3b6d8e29346af16eecc0e9d54b1071eae27e", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "release-23.11", - "repo": "nixpkgs", + "owner": "nix-community", + "repo": "nixpkgs.lib", "type": "github" } }, "nixpkgs_2": { "locked": { - "lastModified": 1712741485, - "narHash": "sha256-bCs0+MSTra80oXAsnM6Oq62WsirOIaijQ/BbUY59tR4=", + "lastModified": 1750622754, + "narHash": "sha256-kMhs+YzV4vPGfuTpD3mwzibWUE6jotw5Al2wczI0Pv8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b2cf36f43f9ef2ded5711b30b1f393ac423d8f72", + "rev": "c7ab75210cb8cb16ddd8f290755d9558edde7ee1", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-23.11", + "ref": "nixos-25.05", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_3": { "locked": { - "lastModified": 1712883908, - "narHash": "sha256-icE1IJE9fHcbDfJ0+qWoDdcBXUoZCcIJxME4lMHwvSM=", + "lastModified": 1744868846, + "narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a0c9e3aee1000ac2bfb0e5b98c94c946a5d180a9", + "rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c", "type": "github" }, "original": { @@ -452,11 +842,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1704161960, - "narHash": "sha256-QGua89Pmq+FBAro8NriTuoO/wNaUtugt29/qqA8zeeM=", + "lastModified": 1722073938, + "narHash": "sha256-OpX0StkL8vpXyWOGUD6G+MA26wAXK6SpT94kLJXo6B4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "63143ac2c9186be6d9da6035fa22620018c85932", + "rev": "e36e9f57337d0ff0cf77aceb58af4c805472bfae", "type": "github" }, "original": { @@ -468,11 +858,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1710806803, - "narHash": "sha256-qrxvLS888pNJFwJdK+hf1wpRCSQcqA6W5+Ox202NDa0=", + "lastModified": 1745526057, + "narHash": "sha256-ITSpPDwvLBZBnPRS2bUcHY3gZSwis/uTe255QgMtTLA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b06025f1533a1e07b6db3e75151caa155d1c7eb3", + "rev": "f771eb401a46846c1aebd20552521b233dd7e18b", "type": "github" }, "original": { @@ -484,11 +874,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1711001935, - "narHash": "sha256-URtGpHue7HHZK0mrHnSf8wJ6OmMKYSsoLmJybrOLFSQ=", + "lastModified": 1744932701, + "narHash": "sha256-fusHbZCyv126cyArUwwKrLdCkgVAIaa/fQJYFlCEqiU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "20f77aa09916374aa3141cbc605c955626762c9a", + "rev": "b024ced1aac25639f8ca8fdfc2f8c4fbd66c48ef", "type": "github" }, "original": { @@ -500,11 +890,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1711401922, - "narHash": "sha256-QoQqXoj8ClGo0sqD/qWKFWezgEwUL0SUh37/vY2jNhc=", + "lastModified": 1745377448, + "narHash": "sha256-jhZDfXVKdD7TSEGgzFJQvEEZ2K65UMiqW5YJ2aIqxMA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "07262b18b97000d16a4bdb003418bd2fb067a932", + "rev": "507b63021ada5fee621b6ca371c4fca9ca46f52c", "type": "github" }, "original": { @@ -514,9 +904,71 @@ "type": "github" } }, + "nixpkgs_8": { + "locked": { + "lastModified": 1735554305, + "narHash": "sha256-zExSA1i/b+1NMRhGGLtNfFGXgLtgo+dcuzHzaWA6w3Q=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "0e82ab234249d8eee3e8c91437802b32c74bb3fd", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "pre-commit-hooks": { + "inputs": { + "flake-compat": "flake-compat", + "gitignore": "gitignore", + "nixpkgs": [ + "hyprland", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1749636823, + "narHash": "sha256-WUaIlOlPLyPgz9be7fqWJA5iG6rHcGRtLERSCfUDne4=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "623c56286de5a3193aa38891a6991b28f9bab056", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, + "pre-commit-hooks_2": { + "inputs": { + "flake-compat": "flake-compat_2", + "gitignore": "gitignore_2", + "nixpkgs": [ + "xremap", + "hyprland", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1742649964, + "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, "root": { "inputs": { - "disko": "disko", "home-manager": "home-manager", "hyprland": "hyprland", "nixpkgs": "nixpkgs_2", @@ -526,15 +978,14 @@ }, "sops-nix": { "inputs": { - "nixpkgs": "nixpkgs_3", - "nixpkgs-stable": "nixpkgs-stable" + "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1713066950, - "narHash": "sha256-ZaefFyvt5369XdjzSw43NhfbPM9MN5b9YXhzx4lFIRc=", + "lastModified": 1750119275, + "narHash": "sha256-Rr7Pooz9zQbhdVxux16h7URa6mA80Pb/G07T4lHvh0M=", "owner": "Mic92", "repo": "sops-nix", - "rev": "226062b47fe0e2130ba3ee9f4f1c880dc815cf87", + "rev": "77c423a03b9b2b79709ea2cb63336312e78b72e2", "type": "github" }, "original": { @@ -559,21 +1010,6 @@ } }, "systems_2": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_3": { "locked": { "lastModified": 1689347949, "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", @@ -588,57 +1024,24 @@ "type": "github" } }, - "systems_4": { + "treefmt-nix": { + "inputs": { + "nixpkgs": "nixpkgs_8" + }, "locked": { - "lastModified": 1689347949, - "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", - "owner": "nix-systems", - "repo": "default-linux", - "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "lastModified": 1745780832, + "narHash": "sha256-jGzkZoJWx+nJnPe0Z2xQBUOqMKuR1slVFQrMjFTKgeM=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "b2b6c027d708fbf4b01c9c11f6e80f2800b5a624", "type": "github" }, "original": { - "owner": "nix-systems", - "repo": "default-linux", + "owner": "numtide", + "repo": "treefmt-nix", "type": "github" } }, - "wlroots": { - "flake": false, - "locked": { - "lastModified": 1712935342, - "narHash": "sha256-zzIbTFNFd/as42jyGx23fil2uBDYYv+8GA5JmRq5y9c=", - "owner": "hyprwm", - "repo": "wlroots-hyprland", - "rev": "62eeffbe233d199f520a5755c344e85f8eab7940", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "wlroots-hyprland", - "rev": "62eeffbe233d199f520a5755c344e85f8eab7940", - "type": "github" - } - }, - "wlroots_2": { - "flake": false, - "locked": { - "host": "gitlab.freedesktop.org", - "lastModified": 1709983277, - "narHash": "sha256-wXWIJLd4F2JZeMaihWVDW/yYXCLEC8OpeNJZg9a9ly8=", - "owner": "wlroots", - "repo": "wlroots", - "rev": "50eae512d9cecbf0b3b1898bb1f0b40fa05fe19b", - "type": "gitlab" - }, - "original": { - "host": "gitlab.freedesktop.org", - "owner": "wlroots", - "repo": "wlroots", - "rev": "50eae512d9cecbf0b3b1898bb1f0b40fa05fe19b", - "type": "gitlab" - } - }, "xdph": { "inputs": { "hyprland-protocols": [ @@ -649,6 +1052,14 @@ "hyprland", "hyprlang" ], + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "hyprwayland-scanner": [ + "hyprland", + "hyprwayland-scanner" + ], "nixpkgs": [ "hyprland", "nixpkgs" @@ -659,11 +1070,11 @@ ] }, "locked": { - "lastModified": 1709299639, - "narHash": "sha256-jYqJM5khksLIbqSxCLUUcqEgI+O2LdlSlcMEBs39CAU=", + "lastModified": 1750372504, + "narHash": "sha256-VBeZb1oqZM1cqCAZnFz/WyYhO8aF/ImagI7WWg/Z3Og=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "2d2fb547178ec025da643db57d40a971507b82fe", + "rev": "400308fc4f9d12e0a93e483c2e7a649e12af1a92", "type": "github" }, "original": { @@ -684,6 +1095,16 @@ "hyprland", "hyprlang" ], + "hyprutils": [ + "xremap", + "hyprland", + "hyprutils" + ], + "hyprwayland-scanner": [ + "xremap", + "hyprland", + "hyprwayland-scanner" + ], "nixpkgs": [ "xremap", "hyprland", @@ -696,11 +1117,11 @@ ] }, "locked": { - "lastModified": 1709299639, - "narHash": "sha256-jYqJM5khksLIbqSxCLUUcqEgI+O2LdlSlcMEBs39CAU=", + "lastModified": 1744644585, + "narHash": "sha256-p0D/e4J6Sv6GSb+9u8OQcVHSE2gPNYB5ygIfGDyEiXQ=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "2d2fb547178ec025da643db57d40a971507b82fe", + "rev": "be6771e754345f18244fb00aae5c9e5ab21ccc26", "type": "github" }, "original": { @@ -717,14 +1138,15 @@ "home-manager": "home-manager_2", "hyprland": "hyprland_2", "nixpkgs": "nixpkgs_7", + "treefmt-nix": "treefmt-nix", "xremap": "xremap_2" }, "locked": { - "lastModified": 1712025160, - "narHash": "sha256-L96ZF1Z+OxAta5XPmazFajflppflYw/y588SBWVGjAw=", + "lastModified": 1745792661, + "narHash": "sha256-7cDEHdeRdpYD85QdOrXxz7nLEmp5JDRYI2BznUmuSGQ=", "owner": "xremap", "repo": "nix-flake", - "rev": "38c9a3c4264750f77151369f34590db259454df3", + "rev": "1924f2dc1a7c219b5323050a7fb27920e3a225d4", "type": "github" }, "original": { @@ -736,16 +1158,16 @@ "xremap_2": { "flake": false, "locked": { - "lastModified": 1711574442, - "narHash": "sha256-RR8SgnlQX8Gz9qwO/wN5NvFWsEQ/vvNdmOxxFojri90=", + "lastModified": 1745685144, + "narHash": "sha256-z9QgiwG4muKYc1N9ycjs9r9QXB8JvzTdkCxu2c3mB9o=", "owner": "k0kubun", "repo": "xremap", - "rev": "53a6d0553d58b95777f066e4aeed05ec74c5eaed", + "rev": "929026e09dc12ef44be79b4ff392b6af073533b6", "type": "github" }, "original": { "owner": "k0kubun", - "ref": "v0.8.18", + "ref": "v0.10.11", "repo": "xremap", "type": "github" } diff --git a/flake.nix b/flake.nix index ee35626..aa5af54 100644 --- a/flake.nix +++ b/flake.nix @@ -2,18 +2,14 @@ description = "Nixos config flake"; inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05"; home-manager = { - url = "github:nix-community/home-manager/release-23.11"; + url = "github:nix-community/home-manager/release-25.05"; inputs.nixpkgs.follows = "nixpkgs"; }; sops-nix.url = "github:Mic92/sops-nix"; xremap.url = "github:xremap/nix-flake"; hyprland.url = "github:hyprwm/Hyprland"; - disko = { - url = "github:nix-community/disko"; - inputs.nixpkgs.follows = "nixpkgs"; - }; }; outputs = { self, nixpkgs, ... }@inputs: { diff --git a/hosts/.katana.nix.swp b/hosts/.katana.nix.swp new file mode 100644 index 0000000000000000000000000000000000000000..9dc1dd92ec2b48dfe5dacdab8d97bd4716f48d98 GIT binary patch literal 12288 zcmeHNU1%gp9sk|VOlC5ZNzS_mKR~IQQCB5B$t2lL;<^vn&15g$=EHofcpt=??wXlm zda9c0>SU5-6%>T^L3}v5dyw-4^~Li|JZ`;*Ll8j`)CWBk?*viQ1vwD$;1r~~dwR0j zH7AEJ2mO1~=q_6#{F4a`fn&AC6QI#S^inoG5x2%OSW@qZt=JjgjA@bk@yKhBO ziWDhQq)3q>MT!(D-lovrefTVZGqL?o#-I0{_)L)^MT!(DQlv# z09P{6|NjTS|GzQ;{B8pH?F4XZ0{G4Z@XQ3zngB*8fPanyKNtu6ap2SAz}0c!z2m?G zS~%@bxV4`7E%U1>Thf{*(cJlL3B`0d8f0=Q6-oGr&_B;K>Z| z#S9Q+fQ=0B@eHt{xmmQL7 zv<`JC+Ga#c(xbvW85V1%MH5vaJyOMltqwgSJ)t_hO{$LYi7RC{7`lJtcM_hCmO}zN z8j9A6v4l%{O!&T=tQGg#iVa`%y6yPeNeN3w_Lvpft&&Z_loRGL*=f1~>(QajW_^@U z+a6V#nKT}Ybj?5XHS28-E8&3ajLc3#j+gcGR-XMI!sx* zLj{?4Duc>#s19qZa==*EJxum#pkgE*Q3HAEthtgfA(x-b(J&(ZMrPpCWhk}H;7qjFQ5dIagb(O;_SPdrbAX*34NI zKC=VGj-}Q#xdC-ud9W*5ikYYlQxJV8E>45seNzSTs!C!xWG!qTb}a(huyG|V&cx_dlBsp zv%6btpDCYhQr$5oyHffrE`kp6_$+V=I3G1{M zdK!HjwQ_+}$uetk!N{QuRLCM|kC}3f6>%}>*6Khi7i}Cnzi-4X?=VyQ#(~}4)#Zz< zK0WWuFF2O7I6G&}EzT}l3k!>mRbMziJy)NeovAzLVkb?n_y^Qm4kd))I~L`ZzjNq? za`#&_N(wotY-Re=vbEBfp9v+JvwS-|bo^Rnswt(egz+0@ZYY!W^;~Sm2?yrs;yiPl z1GahtUm7eoZ=od&jUH6j_%k!Q6-*RbQpM-?O;T%&iQVl4`x1 zI~n?PpK{k6HjmsbvEQ-zo@et4snAaNA@+N$LMnmZ+%u-qwpsbkUQarSRxY?!PEx*! z5v;{)HWfQEuse+wzho?%-G^i6@FZ42&zOlMHpk6lTy!Vbn8WGhwzRu!PhA@T< zP8U**c6}0fVV2{0MJ~Ak(^Be=IU%(&cM?UU2wjT%>&|nERO1bw_<`q1rNbL&A}4&w z98{6i!M(@!f?8M>wZJo%r!{UXX-miS*PVBp=%lW7sB#XdVsY@dn8SUocr(x@T`OGm z3^htdWZ{2dxl6$y%>xZd<{pk!nyCoi88*zM TablAA%xz7QTCGNId=&oyjEq2; literal 0 HcmV?d00001 diff --git a/hosts/katana.nix b/hosts/katana.nix index d1676b5..92fff67 100644 --- a/hosts/katana.nix +++ b/hosts/katana.nix @@ -6,7 +6,6 @@ hardware = { enableRedistributableFirmware = lib.mkDefault true; cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; - pulseaudio.enable = false; bluetooth = { enable = true; # enables support for Bluetooth powerOnBoot = true; # powers up the default Bluetooth controller on boot @@ -34,18 +33,21 @@ readOnlyNixStore = true; }; - fileSystems = { - "/" = { - device = "/dev/disk/by-uuid/55c746b3-b9dc-4c9b-ab56-de68a561f9a3"; - fsType = "ext4"; - }; - "/boot" = { - device = "/dev/disk/by-uuid/0C59-9996"; - fsType = "vfat"; - }; + fileSystems."/" = { + device = "UUID=7a97edd8-c5a9-4354-a461-24c0f311e61b"; + fsType = "ext4"; }; - swapDevices = [ ]; + fileSystems."/boot" = { + device = "UUID=F0BD-FE72"; + fsType = "vfat"; + }; + + swapDevices = [ + { + device = "UUID=e107d78d-d934-4939-889d-1860410321d5"; + } + ]; # Networking networking = { @@ -58,8 +60,6 @@ }; }; - # Sound - sound.enable = true; # Localization time.timeZone = "America/Detroit"; @@ -81,10 +81,13 @@ # Services. services = { blueman.enable = true; + pulseaudio.enable = false; printing.enable = true; xserver = { - layout = "us"; - xkbVariant = ""; + xkb = { + layout = "us"; + variant = ""; + }; }; }; @@ -100,8 +103,6 @@ }; nix = { - # Sets flakes to unstable track instead of stable # - package = pkgs.nixUnstable; # or versioned attributes like nix_2_4 # Enable flakes and nix-command extraOptions = ''experimental-features = nix-command flakes''; # Auto maintainence @@ -136,13 +137,12 @@ bottom felix-fm zulip - vscode discord - obsidian ]; # Fonts - fonts.packages = with pkgs; [ - (nerdfonts.override { fonts = [ "SourceCodePro" "DroidSansMono" ]; }) + fonts.packages = [ + pkgs.nerd-fonts.droid-sans-mono ]; + } diff --git a/modules/home-manager/helix.nix b/modules/home-manager/helix.nix deleted file mode 100644 index 671e0e9..0000000 --- a/modules/home-manager/helix.nix +++ /dev/null @@ -1,146 +0,0 @@ -{ pkgs, config, lib, ...}: -{ - options.speccon18.hm.helix.enable = lib.mkEnableOption "enables specs custom helix configuration"; - config = lib.mkIf config.speccon18.hm.helix.enable { - home.packages = with pkgs; [ - nodePackages_latest.yaml-language-server - nodePackages_latest.bash-language-server - nodePackages_latest.vscode-langservers-extracted - nodePackages_latest.dockerfile-language-server-nodejs - nodePackages_latest.typescript - nodePackages_latest.typescript-language-server - nodePackages_latest.svelte-language-server - nodePackages_latest.vls - python311Packages.python-lsp-server - # rnix-lsp is archived need to update to fix CVE-2024-27297 - rust-analyzer - taplo - ]; - programs.helix = { - enable = true; - settings = { - theme = "monokai_pro_octagon"; - editor = { - line-number = "relative"; - shell = ["zsh" "-c"]; - completion-trigger-len = 0; - scroll-lines = 1; - scrolloff = 5; - cursorline = true; - cursor-shape = { - normal = "block"; - insert = "bar"; - select = "underline"; - }; - color-modes = true; - indent-guides.render = true; - file-picker.hidden = false; - auto-pairs = true; - lsp = { - enable = true; - display-messages = true; - auto-signature-help = true; - display-signature-help-docs = true; - snippets = true; - goto-reference-include-declaration = true; - }; - statusline = { - mode = { - normal = "NORMAL"; - insert = "INSERT"; - select = "SELECT"; - }; - left = [ "mode" "separator" "spinner" "separator" "file-name" ]; - right = [ "diagnostics" "position" "file-encoding" ]; - }; - }; - - }; - themes = { - monokai_pro_octagon = let - red = "#ff657a"; - orange = "#ff9b5e"; - yellow = "#ffd76d"; - green = "#bad761"; - blue = "#9cd1bb"; - purple = "#c39ac9"; - base0 = "#161821"; - base1 = "#1e1f2b"; - base2 = "#282a3a"; - base3 = "#3a3d4b"; - base4 = "#535763"; - base5 = "#696d77"; - base6 = "#767b81"; - base7 = "#b2b9bd"; - base8 = "#eaf2f1"; - base8x0c = "#303342"; - in { - "ui.linenr.selected" = { bg = base3; }; - "ui.text.focus" = { fg = yellow; modifiers = ["bold"]; }; - "ui.menu" = { fg = base8; bg = base3; }; - "ui.menu.selected" = { fg = base2; bg = yellow; }; - "ui.virtual.whitespace" = base5; - "ui.virtual.ruler" = { bg = base1; }; - "info" = base8; - "hint" = base8; - "ui.background" = {}; - "ui.statusline.inactive" = { fg = base8; bg = base8x0c; }; - "ui.statusline" = { fg = base8; bg = base4; }; - "ui.statusline.normal" = { fg = base4; bg = blue; }; - "ui.statusline.insert" = { fg = base4; bg = green; }; - "ui.statusline.select" = { fg = base4; bg = purple; }; - "ui.popup" = { bg = base3; }; - "ui.window" = { bg = base3; }; - "ui.help" = { fg = base8; bg = base3; }; - "ui.selection" = { bg = base4; }; - "ui.cursor.match" = { bg = base4; }; - "ui.cursorline" = { bg = base1; }; - "comment" = { fg = base5; modifiers = ["italic"]; }; - "ui.linenr" = { fg = base5; }; - "ui.cursor.primary" = { fg = base7; modifiers = ["reversed"]; }; - "attribute" = blue; - "variable" = base8; - "constant" = orange; - "variable.builtin" = red; - "constant.builtin" = red; - "namespace" = base8; - "ui.text" = { fg = base8; }; - "punctuation" = base6; - "type" = green; - "type.builtin" = { fg = red; }; - "label" = base8; - "constructor" = blue; - "function" = green; - "function.macro" = { fg = blue; }; - "function.builtin" = { fg = "cyan"; }; - "operator" = red; - "variable.other.member" = base8; - "keyword" = { fg = red; }; - "keyword.directive" = blue; - "variable.parameter" = "#f59762"; - "error" = red; - "special" = "#f59762"; - "module" = "#f59762"; - "warning" = "orange"; - "constant.character.escape" = { fg = base8; }; - "string" = yellow; - "constant.numeric" = purple; - "diff.plus" = green; - "diff.delta" = "orange"; - "diff.minus" = red; - "diagnostic.warning" = { underline = { color = "orange"; style = "curl"; }; }; - "diagnostic.error" = { underline = { color = red; style = "curl"; }; }; - "diagnostic.info" = { underline = { color = base8; style = "curl"; }; }; - "diagnostic.hint" = { underline = { color = base8; style = "curl"; }; }; - "markup.heading" = green; - "markup.bold" = { fg = "orange"; modifiers = ["bold"]; }; - "markup.italic" = { fg = "orange"; modifiers = ["italic"]; }; - "markup.strikethrough" = { modifiers = ["crossed_out"]; }; - "markup.link.url" = { fg = "orange"; modifiers = ["underlined"]; }; - "markup.link.text" = yellow; - "markup.quote" = green; - }; - }; - }; - }; -} diff --git a/modules/home-manager/home.nix b/modules/home-manager/home.nix index ebfb12c..ebb9643 100644 --- a/modules/home-manager/home.nix +++ b/modules/home-manager/home.nix @@ -4,7 +4,6 @@ ./alacritty.nix ./direnv.nix ./git.nix - ./helix.nix ./ncspot.nix ./starship.nix ./syncthing.nix @@ -16,7 +15,6 @@ speccon18.hm.alacritty.enable = true; speccon18.hm.direnv.enable = true; speccon18.hm.git.enable = true; - speccon18.hm.helix.enable = true; speccon18.hm.ncspot.enable = false; speccon18.hm.starship.enable = true; speccon18.hm.syncthing.enable = true; diff --git a/modules/home-manager/zsh.nix b/modules/home-manager/zsh.nix index ecd684b..ab47217 100644 --- a/modules/home-manager/zsh.nix +++ b/modules/home-manager/zsh.nix @@ -9,7 +9,7 @@ path = "$ZDOTDIR/.zsh_history"; save = 10000000; }; - enableAutosuggestions = lib.mkDefault true; + autosuggestion.enable = lib.mkDefault true; enableCompletion = lib.mkDefault true; syntaxHighlighting.enable = lib.mkDefault true; shellAliases = { diff --git a/search_string.sh b/search_string.sh new file mode 100755 index 0000000..1a80807 --- /dev/null +++ b/search_string.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +# Check for correct number of arguments +if [ "$#" -ne 2 ]; then + echo "Usage: $0 " + exit 1 +fi + +directory="$1" +search_string="$2" + +# Check if the provided directory exists +if [ ! -d "$directory" ]; then + echo "Error: Directory '$directory' does not exist." + exit 2 +fi + +# Recursively search all files in the directory for the search string +grep -rnw "$directory" -e "$search_string" + From ffe439bf0ab5f78414549df4f2366429d3e7c869 Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Tue, 24 Jun 2025 15:14:46 -0400 Subject: [PATCH 216/233] patching for migration to 25.05 --- search_string.sh | 20 -------------------- 1 file changed, 20 deletions(-) delete mode 100755 search_string.sh diff --git a/search_string.sh b/search_string.sh deleted file mode 100755 index 1a80807..0000000 --- a/search_string.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash - -# Check for correct number of arguments -if [ "$#" -ne 2 ]; then - echo "Usage: $0 " - exit 1 -fi - -directory="$1" -search_string="$2" - -# Check if the provided directory exists -if [ ! -d "$directory" ]; then - echo "Error: Directory '$directory' does not exist." - exit 2 -fi - -# Recursively search all files in the directory for the search string -grep -rnw "$directory" -e "$search_string" - From 7879535509a7d658a564a004043b44fbd3d041a5 Mon Sep 17 00:00:00 2001 From: Steven Carpenter Date: Tue, 24 Jun 2025 15:28:30 -0400 Subject: [PATCH 217/233] fixed UUID defs for disks --- hosts/.katana.nix.swp | Bin 12288 -> 0 bytes hosts/katana.nix | 7 +++---- 2 files changed, 3 insertions(+), 4 deletions(-) delete mode 100644 hosts/.katana.nix.swp diff --git a/hosts/.katana.nix.swp b/hosts/.katana.nix.swp deleted file mode 100644 index 9dc1dd92ec2b48dfe5dacdab8d97bd4716f48d98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeHNU1%gp9sk|VOlC5ZNzS_mKR~IQQCB5B$t2lL;<^vn&15g$=EHofcpt=??wXlm zda9c0>SU5-6%>T^L3}v5dyw-4^~Li|JZ`;*Ll8j`)CWBk?*viQ1vwD$;1r~~dwR0j zH7AEJ2mO1~=q_6#{F4a`fn&AC6QI#S^inoG5x2%OSW@qZt=JjgjA@bk@yKhBO ziWDhQq)3q>MT!(D-lovrefTVZGqL?o#-I0{_)L)^MT!(DQlv# z09P{6|NjTS|GzQ;{B8pH?F4XZ0{G4Z@XQ3zngB*8fPanyKNtu6ap2SAz}0c!z2m?G zS~%@bxV4`7E%U1>Thf{*(cJlL3B`0d8f0=Q6-oGr&_B;K>Z| z#S9Q+fQ=0B@eHt{xmmQL7 zv<`JC+Ga#c(xbvW85V1%MH5vaJyOMltqwgSJ)t_hO{$LYi7RC{7`lJtcM_hCmO}zN z8j9A6v4l%{O!&T=tQGg#iVa`%y6yPeNeN3w_Lvpft&&Z_loRGL*=f1~>(QajW_^@U z+a6V#nKT}Ybj?5XHS28-E8&3ajLc3#j+gcGR-XMI!sx* zLj{?4Duc>#s19qZa==*EJxum#pkgE*Q3HAEthtgfA(x-b(J&(ZMrPpCWhk}H;7qjFQ5dIagb(O;_SPdrbAX*34NI zKC=VGj-}Q#xdC-ud9W*5ikYYlQxJV8E>45seNzSTs!C!xWG!qTb}a(huyG|V&cx_dlBsp zv%6btpDCYhQr$5oyHffrE`kp6_$+V=I3G1{M zdK!HjwQ_+}$uetk!N{QuRLCM|kC}3f6>%}>*6Khi7i}Cnzi-4X?=VyQ#(~}4)#Zz< zK0WWuFF2O7I6G&}EzT}l3k!>mRbMziJy)NeovAzLVkb?n_y^Qm4kd))I~L`ZzjNq? za`#&_N(wotY-Re=vbEBfp9v+JvwS-|bo^Rnswt(egz+0@ZYY!W^;~Sm2?yrs;yiPl z1GahtUm7eoZ=od&jUH6j_%k!Q6-*RbQpM-?O;T%&iQVl4`x1 zI~n?PpK{k6HjmsbvEQ-zo@et4snAaNA@+N$LMnmZ+%u-qwpsbkUQarSRxY?!PEx*! z5v;{)HWfQEuse+wzho?%-G^i6@FZ42&zOlMHpk6lTy!Vbn8WGhwzRu!PhA@T< zP8U**c6}0fVV2{0MJ~Ak(^Be=IU%(&cM?UU2wjT%>&|nERO1bw_<`q1rNbL&A}4&w z98{6i!M(@!f?8M>wZJo%r!{UXX-miS*PVBp=%lW7sB#XdVsY@dn8SUocr(x@T`OGm z3^htdWZ{2dxl6$y%>xZd<{pk!nyCoi88*zM TablAA%xz7QTCGNId=&oyjEq2; diff --git a/hosts/katana.nix b/hosts/katana.nix index 92fff67..554c86f 100644 --- a/hosts/katana.nix +++ b/hosts/katana.nix @@ -34,18 +34,18 @@ }; fileSystems."/" = { - device = "UUID=7a97edd8-c5a9-4354-a461-24c0f311e61b"; + device = "/dev/disk/by-uuid/7a97edd8-c5a9-4354-a461-24c0f311e61b"; fsType = "ext4"; }; fileSystems."/boot" = { - device = "UUID=F0BD-FE72"; + device = "/dev/disk/by-uuid/F0BD-FE72"; fsType = "vfat"; }; swapDevices = [ { - device = "UUID=e107d78d-d934-4939-889d-1860410321d5"; + device = "/dev/disk/by-uuid/e107d78d-d934-4939-889d-1860410321d5"; } ]; @@ -119,7 +119,6 @@ gparted bluez blueman - nerdfonts home-manager pkg-config ripgrep From dff707981db44d008d2331bf04a565c90e2a09a8 Mon Sep 17 00:00:00 2001 From: steven carpenter Date: Tue, 24 Jun 2025 16:49:07 -0400 Subject: [PATCH 218/233] updated alacritty config to bring inline with new standards --- hosts/katana.nix | 1 + modules/home-manager/alacritty.nix | 22 ---------------------- 2 files changed, 1 insertion(+), 22 deletions(-) diff --git a/hosts/katana.nix b/hosts/katana.nix index 554c86f..aa60170 100644 --- a/hosts/katana.nix +++ b/hosts/katana.nix @@ -137,6 +137,7 @@ felix-fm zulip discord + neovim ]; # Fonts diff --git a/modules/home-manager/alacritty.nix b/modules/home-manager/alacritty.nix index e9733f5..d582ce5 100644 --- a/modules/home-manager/alacritty.nix +++ b/modules/home-manager/alacritty.nix @@ -6,13 +6,6 @@ programs.alacritty = { enable = true; settings = { - cursor = { - style = { - shape = "Beam"; - blinking = "On"; - blink_interval = 75; - }; - }; window = { dimensions = { columns = 120; @@ -22,21 +15,6 @@ opacity = 1.0; title = "Alacritty"; }; - font = { - normal = { - family = "SauceCodePro Nerd Font"; - style = "Regular"; - }; - bold = { - family = "SauceCodePro Nerd Font"; - style = "Bold"; - }; - italic = { - family = "SauceCodePro Nerd Font"; - style = "Italic"; - }; - size = 14; - }; colors = { primary = { background = "#1d1f21"; From ce3d8226a76331752035a9617bf608c4b63377e1 Mon Sep 17 00:00:00 2001 From: steven carpenter Date: Tue, 24 Jun 2025 18:14:40 -0400 Subject: [PATCH 219/233] added libation finished configuring budgie --- hosts/katana.nix | 3 ++- modules/home-manager/home.nix | 9 +++------ modules/system/desktop-environments/budgie.nix | 7 +++++++ 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/hosts/katana.nix b/hosts/katana.nix index aa60170..4083813 100644 --- a/hosts/katana.nix +++ b/hosts/katana.nix @@ -135,9 +135,10 @@ gcc bottom felix-fm - zulip discord neovim + brave + libation ]; # Fonts diff --git a/modules/home-manager/home.nix b/modules/home-manager/home.nix index ebb9643..a75c369 100644 --- a/modules/home-manager/home.nix +++ b/modules/home-manager/home.nix @@ -17,10 +17,10 @@ speccon18.hm.git.enable = true; speccon18.hm.ncspot.enable = false; speccon18.hm.starship.enable = true; - speccon18.hm.syncthing.enable = true; + speccon18.hm.syncthing.enable = false; speccon18.hm.waybar.enable = false; - speccon18.hm.zellij.enable = true; - speccon18.hm.zoxide.enable = true; + speccon18.hm.zellij.enable = false; + speccon18.hm.zoxide.enable = false; speccon18.hm.zsh.enable = true; # Home Manager needs a bit of information about you and the paths it should @@ -40,12 +40,9 @@ # The home.packages option allows you to install Nix packages into your # environment. packages = with pkgs; [ - freecad calibre bitwarden - firefox gimp - neofetch vlc # # Adds the 'hello' command to your environment. It prints a friendly # # "Hello, world!" when run. diff --git a/modules/system/desktop-environments/budgie.nix b/modules/system/desktop-environments/budgie.nix index 1547756..2f928a5 100644 --- a/modules/system/desktop-environments/budgie.nix +++ b/modules/system/desktop-environments/budgie.nix @@ -11,5 +11,12 @@ in { desktopManager.budgie.enable = true; displayManager.lightdm.enable = true; }; + environment.budgie.excludePackages = with pkgs; [ + mate.mate-terminal + mate.pluma + mate.atril + mate.eom + mate.engrampa + ]; }; } From a911a95162e563b7b61e81b69d1caa8dcbbda96e Mon Sep 17 00:00:00 2001 From: steven carpenter Date: Wed, 25 Jun 2025 01:20:19 -0400 Subject: [PATCH 220/233] added atuin --- modules/home-manager/home.nix | 1 + modules/home-manager/zsh.nix | 49 +++++++++++++++++++++-------------- 2 files changed, 31 insertions(+), 19 deletions(-) diff --git a/modules/home-manager/home.nix b/modules/home-manager/home.nix index a75c369..62408ce 100644 --- a/modules/home-manager/home.nix +++ b/modules/home-manager/home.nix @@ -44,6 +44,7 @@ bitwarden gimp vlc + atuin # # Adds the 'hello' command to your environment. It prints a friendly # # "Hello, world!" when run. # pkgs.hello diff --git a/modules/home-manager/zsh.nix b/modules/home-manager/zsh.nix index ab47217..b460940 100644 --- a/modules/home-manager/zsh.nix +++ b/modules/home-manager/zsh.nix @@ -1,26 +1,37 @@ -{ pkgs, config, lib, ...}: +{ pkgs, config, lib, ... }: { options.speccon18.hm.zsh.enable = lib.mkEnableOption "enables specs zsh config"; + config = lib.mkIf config.speccon18.hm.zsh.enable { programs.zsh = { - enable = lib.mkDefault true; - dotDir = ".config/zsh"; - history = { - path = "$ZDOTDIR/.zsh_history"; - save = 10000000; - }; - autosuggestion.enable = lib.mkDefault true; - enableCompletion = lib.mkDefault true; - syntaxHighlighting.enable = lib.mkDefault true; - shellAliases = { - ls = "eza -l"; - lsa = "eza -al"; - grep = "rg"; - osrb = "sudo nixos-rebuild $1 --flake ~/code/nixos-config/#katana"; - }; - localVariables = { - EDITOR="hx"; - }; + enable = lib.mkDefault true; + dotDir = ".config/zsh"; + + history = { + path = "$ZDOTDIR/.zsh_history"; + save = 10000000; + }; + + autosuggestion.enable = lib.mkDefault true; + enableCompletion = lib.mkDefault true; + syntaxHighlighting.enable = lib.mkDefault true; + + shellAliases = { + ls = "eza -l"; + lsa = "eza -al"; + grep = "rg"; + osrb = "sudo nixos-rebuild $1 --flake ~/code/nixos-config/#katana"; + }; + + localVariables = { + EDITOR = "nvim"; + }; + + # This adds the atuin init line to your Zsh config + initExtra = '' + eval "$(atuin init zsh)" + ''; }; }; } + From 76ce0b002feb04446861aa4130a1d94b76f9b773 Mon Sep 17 00:00:00 2001 From: steven carpenter Date: Wed, 25 Jun 2025 02:58:42 -0400 Subject: [PATCH 221/233] added rio terminal --- modules/home-manager/home.nix | 6 +++++- modules/home-manager/rio.nix | 10 ++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 modules/home-manager/rio.nix diff --git a/modules/home-manager/home.nix b/modules/home-manager/home.nix index 62408ce..5bc5900 100644 --- a/modules/home-manager/home.nix +++ b/modules/home-manager/home.nix @@ -2,6 +2,7 @@ { imports = [ ./alacritty.nix + ./rio.nix ./direnv.nix ./git.nix ./ncspot.nix @@ -22,7 +23,8 @@ speccon18.hm.zellij.enable = false; speccon18.hm.zoxide.enable = false; speccon18.hm.zsh.enable = true; - + speccon18.hm.rio.enable = true; + # Home Manager needs a bit of information about you and the paths it should # manage. home = { @@ -45,6 +47,8 @@ gimp vlc atuin + rio + # # Adds the 'hello' command to your environment. It prints a friendly # # "Hello, world!" when run. # pkgs.hello diff --git a/modules/home-manager/rio.nix b/modules/home-manager/rio.nix new file mode 100644 index 0000000..adc05b2 --- /dev/null +++ b/modules/home-manager/rio.nix @@ -0,0 +1,10 @@ +{ config, lib, pkgs,... }: + +{ + options.speccon18.hm.rio.enable = lib.mkEnableOption "Enable Rio Term"; + config = lib.mkIf config.speccon18.hm.rio.enable { + programs.rio= { + enable = true; + }; + }; +} From 326fcd20118e4969765e54c65d11a1efd4587443 Mon Sep 17 00:00:00 2001 From: steven carpenter Date: Wed, 25 Jun 2025 03:01:05 -0400 Subject: [PATCH 222/233] disabled alacritty --- modules/home-manager/home.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/home-manager/home.nix b/modules/home-manager/home.nix index 5bc5900..4b4e375 100644 --- a/modules/home-manager/home.nix +++ b/modules/home-manager/home.nix @@ -13,7 +13,7 @@ ./zoxide.nix ./zsh.nix ]; - speccon18.hm.alacritty.enable = true; + speccon18.hm.alacritty.enable = false; speccon18.hm.direnv.enable = true; speccon18.hm.git.enable = true; speccon18.hm.ncspot.enable = false; From 25112eeb707be7a29bc78308b99597fbe1c48f2e Mon Sep 17 00:00:00 2001 From: steven carpenter Date: Wed, 25 Jun 2025 15:41:33 -0400 Subject: [PATCH 223/233] removed htop and unused insecure package allowence --- hosts/katana.nix | 4 ---- modules/home-manager/home.nix | 1 + 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/hosts/katana.nix b/hosts/katana.nix index 4083813..8cb3981 100644 --- a/hosts/katana.nix +++ b/hosts/katana.nix @@ -95,9 +95,6 @@ nixpkgs = { config = { allowUnfree = true; - permittedInsecurePackages = [ - "electron-25.9.0" - ]; }; hostPlatform = lib.mkDefault "x86_64-linux"; }; @@ -125,7 +122,6 @@ openssl tree eza - htop zsh dig #dns lookup rage #file encryption diff --git a/modules/home-manager/home.nix b/modules/home-manager/home.nix index 4b4e375..3314f55 100644 --- a/modules/home-manager/home.nix +++ b/modules/home-manager/home.nix @@ -48,6 +48,7 @@ vlc atuin rio + imgcat # # Adds the 'hello' command to your environment. It prints a friendly # # "Hello, world!" when run. From 28526185e44f28dd8847d0876d1af316601ebc22 Mon Sep 17 00:00:00 2001 From: steven carpenter Date: Wed, 25 Jun 2025 16:52:00 -0400 Subject: [PATCH 224/233] disabled rio enabled alacritty fixed initExtra deprication in zsh hm config --- modules/home-manager/home.nix | 8 ++++---- modules/home-manager/zsh.nix | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/home-manager/home.nix b/modules/home-manager/home.nix index 3314f55..e6e3abc 100644 --- a/modules/home-manager/home.nix +++ b/modules/home-manager/home.nix @@ -13,7 +13,7 @@ ./zoxide.nix ./zsh.nix ]; - speccon18.hm.alacritty.enable = false; + speccon18.hm.alacritty.enable = true; speccon18.hm.direnv.enable = true; speccon18.hm.git.enable = true; speccon18.hm.ncspot.enable = false; @@ -23,7 +23,7 @@ speccon18.hm.zellij.enable = false; speccon18.hm.zoxide.enable = false; speccon18.hm.zsh.enable = true; - speccon18.hm.rio.enable = true; + speccon18.hm.rio.enable = false; # Home Manager needs a bit of information about you and the paths it should # manage. @@ -47,8 +47,8 @@ gimp vlc atuin - rio - imgcat + #rio + #imgcat # # Adds the 'hello' command to your environment. It prints a friendly # # "Hello, world!" when run. diff --git a/modules/home-manager/zsh.nix b/modules/home-manager/zsh.nix index b460940..a2c9233 100644 --- a/modules/home-manager/zsh.nix +++ b/modules/home-manager/zsh.nix @@ -28,7 +28,7 @@ }; # This adds the atuin init line to your Zsh config - initExtra = '' + initContent = '' eval "$(atuin init zsh)" ''; }; From 3518473fd9c1201801642ffc4332627d04085c3c Mon Sep 17 00:00:00 2001 From: steven carpenter Date: Tue, 1 Jul 2025 00:32:28 -0400 Subject: [PATCH 225/233] updated packages --- hosts/katana.nix | 6 ++++++ http_cache.sqlite | Bin 0 -> 24576 bytes 2 files changed, 6 insertions(+) create mode 100644 http_cache.sqlite diff --git a/hosts/katana.nix b/hosts/katana.nix index 8cb3981..b2cfa5a 100644 --- a/hosts/katana.nix +++ b/hosts/katana.nix @@ -80,6 +80,7 @@ # Services. services = { + pcscd.enable = true; blueman.enable = true; pulseaudio.enable = false; printing.enable = true; @@ -135,6 +136,11 @@ neovim brave libation + libreoffice-qt6 + spotify + p7zip + yubioath-flutter + steam ]; # Fonts diff --git a/http_cache.sqlite b/http_cache.sqlite new file mode 100644 index 0000000000000000000000000000000000000000..3e328bf6e7661a55f90776493a9e29f6cc7b2d55 GIT binary patch literal 24576 zcmeI&&r1S96u|LWe-(j0ZXSKmMIi#|&{eG=B-64*^dy!OEScKw8g{Jzty_Okw_;^m zD=>&o%J*|v-rIRQvk&Gn>|S0p9N);z#JwB%a-ed`vQ$MxDHT^rrPNZ8Czh$QzQn7< z)&6rOoqbcuOh;u~*_X_FrjvPHRSp0E003Aoeqt+MC|FO2{@`k4Tr+fBbM1RkkUVPZ zs;$MY)*4!(+foz}xiybs>#i;5?fO}@-IG(@+Y1IB2BVpgTBB84q+;e%$2FeRo3=jD z?NT|J%Ikuqobk}iz59{loBm+tPZoJUTBTo(!c;S!%I_8|XHgQ)*LQ|<*Lc&(*fU-t zeA9aKSa&~H3@W76l&Gp0K3ejv?~RAEM1`>*jfdm^Z9MjS Date: Tue, 15 Jul 2025 02:25:51 -0400 Subject: [PATCH 226/233] cleaned up host config for katana --- hosts/katana.nix | 73 ++++++++++++++++++----------------- modules/home-manager/home.nix | 2 +- users/speccon18/default.nix | 2 +- 3 files changed, 40 insertions(+), 37 deletions(-) diff --git a/hosts/katana.nix b/hosts/katana.nix index b2cfa5a..86a620c 100644 --- a/hosts/katana.nix +++ b/hosts/katana.nix @@ -5,7 +5,7 @@ # Hardware hardware = { enableRedistributableFirmware = lib.mkDefault true; - cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; bluetooth = { enable = true; # enables support for Bluetooth powerOnBoot = true; # powers up the default Bluetooth controller on boot @@ -15,7 +15,7 @@ }; }; }; - }; + }; # Boot boot = { @@ -33,16 +33,16 @@ readOnlyNixStore = true; }; - fileSystems."/" = { - device = "/dev/disk/by-uuid/7a97edd8-c5a9-4354-a461-24c0f311e61b"; - fsType = "ext4"; + fileSystems = { + "/" = { + device = "/dev/disk/by-uuid/7a97edd8-c5a9-4354-a461-24c0f311e61b"; + fsType = "ext4"; + }; + "/boot" = { + device = "/dev/disk/by-uuid/F0BD-FE72"; + fsType = "vfat"; + }; }; - - fileSystems."/boot" = { - device = "/dev/disk/by-uuid/F0BD-FE72"; - fsType = "vfat"; - }; - swapDevices = [ { device = "/dev/disk/by-uuid/e107d78d-d934-4939-889d-1860410321d5"; @@ -78,7 +78,9 @@ }; }; - # Services. + programs.steam.enable = true; + + # Services services = { pcscd.enable = true; blueman.enable = true; @@ -114,35 +116,36 @@ }; environment.systemPackages = with pkgs; [ - gparted - bluez - blueman - home-manager - pkg-config - ripgrep - openssl - tree - eza - zsh + gparted # Drive Partition Manger + bluez # Bluetooth Stack + blueman # Bluetooth Management + home-manager # Dotfiles Management + pkg-config # Determine lib locations for linking during compliation + ripgrep # regex parser written in rust + openssl # SSL TLS Protocol + tree # Filetree to stdout + eza # LS rewritten in rust + zsh # Prefered Shell dig #dns lookup rage #file encryption age-plugin-yubikey #plugin for rage to manage yubi-2fa sops #file based secrets operations direnv #used for development environments - gcc - bottom - felix-fm - discord - neovim - brave - libation - libreoffice-qt6 - spotify - p7zip - yubioath-flutter - steam + gcc # Gnu C Compiler + bottom # Top rewritten in rust + felix-fm # File browser tui written in rust + discord # Discord for comms with friends + neovim # Modal Text Editor + brave # Web Browser + libation # Backup audible libraries + libreoffice-qt6 # Microsoft office but OSS + spotify # Spotify offical client + p7zip # posix complient 7zip + yubioath-flutter # Yubico Authenticator Client + lazygit # Git tui written in rust + glow # Markdown renderer for terminal ]; - + # Fonts fonts.packages = [ pkgs.nerd-fonts.droid-sans-mono diff --git a/modules/home-manager/home.nix b/modules/home-manager/home.nix index e6e3abc..77cd8d5 100644 --- a/modules/home-manager/home.nix +++ b/modules/home-manager/home.nix @@ -20,7 +20,7 @@ speccon18.hm.starship.enable = true; speccon18.hm.syncthing.enable = false; speccon18.hm.waybar.enable = false; - speccon18.hm.zellij.enable = false; + speccon18.hm.zellij.enable = true; speccon18.hm.zoxide.enable = false; speccon18.hm.zsh.enable = true; speccon18.hm.rio.enable = false; diff --git a/users/speccon18/default.nix b/users/speccon18/default.nix index e16cc98..30df695 100644 --- a/users/speccon18/default.nix +++ b/users/speccon18/default.nix @@ -6,7 +6,7 @@ isNormalUser = true; initialHashedPassword = "$y$j9T$RdLBHOvUpb17egl0d16LT/$3Y2RD/tT1IZ0nkfAR13pp3IzBjvKLRgGpDPLobUeO23"; openssh.authorizedKeys.keys = []; - description = "steven Carpenter"; + description = "Steven Carpenter"; extraGroups = [ "wheel" ]; From e363162d2086b7a8cb37f6bea91895613d5d97a6 Mon Sep 17 00:00:00 2001 From: steven carpenter Date: Tue, 15 Jul 2025 07:16:07 -0400 Subject: [PATCH 227/233] cleaned up home-manager config --- modules/home-manager/home.nix | 4 ++-- modules/home-manager/zsh.nix | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/modules/home-manager/home.nix b/modules/home-manager/home.nix index 77cd8d5..08bc45f 100644 --- a/modules/home-manager/home.nix +++ b/modules/home-manager/home.nix @@ -16,12 +16,12 @@ speccon18.hm.alacritty.enable = true; speccon18.hm.direnv.enable = true; speccon18.hm.git.enable = true; - speccon18.hm.ncspot.enable = false; + speccon18.hm.ncspot.enable = true; speccon18.hm.starship.enable = true; speccon18.hm.syncthing.enable = false; speccon18.hm.waybar.enable = false; speccon18.hm.zellij.enable = true; - speccon18.hm.zoxide.enable = false; + speccon18.hm.zoxide.enable = true; speccon18.hm.zsh.enable = true; speccon18.hm.rio.enable = false; diff --git a/modules/home-manager/zsh.nix b/modules/home-manager/zsh.nix index a2c9233..a0d21ca 100644 --- a/modules/home-manager/zsh.nix +++ b/modules/home-manager/zsh.nix @@ -20,7 +20,8 @@ ls = "eza -l"; lsa = "eza -al"; grep = "rg"; - osrb = "sudo nixos-rebuild $1 --flake ~/code/nixos-config/#katana"; + osrb = "sudo nixos-rebuild $1 --flake ~/nixos-config/#katana"; + tmux = "zellij"; }; localVariables = { From 6df932d3cbce2f18cd3e23e984af1aeb61f35364 Mon Sep 17 00:00:00 2001 From: steven carpenter Date: Tue, 15 Jul 2025 08:25:26 -0400 Subject: [PATCH 228/233] removed unused terminal emulators from budgie config --- modules/system/desktop-environments/budgie.nix | 3 +++ modules/system/desktop-environments/gnome.nix | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/system/desktop-environments/budgie.nix b/modules/system/desktop-environments/budgie.nix index 2f928a5..6273ea5 100644 --- a/modules/system/desktop-environments/budgie.nix +++ b/modules/system/desktop-environments/budgie.nix @@ -10,6 +10,7 @@ in { enable = true; desktopManager.budgie.enable = true; displayManager.lightdm.enable = true; + excludePackages = with pkgs; [ xterm ]; }; environment.budgie.excludePackages = with pkgs; [ mate.mate-terminal @@ -17,6 +18,8 @@ in { mate.atril mate.eom mate.engrampa + gnome-terminal + xterm ]; }; } diff --git a/modules/system/desktop-environments/gnome.nix b/modules/system/desktop-environments/gnome.nix index 6cce5f6..c5b5407 100644 --- a/modules/system/desktop-environments/gnome.nix +++ b/modules/system/desktop-environments/gnome.nix @@ -50,7 +50,7 @@ xdg = { portal = { enable = lib.mkDefault true; }; mime.defaultApplications = { - "text/markdown" = "hx"; + "text/markdown" = "nvim"; }; }; }; From d11cb54e56aaf034e39ca7e61b8baaed1a4047ef Mon Sep 17 00:00:00 2001 From: steven carpenter Date: Tue, 15 Jul 2025 09:05:10 -0400 Subject: [PATCH 229/233] added sk_extract to system --- flake.lock | 57 ++++++++++++++++++++++++++++------- flake.nix | 1 + hosts/katana.nix | 3 +- modules/home-manager/home.nix | 3 +- modules/home-manager/ssh.nix | 17 +++++++++++ 5 files changed, 68 insertions(+), 13 deletions(-) create mode 100644 modules/home-manager/ssh.nix diff --git a/flake.lock b/flake.lock index 3244644..4650b2e 100644 --- a/flake.lock +++ b/flake.lock @@ -87,7 +87,7 @@ }, "devshell": { "inputs": { - "nixpkgs": "nixpkgs_4" + "nixpkgs": "nixpkgs_5" }, "locked": { "lastModified": 1741473158, @@ -221,7 +221,7 @@ }, "home-manager_2": { "inputs": { - "nixpkgs": "nixpkgs_5" + "nixpkgs": "nixpkgs_6" }, "locked": { "lastModified": 1745782215, @@ -593,7 +593,7 @@ "hyprlang": "hyprlang_2", "hyprutils": "hyprutils_2", "hyprwayland-scanner": "hyprwayland-scanner_2", - "nixpkgs": "nixpkgs_6", + "nixpkgs": "nixpkgs_7", "pre-commit-hooks": "pre-commit-hooks_2", "systems": "systems_2", "xdph": "xdph_2" @@ -825,6 +825,22 @@ } }, "nixpkgs_3": { + "locked": { + "lastModified": 1693565476, + "narHash": "sha256-ya00zHt7YbPo3ve/wNZ/6nts61xt7wK/APa6aZAfey0=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "aa8aa7e2ea35ce655297e8322dc82bf77a31d04b", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_4": { "locked": { "lastModified": 1744868846, "narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=", @@ -840,7 +856,7 @@ "type": "github" } }, - "nixpkgs_4": { + "nixpkgs_5": { "locked": { "lastModified": 1722073938, "narHash": "sha256-OpX0StkL8vpXyWOGUD6G+MA26wAXK6SpT94kLJXo6B4=", @@ -856,7 +872,7 @@ "type": "github" } }, - "nixpkgs_5": { + "nixpkgs_6": { "locked": { "lastModified": 1745526057, "narHash": "sha256-ITSpPDwvLBZBnPRS2bUcHY3gZSwis/uTe255QgMtTLA=", @@ -872,7 +888,7 @@ "type": "github" } }, - "nixpkgs_6": { + "nixpkgs_7": { "locked": { "lastModified": 1744932701, "narHash": "sha256-fusHbZCyv126cyArUwwKrLdCkgVAIaa/fQJYFlCEqiU=", @@ -888,7 +904,7 @@ "type": "github" } }, - "nixpkgs_7": { + "nixpkgs_8": { "locked": { "lastModified": 1745377448, "narHash": "sha256-jhZDfXVKdD7TSEGgzFJQvEEZ2K65UMiqW5YJ2aIqxMA=", @@ -904,7 +920,7 @@ "type": "github" } }, - "nixpkgs_8": { + "nixpkgs_9": { "locked": { "lastModified": 1735554305, "narHash": "sha256-zExSA1i/b+1NMRhGGLtNfFGXgLtgo+dcuzHzaWA6w3Q=", @@ -972,14 +988,33 @@ "home-manager": "home-manager", "hyprland": "hyprland", "nixpkgs": "nixpkgs_2", + "sk-extract": "sk-extract", "sops-nix": "sops-nix", "xremap": "xremap" } }, - "sops-nix": { + "sk-extract": { "inputs": { "nixpkgs": "nixpkgs_3" }, + "locked": { + "lastModified": 1751159013, + "narHash": "sha256-ROTyPZ5CxbNmCrXiQBQDyJOfEJrF2ZGExVoAcXwiEMA=", + "ref": "refs/heads/main", + "rev": "95063ba566db81a0a40e49d9ba02060a93087562", + "revCount": 65, + "type": "git", + "url": "https://git.skdevstudios.com/specCon18/sk_extract.git" + }, + "original": { + "type": "git", + "url": "https://git.skdevstudios.com/specCon18/sk_extract.git" + } + }, + "sops-nix": { + "inputs": { + "nixpkgs": "nixpkgs_4" + }, "locked": { "lastModified": 1750119275, "narHash": "sha256-Rr7Pooz9zQbhdVxux16h7URa6mA80Pb/G07T4lHvh0M=", @@ -1026,7 +1061,7 @@ }, "treefmt-nix": { "inputs": { - "nixpkgs": "nixpkgs_8" + "nixpkgs": "nixpkgs_9" }, "locked": { "lastModified": 1745780832, @@ -1137,7 +1172,7 @@ "flake-parts": "flake-parts", "home-manager": "home-manager_2", "hyprland": "hyprland_2", - "nixpkgs": "nixpkgs_7", + "nixpkgs": "nixpkgs_8", "treefmt-nix": "treefmt-nix", "xremap": "xremap_2" }, diff --git a/flake.nix b/flake.nix index aa5af54..fa8d3b8 100644 --- a/flake.nix +++ b/flake.nix @@ -10,6 +10,7 @@ sops-nix.url = "github:Mic92/sops-nix"; xremap.url = "github:xremap/nix-flake"; hyprland.url = "github:hyprwm/Hyprland"; + sk-extract.url = "git+https://git.skdevstudios.com/specCon18/sk_extract.git"; }; outputs = { self, nixpkgs, ... }@inputs: { diff --git a/hosts/katana.nix b/hosts/katana.nix index 86a620c..db3f704 100644 --- a/hosts/katana.nix +++ b/hosts/katana.nix @@ -1,4 +1,4 @@ -{ config, pkgs, lib, self, ... }: +{ config, pkgs, lib, self,inputs, ... }: { system.stateVersion = "23.05"; @@ -144,6 +144,7 @@ yubioath-flutter # Yubico Authenticator Client lazygit # Git tui written in rust glow # Markdown renderer for terminal + inputs.sk-extract.packages.${system}.default ]; # Fonts diff --git a/modules/home-manager/home.nix b/modules/home-manager/home.nix index 08bc45f..006e955 100644 --- a/modules/home-manager/home.nix +++ b/modules/home-manager/home.nix @@ -12,6 +12,7 @@ ./zellij.nix ./zoxide.nix ./zsh.nix + ./ssh.nix ]; speccon18.hm.alacritty.enable = true; speccon18.hm.direnv.enable = true; @@ -24,7 +25,7 @@ speccon18.hm.zoxide.enable = true; speccon18.hm.zsh.enable = true; speccon18.hm.rio.enable = false; - + speccon18.hm.ssh.enable = true; # Home Manager needs a bit of information about you and the paths it should # manage. home = { diff --git a/modules/home-manager/ssh.nix b/modules/home-manager/ssh.nix new file mode 100644 index 0000000..63261f5 --- /dev/null +++ b/modules/home-manager/ssh.nix @@ -0,0 +1,17 @@ +{pkgs, config, lib, ...}:{ + options.speccon18.hm.ssh.enable = lib.mkEnableOption "enables specs personal git preferences"; + config = lib.mkIf config.speccon18.hm.ssh.enable { + programs.ssh = { + enable = true; + + matchBlocks = { + "git.skdevstudios.com" = { + hostname = "git.skdevstudios.com"; + user = "git"; + port = 2223; + identityFile = "~/.ssh/id_ed25519"; # Adjust as needed + }; + }; + }; + }; +} From 834276fbc39d74612f5dcde1283cdedbfef8a758 Mon Sep 17 00:00:00 2001 From: steven carpenter Date: Tue, 15 Jul 2025 09:27:25 -0400 Subject: [PATCH 230/233] added yunodo-redux input --- flake.lock | 50 +++++++++++++++++++++++++++++++++++++++++++++++- flake.nix | 1 + hosts/katana.nix | 1 + 3 files changed, 51 insertions(+), 1 deletion(-) diff --git a/flake.lock b/flake.lock index 4650b2e..650c0c2 100644 --- a/flake.lock +++ b/flake.lock @@ -153,6 +153,20 @@ "type": "github" } }, + "flake-schemas": { + "locked": { + "lastModified": 1721999734, + "narHash": "sha256-G5CxYeJVm4lcEtaO87LKzOsVnWeTcHGKbKxNamNWgOw=", + "rev": "0a5c42297d870156d9c57d8f99e476b738dcd982", + "revCount": 75, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/flake-schemas/0.1.5/0190ef2f-61e0-794b-ba14-e82f225e55e6/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/DeterminateSystems/flake-schemas/%2A" + } + }, "gitignore": { "inputs": { "nixpkgs": [ @@ -808,6 +822,20 @@ "type": "github" } }, + "nixpkgs_10": { + "locked": { + "lastModified": 1752308619, + "narHash": "sha256-pzrVLKRQNPrii06Rm09Q0i0dq3wt2t2pciT/GNq5EZQ=", + "rev": "650e572363c091045cdbc5b36b0f4c1f614d3058", + "revCount": 806273, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2505.806273%2Brev-650e572363c091045cdbc5b36b0f4c1f614d3058/019804de-4447-7b40-88ef-4e58b0e7553e/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/NixOS/nixpkgs/%2A" + } + }, "nixpkgs_2": { "locked": { "lastModified": 1750622754, @@ -990,7 +1018,8 @@ "nixpkgs": "nixpkgs_2", "sk-extract": "sk-extract", "sops-nix": "sops-nix", - "xremap": "xremap" + "xremap": "xremap", + "yunodo": "yunodo" } }, "sk-extract": { @@ -1206,6 +1235,25 @@ "repo": "xremap", "type": "github" } + }, + "yunodo": { + "inputs": { + "flake-schemas": "flake-schemas", + "nixpkgs": "nixpkgs_10" + }, + "locked": { + "lastModified": 1752585859, + "narHash": "sha256-QQD++CqMHHzLU+FLjPgkhGfs5WwhtikarDEShyd3w3s=", + "ref": "refs/heads/main", + "rev": "9e9a9e4f1e4f909bb3d3bf32a2a80549fffa7786", + "revCount": 15, + "type": "git", + "url": "https://git.skdevstudios.com/specCon18/yunodo_redux.git" + }, + "original": { + "type": "git", + "url": "https://git.skdevstudios.com/specCon18/yunodo_redux.git" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index fa8d3b8..04f3e68 100644 --- a/flake.nix +++ b/flake.nix @@ -11,6 +11,7 @@ xremap.url = "github:xremap/nix-flake"; hyprland.url = "github:hyprwm/Hyprland"; sk-extract.url = "git+https://git.skdevstudios.com/specCon18/sk_extract.git"; + yunodo.url = "git+https://git.skdevstudios.com/specCon18/yunodo_redux.git"; }; outputs = { self, nixpkgs, ... }@inputs: { diff --git a/hosts/katana.nix b/hosts/katana.nix index db3f704..3b3f334 100644 --- a/hosts/katana.nix +++ b/hosts/katana.nix @@ -145,6 +145,7 @@ lazygit # Git tui written in rust glow # Markdown renderer for terminal inputs.sk-extract.packages.${system}.default + inputs.yunodo.packages.${system}.default ]; # Fonts From fb8665ef705de90e507789c2235c9bb3cb3f68d5 Mon Sep 17 00:00:00 2001 From: steven carpenter Date: Tue, 15 Jul 2025 09:32:08 -0400 Subject: [PATCH 231/233] updated .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index e20408f..2abfbe2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ result result/ +https_cache.sqlite From efb3891a0a54f1614e1a94979375a6e92f55fd13 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Tue, 15 Jul 2025 13:32:49 +0000 Subject: [PATCH 232/233] Delete http_cache.sqlite --- http_cache.sqlite | Bin 24576 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 http_cache.sqlite diff --git a/http_cache.sqlite b/http_cache.sqlite deleted file mode 100644 index 3e328bf6e7661a55f90776493a9e29f6cc7b2d55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24576 zcmeI&&r1S96u|LWe-(j0ZXSKmMIi#|&{eG=B-64*^dy!OEScKw8g{Jzty_Okw_;^m zD=>&o%J*|v-rIRQvk&Gn>|S0p9N);z#JwB%a-ed`vQ$MxDHT^rrPNZ8Czh$QzQn7< z)&6rOoqbcuOh;u~*_X_FrjvPHRSp0E003Aoeqt+MC|FO2{@`k4Tr+fBbM1RkkUVPZ zs;$MY)*4!(+foz}xiybs>#i;5?fO}@-IG(@+Y1IB2BVpgTBB84q+;e%$2FeRo3=jD z?NT|J%Ikuqobk}iz59{loBm+tPZoJUTBTo(!c;S!%I_8|XHgQ)*LQ|<*Lc&(*fU-t zeA9aKSa&~H3@W76l&Gp0K3ejv?~RAEM1`>*jfdm^Z9MjS Date: Sat, 19 Jul 2025 11:56:29 -0400 Subject: [PATCH 233/233] added superfile to homemanager --- flake.lock | 6 +++--- hosts/katana.nix | 5 +++-- modules/home-manager/home.nix | 3 +++ modules/home-manager/superfile.nix | 12 ++++++++++++ modules/home-manager/zsh.nix | 4 ++-- 5 files changed, 23 insertions(+), 7 deletions(-) create mode 100644 modules/home-manager/superfile.nix diff --git a/flake.lock b/flake.lock index 650c0c2..98b6d28 100644 --- a/flake.lock +++ b/flake.lock @@ -838,11 +838,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1750622754, - "narHash": "sha256-kMhs+YzV4vPGfuTpD3mwzibWUE6jotw5Al2wczI0Pv8=", + "lastModified": 1752436162, + "narHash": "sha256-Kt1UIPi7kZqkSc5HVj6UY5YLHHEzPBkgpNUByuyxtlw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c7ab75210cb8cb16ddd8f290755d9558edde7ee1", + "rev": "dfcd5b901dbab46c9c6e80b265648481aafb01f8", "type": "github" }, "original": { diff --git a/hosts/katana.nix b/hosts/katana.nix index 3b3f334..ca27532 100644 --- a/hosts/katana.nix +++ b/hosts/katana.nix @@ -83,7 +83,7 @@ # Services services = { pcscd.enable = true; - blueman.enable = true; + blueman.enable = false; pulseaudio.enable = false; printing.enable = true; xserver = { @@ -118,7 +118,7 @@ environment.systemPackages = with pkgs; [ gparted # Drive Partition Manger bluez # Bluetooth Stack - blueman # Bluetooth Management + # blueman # Bluetooth Management home-manager # Dotfiles Management pkg-config # Determine lib locations for linking during compliation ripgrep # regex parser written in rust @@ -146,6 +146,7 @@ glow # Markdown renderer for terminal inputs.sk-extract.packages.${system}.default inputs.yunodo.packages.${system}.default + signal-desktop ]; # Fonts diff --git a/modules/home-manager/home.nix b/modules/home-manager/home.nix index 006e955..c6f96cf 100644 --- a/modules/home-manager/home.nix +++ b/modules/home-manager/home.nix @@ -13,6 +13,7 @@ ./zoxide.nix ./zsh.nix ./ssh.nix + ./superfile.nix ]; speccon18.hm.alacritty.enable = true; speccon18.hm.direnv.enable = true; @@ -26,6 +27,7 @@ speccon18.hm.zsh.enable = true; speccon18.hm.rio.enable = false; speccon18.hm.ssh.enable = true; + speccon18.hm.superfile.enable = true; # Home Manager needs a bit of information about you and the paths it should # manage. home = { @@ -48,6 +50,7 @@ gimp vlc atuin + superfile #rio #imgcat diff --git a/modules/home-manager/superfile.nix b/modules/home-manager/superfile.nix new file mode 100644 index 0000000..cbcb31f --- /dev/null +++ b/modules/home-manager/superfile.nix @@ -0,0 +1,12 @@ +{ pkgs, config, lib, ... }: +{ + options.speccon18.hm.superfile.enable = lib.mkEnableOption "enables specs superfile config"; + + config = lib.mkIf config.speccon18.hm.superfile.enable { + programs.superfile = { + enable = true; + package = pkgs.superfile; + }; + }; +} + diff --git a/modules/home-manager/zsh.nix b/modules/home-manager/zsh.nix index a0d21ca..9818c56 100644 --- a/modules/home-manager/zsh.nix +++ b/modules/home-manager/zsh.nix @@ -20,8 +20,8 @@ ls = "eza -l"; lsa = "eza -al"; grep = "rg"; - osrb = "sudo nixos-rebuild $1 --flake ~/nixos-config/#katana"; - tmux = "zellij"; + osrb = "sudo nixos-rebuild $1 --flake ~/Documents/code/nix/nixos-config/#katana"; + nvim-cfg = "nvim /home/speccon18/.config/nvim/"; }; localVariables = {