diff --git a/flake.nix b/flake.nix index 22702f48..268788a4 100644 --- a/flake.nix +++ b/flake.nix @@ -56,17 +56,21 @@ } @ 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 { @@ -79,18 +83,14 @@ ./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-configuration.nix - )) + # (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/home/lilith/default.nix b/home/lilith/default.nix index 20bd8f0a..f7efd19d 100644 --- a/home/lilith/default.nix +++ b/home/lilith/default.nix @@ -1,4 +1,4 @@ -{sops-nix, ...}: { +{ sops-nix, stylix, ...}: { imports = [ sops-nix.homeManagerModules.sops @@ -9,14 +9,13 @@ ./env.nix - #zen-browser (WIP) - # ./firefox + ./firefox ./alacritty.nix ./clipman.nix ./common.nix ./direnv.nix - ./firefox.nix + # ./firefox.nix ./fzf.nix ./git.nix ./gpg.nix @@ -26,7 +25,7 @@ ./sops.nix ./ssh.nix ./stylix.nix - # ./thunderbird.nix + ./thunderbird.nix ./zsh ]; } diff --git a/home/lilith/helix.nix b/home/lilith/helix.nix index 906f94ce..de5bd6d2 100644 --- a/home/lilith/helix.nix +++ b/home/lilith/helix.nix @@ -1,6 +1,5 @@ { pkgs, - lib, ... }: { programs.helix = { @@ -32,10 +31,6 @@ ]; separator = "|"; }; - inline-diagnostics = { - cursor-line = "hint"; - other-lines = "warning"; - }; lsp = { display-messages = true; display-inlay-hints = true; @@ -53,51 +48,5 @@ }; }; }; - - 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 81808ef2..9eff5e3d 100644 --- a/home/lilith/persist.nix +++ b/home/lilith/persist.nix @@ -1,23 +1,20 @@ -{ - 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" @@ -31,9 +28,11 @@ cache = { directories = [ ".cache/nix" + ".cache/spotify" ".cache/keepassxc" ".cargo" ".local/state/wireplumber" + "tmp" ]; files = []; }; diff --git a/hosts/lilith-pad/default.nix b/hosts/lilith-pad/default.nix deleted file mode 100644 index 1e15a301..00000000 --- a/hosts/lilith-pad/default.nix +++ /dev/null @@ -1,17 +0,0 @@ -{lib, ...}: let - mkHostOverride = lib.mkOverride 75; -in { - system.stateVersion = "24.11"; - - 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/hardware-configuration.nix b/hosts/lilith-pad/hardware-configuration.nix deleted file mode 100644 index 5df571e2..00000000 --- a/hosts/lilith-pad/hardware-configuration.nix +++ /dev/null @@ -1,38 +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, ... }: - -{ - 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-pad/secrets/default.yaml b/hosts/lilith-pad/secrets/default.yaml deleted file mode 100644 index 5bcd728e..00000000 --- a/hosts/lilith-pad/secrets/default.yaml +++ /dev/null @@ -1,40 +0,0 @@ -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 diff --git a/hosts/lilith-pc/config.nix b/hosts/lilith-pc/config.nix new file mode 100644 index 00000000..efab0596 --- /dev/null +++ b/hosts/lilith-pc/config.nix @@ -0,0 +1,3 @@ +{ + system = "x86_64-linux"; +} diff --git a/hosts/lilith-pc/default.nix b/hosts/lilith-pc/default.nix index b3e714d0..d257187b 100644 --- a/hosts/lilith-pc/default.nix +++ b/hosts/lilith-pc/default.nix @@ -1,20 +1,22 @@ -{lib, ...}: let - mkHostOverride = lib.mkOverride 75; -in { +{ config, lib, ...}: { + 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 = mkHostOverride "us"; + input.kb_layout = lib.mkForce "us"; - monitor = mkHostOverride [ + monitor = lib.mkForce [ "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 151cf84f..cc60476a 100644 --- a/system/core/default.nix +++ b/system/core/default.nix @@ -1,4 +1,4 @@ -{...}: { +{ zen-browser, ...}: { imports = [ ./audio.nix ./bluetooth.nix @@ -15,5 +15,6 @@ ./syncthing.nix ./users.nix ./zsh.nix + zen-browser.nixosModules.zen-browser ]; } diff --git a/system/core/nix.nix b/system/core/nix.nix index 870b737e..ccadc8ca 100644 --- a/system/core/nix.nix +++ b/system/core/nix.nix @@ -1,4 +1,4 @@ -{...}: { +{ lib, ...}: { nix = { gc = { automatic = true; @@ -12,4 +12,8 @@ trusted-users = ["root" "@wheel"]; }; }; + + # nixpkgs.config.allowUnfreePredicate = (pkg: builtins.elem (lib.getName pkg) [ + # "steam" + # ]); } diff --git a/system/default.nix b/system/default.nix index cde4912e..d843dc98 100644 --- a/system/default.nix +++ b/system/default.nix @@ -3,4 +3,5 @@ ./core ./optional ]; + # system.stateVersion = "24.11"; }