From 7c51db83594ef42d7631d5c2e085ed874476957e Mon Sep 17 00:00:00 2001 From: Spectre Date: Sun, 16 Mar 2025 00:08:37 +0100 Subject: [PATCH 1/5] lilith-pad --- flake.nix | 25 ++++++-------- hosts/lilith-pad/hardware-configuration.nix | 38 +++++++++++++++++++++ hosts/lilith-pc/config.nix | 3 -- hosts/lilith-pc/default.nix | 12 +++---- system/core/default.nix | 3 +- system/core/nix.nix | 6 +--- 6 files changed, 55 insertions(+), 32 deletions(-) create mode 100644 hosts/lilith-pad/hardware-configuration.nix delete mode 100644 hosts/lilith-pc/config.nix diff --git a/flake.nix b/flake.nix index 268788a4..52e2479b 100644 --- a/flake.nix +++ b/flake.nix @@ -56,21 +56,17 @@ } @ inputs: let inherit (nixpkgs) lib; - systemFromHardwareConf = - hostname: - let - hardware = import ./hosts/${hostname}/hardware-configuration.nix; - args = builtins.functionArgs hardware // { lib.mkDefault = lib.id; }; - in + systemFromHardwareConf = hostname: let + hardware = import ./hosts/${hostname}/hardware-configuration.nix; + args = builtins.functionArgs hardware // {lib.mkDefault = lib.id;}; + in (hardware args).nixpkgs.hostPlatform; - importNixpkgs = system: nixpkgs: - let - config.allowUnfreePredicate = - pkg: - builtins.elem (lib.getName pkg) (import ./unfree.nix).allowed; - in - import nixpkgs { inherit system config; }; + importNixpkgs = system: nixpkgs: let + config.allowUnfreePredicate = pkg: + builtins.elem (lib.getName pkg) (import ./unfree.nix).allowed; + in + import nixpkgs {inherit system config;}; makeHost = host: system: lib.nixosSystem { @@ -83,14 +79,13 @@ ./system {networking.hostName = host;} - ./home + ./home ]; }; in { nixosConfigurations = lib.pipe ./hosts [ builtins.readDir (lib.filterAttrs (_: type: type == "directory")) - # (lib.filterAttrs (name: _: builtins.pathExists ./hosts/${name}/default.nix && builtins.pathExists ./hosts/${name}/hardware.nix && builtins.pathExists ./hosts/${name}/config.nix)) (builtins.mapAttrs (name: _: makeHost name (systemFromHardwareConf name))) ]; }; diff --git a/hosts/lilith-pad/hardware-configuration.nix b/hosts/lilith-pad/hardware-configuration.nix new file mode 100644 index 00000000..5df571e2 --- /dev/null +++ b/hosts/lilith-pad/hardware-configuration.nix @@ -0,0 +1,38 @@ +# 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" "nvme" "usb_storage" "sd_mod" "sdhci_pci" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/080fa116-424e-4079-a2a6-658a230e2721"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/40E8-A12D"; + fsType = "vfat"; + }; + + 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.enp0s31f6.useDHCP = lib.mkDefault true; + # networking.interfaces.wlp0s20f3.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/hosts/lilith-pc/config.nix b/hosts/lilith-pc/config.nix deleted file mode 100644 index efab0596..00000000 --- a/hosts/lilith-pc/config.nix +++ /dev/null @@ -1,3 +0,0 @@ -{ - system = "x86_64-linux"; -} diff --git a/hosts/lilith-pc/default.nix b/hosts/lilith-pc/default.nix index d257187b..b3e714d0 100644 --- a/hosts/lilith-pc/default.nix +++ b/hosts/lilith-pc/default.nix @@ -1,22 +1,20 @@ -{ config, lib, ...}: { - +{lib, ...}: let + mkHostOverride = lib.mkOverride 75; +in { system.stateVersion = "24.11"; desktop.enable = true; gaming.enable = true; nfs.client.enable = true; auto_styling.enable = true; - - home-manager.users."lilith".wayland.windowManager.hyprland.settings = { - input.kb_layout = lib.mkForce "us"; + input.kb_layout = mkHostOverride "us"; - monitor = lib.mkForce [ + monitor = mkHostOverride [ "DP-3, 3840x2160, 0x0, 1.5" "DP-4, 2560x1440, 2560x0, 1" ",preferred,auto,1" ]; }; } - diff --git a/system/core/default.nix b/system/core/default.nix index cc60476a..151cf84f 100644 --- a/system/core/default.nix +++ b/system/core/default.nix @@ -1,4 +1,4 @@ -{ zen-browser, ...}: { +{...}: { imports = [ ./audio.nix ./bluetooth.nix @@ -15,6 +15,5 @@ ./syncthing.nix ./users.nix ./zsh.nix - zen-browser.nixosModules.zen-browser ]; } diff --git a/system/core/nix.nix b/system/core/nix.nix index ccadc8ca..870b737e 100644 --- a/system/core/nix.nix +++ b/system/core/nix.nix @@ -1,4 +1,4 @@ -{ lib, ...}: { +{...}: { nix = { gc = { automatic = true; @@ -12,8 +12,4 @@ trusted-users = ["root" "@wheel"]; }; }; - - # nixpkgs.config.allowUnfreePredicate = (pkg: builtins.elem (lib.getName pkg) [ - # "steam" - # ]); } From 597bd5cc75286980318a0dbba152e8b5ae34351b Mon Sep 17 00:00:00 2001 From: Spectre Date: Sun, 16 Mar 2025 00:26:15 +0100 Subject: [PATCH 2/5] pad --- flake.nix | 5 +++++ hosts/lilith-pad/default.nix | 2 ++ 2 files changed, 7 insertions(+) create mode 100644 hosts/lilith-pad/default.nix diff --git a/flake.nix b/flake.nix index 52e2479b..22702f48 100644 --- a/flake.nix +++ b/flake.nix @@ -86,6 +86,11 @@ nixosConfigurations = lib.pipe ./hosts [ builtins.readDir (lib.filterAttrs (_: type: type == "directory")) + (lib.filterAttrs ( + name: _: + builtins.pathExists ./hosts/${name}/default.nix + && builtins.pathExists ./hosts/${name}/hardware-configuration.nix + )) (builtins.mapAttrs (name: _: makeHost name (systemFromHardwareConf name))) ]; }; diff --git a/hosts/lilith-pad/default.nix b/hosts/lilith-pad/default.nix new file mode 100644 index 00000000..ea8f50d4 --- /dev/null +++ b/hosts/lilith-pad/default.nix @@ -0,0 +1,2 @@ +{...}: { +} From d185bdd9aacbf21facb4deac9e53984720f5ab07 Mon Sep 17 00:00:00 2001 From: Spectre Date: Sun, 16 Mar 2025 19:17:05 +0100 Subject: [PATCH 3/5] pad --- hosts/lilith-pad/default.nix | 15 +++++++++- hosts/lilith-pad/secrets/default.yaml | 40 +++++++++++++++++++++++++++ 2 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 hosts/lilith-pad/secrets/default.yaml diff --git a/hosts/lilith-pad/default.nix b/hosts/lilith-pad/default.nix index ea8f50d4..4285ee7f 100644 --- a/hosts/lilith-pad/default.nix +++ b/hosts/lilith-pad/default.nix @@ -1,2 +1,15 @@ -{...}: { +{lib, ...}: let + mkHostOverride = lib.mkOverride 75; +in { + desktop.enable = true; + gaming.enable = false; + nfs.client.enable = true; + auto_styling.enable = true; + + home-manager.users."lilith".wayland.windowManager.hyprland.settings = { + monitor = mkHostOverride [ + "eDP-1, 1920x1080, 0x0, 1" + ", perferred, auto, 1" + ]; + }; } diff --git a/hosts/lilith-pad/secrets/default.yaml b/hosts/lilith-pad/secrets/default.yaml new file mode 100644 index 00000000..5bcd728e --- /dev/null +++ b/hosts/lilith-pad/secrets/default.yaml @@ -0,0 +1,40 @@ +user: + password: ENC[AES256_GCM,data:k4BAMMKgSsNAnCy5RJfhQPJG4P49hHTFVJDvc8ArqY3VeEH60XPK+m+b8vAHc4nUCt7dNRxuMG365/9jJhZI+DiX6614fe+Iug==,iv:PmNOUnu2eBhdtWB4Gkpj4RbHwV5Ac/UPJSF0XifWSzE=,tag:MeoLAKHM0hiylaFBOqpNPw==,type:str] + ssh: + public: ENC[AES256_GCM,data:4bA7PVMd8UY1D93A85S6yPIIbAt4FfbQN72lOZ3Pf+su4MGQvz9UcN6a+b+p/Qo8us4sjXutfdPiv5qDEnsDvc0uuS9R8avSw/vqzfF4rQ7NAn59/fjAJwcaPwwTqsTiBXFhcOs=,iv:qZKApe16ElXdw8MOePyvo1wqpXnTD651w0122omu+ik=,tag:P9fxALfO74yK8aSazgX68g==,type:str] + private: ENC[AES256_GCM,data:INtOHRiH+lTGH6zTtjzO/VoYsNRVFBDaWpTjAnHEv+YgXAslHTF7AvFoM9XKvjLCe3x3celD8r4yd//vof6WRuGpr4foIN09CXS0VO0fEkcNo224ajNc+FGEUNzeWjCqDW8Jvlyq7tEE+ywjVM4MF/IeyHM3Oh93gTprq+ZjzXYfXuqElVzlcLJaOGIAXmqWqUtzmGh7xx2TXfapkCi8oHm3cx7/A8FG7kBxyCcJ/3aIzrWZo5zHdts8l+qB5hc86vwHVZ3WVBfuXKpTaXCzQHRRaw7vaIP5O2V8bpU8p56TxYDl9N8GrbF5S38AxwtW+FHZKLXD33I3uQk4qztpvT8AvStnMM4x2D8JIhWN7LYmbMFuJng5UfzwLveIVPl5MIHAtVvk2W/QTw/5+kbqHIud3UWv5o/vbnm8l88q5WlO0U9CgRmV0FPTK/hdEj+tEUR6AzFi/Ea6Qiv0BGVGLOHWYszfXzKA1mss+MteR9k+PQqx4wsQM9nWnMOTQGf99RMyeHG1u68gsKy55dvEMXx0lo2iUcdBttVHZaUP5baiOhr6VS74rBxpeLBN03Vzj6A6fG1b2u6V5vSZ6sC1MFlgL1gjwLzGlqi3thVAV9g=,iv:CHie+Sns7HefRwBqdo2Gw1UexHS+W1y6t4etbHA//5Y=,tag:X3U1+wHVzRBUOl8sNo8jtg==,type:str] +syncthing: + cert.pem: ENC[AES256_GCM,data:zVGfurUvMA28jtWqBBHmlz+ujHGd9/ogZYLL1AMb8njzi5BJZHW0+QaHhLqjw7BKNs9CDmpIhIytvkY9WFoQ6zJe477ndXr7lPDdpoLkEDCZKXypVjAOuqHXTXJ44RI6hU87347bq2BP1Ph9847hryA4iWicdhYLj0SrFcQVu2MnGWJZ75k1eUqELjgT6rqmR7jzRs0Z4mGaGRwrG1Bi76mkfrOe0SVV6iE8Kk3U3iYDcqraWbS3Y3Fdr+UgPuK7uJ5RO5MFMjS1CHmUvo+K/tgcH74r2NS7FQBHnG5Ec0MMW1r08W5odd93oAJUC/PWYUW4giSahp1G+GyGMO3NSmTMW5PJ524I8izRRVg2jO9usv6ukxC9oUV4DIz9kpj9yVnHA7MJCw6yJTveLQMumYxKyorQUxkPDAyYty56D56mOnaxgRT7GsDkuj6VJ5aujqvzUq1f7bwxe43g75IY5BQpzWOufsCvnGt76dmZw3+gdsw4noQEv+Hm3FOvLnBA8H0hzDAtIs0Yy4GdviZj0687ZqAdM8y6+hOvC6UxSm5OkplCAi2E5yte5OS6csvMWR2atT6D13jZFU3PL7aIw0Z8y2Gx/jVlr68UHOn6jvonQzc2+fZmcQJL8aHW6jsDroIYHbl98OAFg+WE/Yp/lV3ffczhfzoH25qL8AHiHXwsBPOVkkpFSBxrNO2XFeDIEkl73amjCvkM1X3AxHBTgCgK2Y2kkvpwOiwUQdt5/YcLGgIWkpHpPDfGiqOkkMsWZbGcGPQtkUnhu16ul4+NUFDwiE2CYaw5+cPpdLq8DWv//V0iKcHP4jinYM+ZaUIh1loupdinhGKIeX+xNFcf9kB6dcdjR7TliN7gb5ekynSxjHM3i3EFp47bhkMbQpLVzOKZ8vgeb/eVU+t97lPNxhioHAeRPwIoxq8lnLHhY7p7AN0gzsfOeDKz2BuxaaFI0DCg63aJC2nHpvy+5lWtWYto6rUB2q4JTA9oKm6RLDcDaYTLfpQtM9sdH9N5TDsCukPVm+e6gr9AbjG8IFt9QUGb0UxzkqY20bI=,iv:XIhlEi02Il+RdKPjqRIPCg1ooij8ipTbbUZlupijTVg=,tag:7mU3OWolhHxtsN6rHs8vIQ==,type:str] + key.pem: ENC[AES256_GCM,data:fo8ejY1p+oBwy4L5WiecLQLkwKVdVEi7fzKb8/ACD+7qKXMk+MChW1MeUrFjWCHtHIdw3Ld7SrCmEC/3cqL87aFiZFBOv/cV4Jkvy1kEmZLuKo8wM5Vn+7Ec4WVDAbqhiT5MEgaWHdSgmv2kvkeUnH4LJSx9uohRTgKlO0eIqY9aXO5PqZEPLuHvvTrUi1OCvadaAsKHx3yqTm2tuqK7mPzOL2A4WLQRMKSlQIbzgTz2CShql8D6/crzIAoQVnXf+/KbqzRw3NKtIzQA0aSx1tA4DjPSugWkx+sqjUShYOfZ8Rnbto5/Nbmk4QTaCkvsOli4lazGAKmPtMVBXfbFvZUXiZ/QoawVmsw1MMCCtaRpV7cEAKHJCZ+lRA4CUoJm,iv:JQHPAdW1gJxpZaBcY/BdRBweEYAAj0ZWwAeHFR4J5zo=,tag:i5VWdxTu+Wez3poflwGiog==,type:str] +sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] + age: + - recipient: age1mqw75xvd2gnhx2wsmkr8yctegjfym6xkypwjh82s3yws2glk4vms3cxqaz + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKRWRJOWZQY1ZpWGQ4ZXND + RC83eEZGZkVjelkxZDNkdlMvODN6a0dnWFRRCmxGT0U1dWJ1bWJDQVRHYmlQMHZQ + Z0Rza3dYNi9iTFZLSUVuL0UwUzVZNk0KLS0tIDd2eDNWYjd5MC9mcTd3clFBdmpY + OW5yTndZYU16NTYrdDZRUjZJS25VbEUKmD4HAa0e2p8SRw5mlzgh+ByFqCDhj8wv + QumEed0Hb9jve8aO8K9MEayxi5jIULFYuYWD8D1RF/74UGrgBTAykA== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2025-03-15T23:51:41Z" + mac: ENC[AES256_GCM,data:ey5F1mZf8Ndm+9hJo38X6dhD6cVZ1T+YjtHSQsCjzpT9va8/zmsic5VMS5rlxCsR7TtiJG+sN6xQ9rsvQjE/mCSb8raQTCRa0XufpO7Yqekwyi8fOWdVf6tBIbdSOkJDARD4AVmmGRZWpTHAX2oMnH/rYT0+MOZQ6Q6LQ7lumq8=,iv:6hntrUy0jlkdp5MIV6GNvGbNYFrcOgKoWaIU/vORg88=,tag:7rcHIuubqZk1RlppgXYiZQ==,type:str] + pgp: + - created_at: "2025-03-15T23:51:35Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DCgMW7d7co2gSAQdAbaGKvZ8a7yxQcjrCPON8SFJC1rlZDdKZfZ9LXQubbkMw + e94lKw5Tq2cn5iwGgRvYG6CmxLXmX6rk9ylVyKPWzHPjiA3Pk1eiTZ6neStFoKWG + 1GgBCQIQjsaVzLGjQWWxc87gRkwpTHTS2GCSnUz06E4gD42JuUKO5Au/IHWwLmua + HDrwSNqAlns1mALRm7Nb0R68EFouc532WQdpUK1F8T0454wHyOnMvE1fzBkiGSrq + 9g50Dinv/s3ALQ== + =Sk/E + -----END PGP MESSAGE----- + fp: 3586D8D6689B9C9ECD598C588712A0F317C37175 + unencrypted_suffix: _unencrypted + version: 3.9.2 From b680a9fb53357945df0afcd3a53d2d7155ae3510 Mon Sep 17 00:00:00 2001 From: Spectre Date: Sun, 16 Mar 2025 19:17:31 +0100 Subject: [PATCH 4/5] changes --- home/lilith/default.nix | 2 +- home/lilith/helix.nix | 51 +++++++++++++++++++++++++++++++++++++++++ home/lilith/persist.nix | 11 +++++---- system/default.nix | 1 - 4 files changed, 58 insertions(+), 7 deletions(-) diff --git a/home/lilith/default.nix b/home/lilith/default.nix index f7efd19d..0d30e22f 100644 --- a/home/lilith/default.nix +++ b/home/lilith/default.nix @@ -1,4 +1,4 @@ -{ sops-nix, stylix, ...}: { +{sops-nix, ...}: { imports = [ sops-nix.homeManagerModules.sops diff --git a/home/lilith/helix.nix b/home/lilith/helix.nix index de5bd6d2..906f94ce 100644 --- a/home/lilith/helix.nix +++ b/home/lilith/helix.nix @@ -1,5 +1,6 @@ { pkgs, + lib, ... }: { programs.helix = { @@ -31,6 +32,10 @@ ]; separator = "|"; }; + inline-diagnostics = { + cursor-line = "hint"; + other-lines = "warning"; + }; lsp = { display-messages = true; display-inlay-hints = true; @@ -48,5 +53,51 @@ }; }; }; + + languages = { + language-server = { + rust-analyzer = { + config = { + checkOnSave.command = "clippy"; + cargo.features = "all"; + cargo.unsetTest = []; + }; + }; + pyright = { + command = "${pkgs.pyright}/bin/pyright-langserver"; + args = ["--stdio"]; + config = {}; + }; + nil.command = "${pkgs.nil}/bin/nil"; + bash-language-server = { + command = "${pkgs.bash-language-server}/bin/bash-language-server"; + args = ["start"]; + }; + }; + + language = [ + { + name = "python"; + auto-format = true; + language-servers = [{name = "pyright";}]; + formatter = { + command = "/bin/sh"; + args = [ + "-c" + "${pkgs.isort}/bin/isort - | ${pkgs.black}/bin/black -q -l 120 -C -" + ]; + }; + } + { + name = "nix"; + auto-format = true; + language-servers = [{name = "nil";}]; + formatter = { + command = lib.getExe pkgs.nixfmt-rfc-style; + args = ["-s"]; + }; + } + ]; + }; }; } diff --git a/home/lilith/persist.nix b/home/lilith/persist.nix index 9eff5e3d..81808ef2 100644 --- a/home/lilith/persist.nix +++ b/home/lilith/persist.nix @@ -1,20 +1,23 @@ -{lib, config, ... }: { +{ + lib, + config, + ... +}: { data = { directories = [ ".config/syncthing" ".config/sops" ".config/keepassxc" - ".config/obsidian" ".config/vesktop" ".gnupg" ".ssh" ".thunderbird" ".mozilla" + ".zen" "nixos" "sync" - "obsidian" "code" ".keepass" ".local/share/PrismLauncher" @@ -28,11 +31,9 @@ cache = { directories = [ ".cache/nix" - ".cache/spotify" ".cache/keepassxc" ".cargo" ".local/state/wireplumber" - "tmp" ]; files = []; }; diff --git a/system/default.nix b/system/default.nix index d843dc98..cde4912e 100644 --- a/system/default.nix +++ b/system/default.nix @@ -3,5 +3,4 @@ ./core ./optional ]; - # system.stateVersion = "24.11"; } From d0cfc409852925b3ff2c246fe6e99ed473c5d6f1 Mon Sep 17 00:00:00 2001 From: Spectre Date: Sun, 16 Mar 2025 22:29:21 +0100 Subject: [PATCH 5/5] pad --- home/lilith/default.nix | 7 ++++--- hosts/lilith-pad/default.nix | 2 ++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/home/lilith/default.nix b/home/lilith/default.nix index 0d30e22f..20bd8f0a 100644 --- a/home/lilith/default.nix +++ b/home/lilith/default.nix @@ -9,13 +9,14 @@ ./env.nix - ./firefox + #zen-browser (WIP) + # ./firefox ./alacritty.nix ./clipman.nix ./common.nix ./direnv.nix - # ./firefox.nix + ./firefox.nix ./fzf.nix ./git.nix ./gpg.nix @@ -25,7 +26,7 @@ ./sops.nix ./ssh.nix ./stylix.nix - ./thunderbird.nix + # ./thunderbird.nix ./zsh ]; } diff --git a/hosts/lilith-pad/default.nix b/hosts/lilith-pad/default.nix index 4285ee7f..1e15a301 100644 --- a/hosts/lilith-pad/default.nix +++ b/hosts/lilith-pad/default.nix @@ -1,6 +1,8 @@ {lib, ...}: let mkHostOverride = lib.mkOverride 75; in { + system.stateVersion = "24.11"; + desktop.enable = true; gaming.enable = false; nfs.client.enable = true;