From 7db055ca2714e24cdb4a5082df79253070c929a0 Mon Sep 17 00:00:00 2001 From: Julian Mutter Date: Wed, 23 Apr 2025 09:59:02 +0200 Subject: [PATCH] Squash bugs and make aspi config work --- .sops.yaml | 7 ++- flake.nix | 13 ++--- homes/julian/aspi.nix | 5 +- homes/julian/features/desktop/default.nix | 24 +++++----- homes/julian/features/emacs/default.nix | 4 +- homes/julian/features/i3/default.nix | 6 +-- .../features/suites/desktop/default.nix | 2 +- .../features/suites/development/default.nix | 2 +- homes/julian/global/default.nix | 9 ++-- homes/julian/hm-standalone-config.nix | 47 +++++++++++++++++++ hosts/aspi/default.nix | 6 +-- .../builder/secrets.yaml | 0 hosts/common/global/default.nix | 40 ---------------- hosts/common/global/locale.nix | 2 - hosts/common/global/nix.nix | 15 ++++++ hosts/common/{global => optional}/openssh.nix | 0 hosts/common/optional/quietboot.nix | 32 ------------- hosts/common/optional/xdg-portal.nix | 2 - {secrets => hosts/common}/secrets.yaml | 15 ++---- hosts/common/users/julian/default.nix | 8 +++- {secrets => hosts/pianonix}/vnc-passwd | 0 modules/home-manager/default.nix | 2 + modules/home-manager/hostname.nix | 12 +++++ modules/home-manager/non-nixos.nix | 12 +++++ overlays/default.nix | 24 ++++++++-- pkgs/acer-battery-health-mode/default.nix | 4 +- pkgs/default.nix | 22 ++++----- 27 files changed, 163 insertions(+), 152 deletions(-) create mode 100644 homes/julian/hm-standalone-config.nix rename secrets/secrets-builder.yaml => hosts/builder/secrets.yaml (100%) rename hosts/common/{global => optional}/openssh.nix (100%) delete mode 100644 hosts/common/optional/quietboot.nix rename {secrets => hosts/common}/secrets.yaml (82%) rename {secrets => hosts/pianonix}/vnc-passwd (100%) create mode 100644 modules/home-manager/hostname.nix create mode 100644 modules/home-manager/non-nixos.nix diff --git a/.sops.yaml b/.sops.yaml index 27b7f17..71edf90 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -4,22 +4,21 @@ keys: - &pianonix-ssh age1hsmfz8fjxu83sax9lr487h8xr6cyge0apdq4zpge4c8jpcjj2cksj825ct - &builder-ssh age1kw4kmdm45zprvdkrrpvgq966l7585vhusmum083qlwnr0xxgd3uqatcyja creation_rules: - - path_regex: secrets/secrets.yaml$ + - path_regex: hosts/common/secrets.yaml$ key_groups: - age: - *primary - *aspi-ssh - *pianonix-ssh - - path_regex: secrets/secrets-builder.yaml$ + - path_regex: hosts/builder/secrets.yaml$ key_groups: - age: - *primary - *builder-ssh - - path_regex: secrets/.+ + - path_regex: hosts/pianonix/secrets.yaml$ key_groups: - age: - *primary - - *aspi-ssh - *pianonix-ssh diff --git a/flake.nix b/flake.nix index 589a663..138770b 100644 --- a/flake.nix +++ b/flake.nix @@ -111,8 +111,8 @@ # Main laptop "julian@aspi" = lib.homeManagerConfiguration { modules = [ - ./home/julian/aspi.nix - ./home/julian/nixpkgs.nix + ./homes/julian/aspi.nix + ./homes/julian/hm-standalone-config.nix ]; pkgs = pkgsFor.x86_64-linux; extraSpecialArgs = { @@ -122,8 +122,8 @@ # Media server (RPi) "julian@pianonix" = lib.homeManagerConfiguration { modules = [ - ./home/julian/pianonix.nix - ./home/julian/nixpkgs.nix + ./homes/julian/pianonix.nix + ./homes/julian/hm-standalone-config.nix ]; pkgs = pkgsFor.aarch64-linux; extraSpecialArgs = { @@ -132,11 +132,6 @@ }; }; - # Add overlays for the `nixpkgs` channel. - # overlays = with inputs; [ - # nix-matlab.overlay - # ]; - # systems.modules.nixos = with inputs; [ # sops-nix.nixosModules.sops # disko.nixosModules.disko diff --git a/homes/julian/aspi.nix b/homes/julian/aspi.nix index 010e161..7214586 100644 --- a/homes/julian/aspi.nix +++ b/homes/julian/aspi.nix @@ -1,5 +1,4 @@ { - config, ... }: { @@ -24,6 +23,8 @@ ]; - config.terminal = "kitty"; # TODO: only terminal = ??? + hostName = "aspi"; + is-nixos = true; + terminal = "kitty"; # TODO: only terminal = ??? } diff --git a/homes/julian/features/desktop/default.nix b/homes/julian/features/desktop/default.nix index 08af982..c0bf8a3 100644 --- a/homes/julian/features/desktop/default.nix +++ b/homes/julian/features/desktop/default.nix @@ -1,30 +1,28 @@ { config, - lib, pkgs, inputs, ... }: let inherit (inputs.nix-colors.lib-contrib { inherit pkgs; }) gtkThemeFromScheme; - cfg = config.modules.desktop; in { # Do not make conditional, just toggle things on and off imports = [ inputs.nix-colors.homeManagerModules.default ]; # TODO: what does this do - config = lib.mkIf cfg.enable { - # home.sessionVariables.GTK_THEME = "Catppuccin-Mocha-Compact-Blue-dark"; - gtk = { - enable = true; - theme = { - name = inputs.nix-colors.colorschemes.${config.colorscheme}.slug; - package = gtkThemeFromScheme { scheme = inputs.nix-colors.colorschemes.${config.colorscheme}; }; - }; - iconTheme = { - name = "Papirus-Dark"; - package = pkgs.papirus-icon-theme; + # home.sessionVariables.GTK_THEME = "Catppuccin-Mocha-Compact-Blue-dark"; + gtk = { + enable = true; + theme = { + name = inputs.nix-colors.colorschemes.${config.colorscheme.name}.slug; + package = gtkThemeFromScheme { + scheme = inputs.nix-colors.colorschemes.${config.colorscheme.name}; }; }; + iconTheme = { + name = "Papirus-Dark"; + package = pkgs.papirus-icon-theme; + }; }; } diff --git a/homes/julian/features/emacs/default.nix b/homes/julian/features/emacs/default.nix index 1fc8a4a..4e0695e 100644 --- a/homes/julian/features/emacs/default.nix +++ b/homes/julian/features/emacs/default.nix @@ -62,9 +62,9 @@ in emacs-all-the-icons-fonts ] - ++ lib.optional config.modules.non-nixos.is-nixos emacs; + ++ lib.optional config.is-nixos emacs; - home.activation.installDoomEmacs = lib.home-manager.hm.dag.entryAfter [ "writeBoundary" ] '' + home.activation.installDoomEmacs = lib.hm.dag.entryAfter [ "writeBoundary" ] '' if [ ! -d "/home/julian/.config/emacs" ]; then $DRY_RUN_CMD ${pkgs.git}/bin/git clone --depth=1 --single-branch "${doomRepoUrl}" "/home/julian/.config/emacs" fi diff --git a/homes/julian/features/i3/default.nix b/homes/julian/features/i3/default.nix index 7abf45d..4a6c54e 100644 --- a/homes/julian/features/i3/default.nix +++ b/homes/julian/features/i3/default.nix @@ -1,11 +1,11 @@ { lib, pkgs, - host, + config, ... }: { - modules.rofi.enable = true; + imports = [ ../rofi ]; services.dunst.enable = true; @@ -36,7 +36,7 @@ # Overwrite default home-manager config file xdg.configFile."i3/config".source = lib.mkForce ( - if host == "kardorf" then ./i3/config-kardorf else ./i3/config + if config.hostName == "kardorf" then ./i3/config-kardorf else ./i3/config ); home.file = { diff --git a/homes/julian/features/suites/desktop/default.nix b/homes/julian/features/suites/desktop/default.nix index 460311d..31cef92 100644 --- a/homes/julian/features/suites/desktop/default.nix +++ b/homes/julian/features/suites/desktop/default.nix @@ -43,7 +43,7 @@ libreoffice mate.engrampa nomacs # Image viewer - okular # Pdf reader with many features, good for commenting documents + kdePackages.okular # Pdf reader with many features, good for commenting documents pavucontrol pdfsam-basic # Split, merge, etc for pdfs qalculate-gtk # Nice gui calculator diff --git a/homes/julian/features/suites/development/default.nix b/homes/julian/features/suites/development/default.nix index 69b7f32..ba92b97 100644 --- a/homes/julian/features/suites/development/default.nix +++ b/homes/julian/features/suites/development/default.nix @@ -40,7 +40,7 @@ maven nodejs pkg-config # Often needed to build something - pwndbg # improved gdb (debugger) + # pwndbg # improved gdb (debugger) python3 rust-analyzer rustc diff --git a/homes/julian/global/default.nix b/homes/julian/global/default.nix index ab866b7..ac713d8 100644 --- a/homes/julian/global/default.nix +++ b/homes/julian/global/default.nix @@ -8,8 +8,8 @@ }: { imports = [ - ../features/cli - ../features/helix + # ../features/cli + # ../features/helix ] ++ (builtins.attrValues outputs.homeManagerModules); nix = { @@ -24,6 +24,8 @@ }; }; + colorscheme.name = "catppuccin-mocha"; + # systemd.user.startServices = "sd-switch"; # TODO: what is this programs = { @@ -37,9 +39,6 @@ stateVersion = lib.mkDefault "23.11"; sessionPath = [ "$HOME/.local/bin" ]; - sessionVariables = { - FLAKE = "$HOME/Documents/NixConfig"; - }; }; # TODO: colorscheme diff --git a/homes/julian/hm-standalone-config.nix b/homes/julian/hm-standalone-config.nix new file mode 100644 index 0000000..c05033c --- /dev/null +++ b/homes/julian/hm-standalone-config.nix @@ -0,0 +1,47 @@ +# Only apply this to home-manager standalone +{ + outputs, + ... +}: +{ + # Apply overlays + nixpkgs = { + overlays = builtins.attrValues outputs.overlays; + config = { + allowUnfree = true; + allowUnfreePredicate = _: true; # TODO: what is this + permittedInsecurePackages = [ + "olm-3.2.16" + ]; + }; + }; + + # Setup binary caches + nix.settings = { + substituters = [ + "https://nix-community.cachix.org" + "https://cache.nixos.org/" + "https://hyprland.cachix.org" + "http://binarycache.julian-mutter.de" + ]; + trusted-public-keys = [ + "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" + "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" + "binarycache.julian-mutter.de:oJ67uRFwRhNPKL58CHzy3QQLv38Kx7OA1K+6xlEPu7E=" + ]; + + trusted-users = [ + "root" + "@wheel" + ]; + + experimental-features = [ + "nix-command" + "flakes" + "ca-derivations" + ]; + + # nix.settings. # warn-dirty = false; # TODO: do I want this + + }; +} diff --git a/hosts/aspi/default.nix b/hosts/aspi/default.nix index a77fae7..37052db 100644 --- a/hosts/aspi/default.nix +++ b/hosts/aspi/default.nix @@ -11,9 +11,9 @@ ../common/global ../common/users/julian + # ../common/optional/openssh.nix # ../common/optional/greetd.nix ../common/optional/pipewire.nix - ../common/optional/quietboot.nix ../common/optional/remote-builder.nix ../common/optional/boot-efi.nix ../common/optional/pcmanfm.nix @@ -36,10 +36,6 @@ time.timeZone = "Europe/Berlin"; - sops.secrets = { - "password/aspi".neededForUsers = true; # necessary for setting password - }; - hardware.graphics.enable = true; modules = { diff --git a/secrets/secrets-builder.yaml b/hosts/builder/secrets.yaml similarity index 100% rename from secrets/secrets-builder.yaml rename to hosts/builder/secrets.yaml diff --git a/hosts/common/global/default.nix b/hosts/common/global/default.nix index 2cd077e..d186902 100644 --- a/hosts/common/global/default.nix +++ b/hosts/common/global/default.nix @@ -11,7 +11,6 @@ ./fish.nix # fish for admin ./locale.nix ./nix.nix - ./openssh.nix ./podman.nix ./sops.nix ./xserver.nix @@ -26,43 +25,4 @@ inherit inputs outputs; }; - # Apply overlays - nixpkgs = { - overlays = builtins.attrValues outputs.overlays; - config = { - allowUnfree = true; - }; - }; - - nix.settings.auto-optimise-store = true; - nix.settings.experimental-features = [ - "nix-command" - "flakes" - ]; - - # Setup binary caches - nix.settings = { - substituters = [ - "https://nix-community.cachix.org" - "https://cache.nixos.org/" - "https://hyprland.cachix.org" - "http://binarycache.julian-mutter.de" - ]; - trusted-public-keys = [ - "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" - "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" - "binarycache.julian-mutter.de:oJ67uRFwRhNPKL58CHzy3QQLv38Kx7OA1K+6xlEPu7E=" - ]; - - trusted-users = [ "@wheel" ]; # needed for devenv to add custom caches - }; - - nix.gc = { - automatic = true; - dates = "weekly"; - options = "--delete-older-than 30d"; - }; - - programs.nix-ld.enable = true; - } diff --git a/hosts/common/global/locale.nix b/hosts/common/global/locale.nix index 795f3e6..cd320cf 100644 --- a/hosts/common/global/locale.nix +++ b/hosts/common/global/locale.nix @@ -19,6 +19,4 @@ layout = "de"; variant = ""; }; - # Configure console keymap - console.keyMap = "de"; } diff --git a/hosts/common/global/nix.nix b/hosts/common/global/nix.nix index b3f309a..cceb329 100644 --- a/hosts/common/global/nix.nix +++ b/hosts/common/global/nix.nix @@ -1,8 +1,23 @@ { lib, + outputs, ... }: { + + # Apply overlays + nixpkgs = { + # TODO: apply this to hm and nixos without duplicate code + overlays = builtins.attrValues outputs.overlays; + config = { + allowUnfree = true; + allowUnfreePredicate = _: true; # TODO: what is this + permittedInsecurePackages = [ + "olm-3.2.16" + ]; + }; + }; + nix.settings.auto-optimise-store = lib.mkDefault true; nix.settings.experimental-features = [ "nix-command" diff --git a/hosts/common/global/openssh.nix b/hosts/common/optional/openssh.nix similarity index 100% rename from hosts/common/global/openssh.nix rename to hosts/common/optional/openssh.nix diff --git a/hosts/common/optional/quietboot.nix b/hosts/common/optional/quietboot.nix deleted file mode 100644 index ace8c23..0000000 --- a/hosts/common/optional/quietboot.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ - pkgs, - config, - ... -}: -{ - console = { - useXkbConfig = true; - earlySetup = false; - }; - - boot = { - plymouth = { - enable = true; - theme = "spinner-monochrome"; - themePackages = [ - (pkgs.plymouth-spinner-monochrome.override { inherit (config.boot.plymouth) logo; }) - ]; - }; - loader.timeout = 0; - kernelParams = [ - "quiet" - "loglevel=3" - "systemd.show_status=auto" - "udev.log_level=3" - "rd.udev.log_level=3" - "vt.global_cursor_default=0" - ]; - consoleLogLevel = 0; - initrd.verbose = false; - }; -} diff --git a/hosts/common/optional/xdg-portal.nix b/hosts/common/optional/xdg-portal.nix index 6904a51..d5e6daf 100644 --- a/hosts/common/optional/xdg-portal.nix +++ b/hosts/common/optional/xdg-portal.nix @@ -1,6 +1,4 @@ { - config, - lib, pkgs, ... }: diff --git a/secrets/secrets.yaml b/hosts/common/secrets.yaml similarity index 82% rename from secrets/secrets.yaml rename to hosts/common/secrets.yaml index aa69515..e7394ad 100644 --- a/secrets/secrets.yaml +++ b/hosts/common/secrets.yaml @@ -1,9 +1,7 @@ #ENC[AES256_GCM,data:NSxfTl2hTXEoGl23aQnElG+df/1YzA==,iv:+oy9oITMGzdM2muDUPjwxJqUu1Bdyregl65/0hiulZ0=,tag:VKjforpyahKj0ktIN36gNw==,type:comment] +julian-password: ENC[AES256_GCM,data:tgeu4uVI91j34+Gfzy2Uckmopj9bJNWiu65W0cdA76Kly3LH7RqXCq4rNM4DCwrsX3k9WdOlGX6T9edIjJgmbbe6MkeH7oQwiA==,iv:GE6zfSHymkAewjry7fofURz70az608+hja385LLeCIY=,tag:FqTopL5DyM3DTpa7AoGPDg==,type:str] wifi: pianonix: ENC[AES256_GCM,data:Ty1wElfVj+CU9bTbpuYIk2dA4fgFm59PkQGqvODn51Q=,iv:bLomyTlOW2Z4rPbue7Klo6Jt5lR+44AuL+dIMFgDNAE=,tag:DuH2ayeb19dkPi9xmbAu3A==,type:str] -password: - aspi: ENC[AES256_GCM,data:vh7eCsrz2VSn/DLLSG7p3Qn/OGWkVo4+54GpkukOwJ4G+jaE4wrIsKBGxON1uIxWLcR1LkR7g4vZc/sY1D+4JvDlvBfjzGKPkw==,iv:Jwk2THv0V3jsFbEIBJnGMlSOR89yaVKOW97fpgfAWcM=,tag:1WQMM9i3yL20hUJ+VvCTIA==,type:str] - pianonix: ENC[AES256_GCM,data:BWTSuDE2YozRKuK4PW0vhIzojTCi0qb0dChiiNvjv/D+71TsnZ8NuWlasY/2OBfv1VgID4xFWDqBvD7BgVh+/rvVnE544UzaiQ==,iv:On1J//kCuVvpPyj+NyWu7lyMzr7I/ouWGzL9xDbT+wo=,tag:RO87P4YgMjmD8TzgGJvwrw==,type:str] syncthing: public-keys: aspi-nix: ENC[AES256_GCM,data:ZTykdQCyh4DMuQUCy1DSKsGNxxn1dinaqztpDdJY53pkWcW4YcWRHk94iGJQZgG1oLfr3AB2S3J6b9w2WuV3,iv:9z2ovHzq6JjRtHzNMIQtcUCinIjG/ImSGqqC7KPhpuw=,tag:No2LCjD+XXB77Su+s98MIA==,type:str] @@ -12,10 +10,6 @@ syncthing: key: ENC[AES256_GCM,data:IaCXIRDMWCHj3lTKpkLg1Nd3pX4bktWg4WjZPGKgTBCLVkMi/SDtlaoNhDz+a+Vt6jYTXHS4exFnIVJ878nWSrA1sD2NHXmfsMh1kkLhub68qv0M33dBXvgX0vQ51Z1WMoti73yDUjJH8Ym5yF/SCg2+RbkVf+4pe2hSlAzwkGP6YC2rbCE5sZG31C55MkaGC6zwo2ZpZXdVhCW845SqAc11cF/OeEHb9B1FS3rd+El7rlJHrIEVQTkomNLshcspb13H0z3vNhtfu9pPkGxee8Hp/hEhFQ+waWBAg4w15yKihjHJmhzdjhDHCilvwYaceb7b5OwARuuiruQ+cJ40bdnStDpi2ouP8QJjEi7tmKWeplZ0X70PVZJFH/e/mTH5,iv:3hQMB4ka31w3chXXwjl/1IHF8ES/RobZVeugMC3ddlU=,tag:j8wwrNQUQbCEGtcriSpc4g==,type:str] cert: ENC[AES256_GCM,data:v9LO8qpeGDDV6I+AJU5iTYKKBV6qgr1ddwLvBVEOYyvmtPNeqaatYaK6vMBCabBIhxQu2NC96pREvWu1UHbxaMWvSCT1TzrIPrcFm+gKCH6PIPhqcnQpdGa3OYn01ohThpLp8hEmVUpJ0FO/AnE1QHK0VfPqJ3S0uHLjSCBJtxLmcBWNVvlcTU/P68QIQkrYAQRAtz9aDS+JNpUKhwCJBgjpY1Thj8Lj/fpc1t0qWo3BKIL3eW5iSlUW0iEriFS0bkMr4Bi9mNqpO26l1eZ3IXFJy/7pkqhmXXW83qOaF9AFXgg41p1Kjw4G6isB/obuhR7Z4oQ/AtkSU0wxHP4mF0AWrvC7/YGlrDG9aPYUEWOexTTBHkm89PhgEa69sekbzac7mYYFi/MIdU34ks4oc8ZIChWpT+V66mbo4f+3mn7raih5SLnyEMS7ENBes9cQC7SghSpB7D8c/2+q74A5aEZHUWRhqiDEx9IggP43SiWuNnb/HyZw16RUB7xnQKPs7LzAVlLC6M7ZETUmyEDEWWOsDY8+0Li4wuD3z4WXLAD9nP43TMx4GNoafjG+0Gu05hSR8fWv8strRCtIWjzK3wMaD9VT/cbt2oqOBkJcaqIW8+lM+ktk1WsD4Kc1DQ4q5O2oMrdPOWI9xZOs7DQTFshLHuvxutN05vgEUovI1vbMOl7SIzUW8YUY9PN0ofC7zwQlEJxfOdqT0nwv9vmqikSMP6V3jXgP5OnPb4KVx8G27X0oCjN++dJgDxdkh2JiLR9JaJHNmYPtLlP7hU4NsBpRpd9ObxRlv+uIbF2o0I8PGXMo3IVnRjrFDrRyoth2UJ+YUMGCVuonoS+nZLMCNz1xwRMaZBYjSEESmxc2Ilwdu3XTzd1KF282UvumBpRwcNxvsmPhI84v/XV8TJE8Z7YxyO3RYBQHD5+OuHOHKTtlajnKpSp/m0p0QR7rrGFoDuDKp+Z81MKz8wz3/8GG+sDh0pgniUfNyrmLroLPdT6nj0brvSVWYmOIJHDHKqM+6HZok5PyS+uHlb5dzwnmrd9OmhmwPVdkP5s=,iv:X9VNz2nsN4ywu3E0c+agwZCl43I4bt6jHz0jMoMFTJQ=,tag:RZUWa4h5JoIiZaDrYgcAeg==,type:str] sops: - kms: [] - gcp_kms: [] - azure_kv: [] - hc_vault: [] age: - recipient: age1ee5udznhadk6m7jtglu4709rep080yjyd2ukzdl8jma4mm92y3psv0slpg enc: | @@ -44,8 +38,7 @@ sops: WittUTFFNU5kUWdGcncwdWRQSi9STTgK3GuwolsItCEt3Dh5Lycb8TjfaHTuV/JB P2KSuVsbgjYuCJSknYmSZ+9gdTYC8cVqDnKo7HYFNrCDHZ0P4QwGSg== -----END AGE ENCRYPTED FILE----- - lastmodified: "2024-11-25T10:20:02Z" - mac: ENC[AES256_GCM,data:5bw+S6T99ZxY9jWtlfShtQLwgl5OusHU1tXQ88iVW3EmWAiGLEr8/45S0DtQfjz9rmaEpMwa0ZC7kyXgubE7RopxirG7p5w6h/S0G8nJk0SPPKL/mvTL0cfdeOEGSNfVZNcScCVXZ/if3TZzVZQ+dsNkUWXN7bDYqrJO3dfVk30=,iv:1xm9L708K1Q6WzfZKNlJavLK24lsoBzU1qTRLg9APjs=,tag:GWwNBSiNl9EUYOt1Vn10/g==,type:str] - pgp: [] + lastmodified: "2025-04-23T07:00:17Z" + mac: ENC[AES256_GCM,data:JgaTIRbzD0hs2o86xUlQrPN2cPXvsuTH/zKG5xbQIDaYcEvD/mkuVa3hfnYKrA91kWg2Y1DgEi9583+o6UCl/+ldY4ptu+xpnYfyQFdhM4rB+KoP/pDt8vQKQ3zAX8fpAkugCgTTbuvm3TfQ1nt98V8boyhCn4JHNC1T0j7ZtZI=,iv:G3YJOLeDWDKuANo2mxS2JAdrRaonD87CU9BpCZZrlRs=,tag:mcKIdP5cSQUwNL2tcv/o6g==,type:str] unencrypted_suffix: _unencrypted - version: 3.8.1 + version: 3.10.1 diff --git a/hosts/common/users/julian/default.nix b/hosts/common/users/julian/default.nix index 5374dbe..115281d 100644 --- a/hosts/common/users/julian/default.nix +++ b/hosts/common/users/julian/default.nix @@ -13,6 +13,7 @@ in description = "Julian"; group = "julian"; isNormalUser = true; + uid = 1000; shell = pkgs.fish; extraGroups = ifTheyExist [ "networkmanager" @@ -26,16 +27,19 @@ in ]; openssh.authorizedKeys.keys = lib.splitString "\n" ( - builtins.readFile ../../../../home/julian/ssh.pub + builtins.readFile ../../../../homes/julian/ssh.pub ); hashedPasswordFile = config.sops.secrets.julian-password.path; packages = [ pkgs.home-manager ]; }; + users.groups.julian = { + gid = 1000; + }; sops.secrets.julian-password = { sopsFile = ../../secrets.yaml; neededForUsers = true; }; - home-manager.users.julian = import ../../../../home/julian/${config.networking.hostName}.nix; + home-manager.users.julian = import ../../../../homes/julian/${config.networking.hostName}.nix; } diff --git a/secrets/vnc-passwd b/hosts/pianonix/vnc-passwd similarity index 100% rename from secrets/vnc-passwd rename to hosts/pianonix/vnc-passwd diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index f2c1fb3..a6a800f 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -3,4 +3,6 @@ monitors = import ./monitors.nix; terminal = import ./terminal.nix; colors = import ./colors.nix; + hostname = import ./hostname.nix; + non-nixos = import ./non-nixos.nix; } diff --git a/modules/home-manager/hostname.nix b/modules/home-manager/hostname.nix new file mode 100644 index 0000000..09cf785 --- /dev/null +++ b/modules/home-manager/hostname.nix @@ -0,0 +1,12 @@ +{ + lib, + ... +}: +let + inherit (lib) types mkOption; +in +{ + options.hostName = mkOption { + type = types.str; + }; +} diff --git a/modules/home-manager/non-nixos.nix b/modules/home-manager/non-nixos.nix new file mode 100644 index 0000000..efbae46 --- /dev/null +++ b/modules/home-manager/non-nixos.nix @@ -0,0 +1,12 @@ +{ + lib, + ... +}: +let + inherit (lib) types mkOption; +in +{ + options.is-nixos = mkOption { + type = types.bool; + }; +} diff --git a/overlays/default.nix b/overlays/default.nix index 34deb84..b88ded1 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -3,6 +3,23 @@ outputs, }: { + # For every flake input, aliases 'pkgs.inputs.${flake}' to + # 'inputs.${flake}.packages.${pkgs.system}' or + # 'inputs.${flake}.legacyPackages.${pkgs.system}' + flake-inputs = final: _: { + inputs = builtins.mapAttrs ( + _: flake: + let + legacyPackages = (flake.legacyPackages or { }).${final.system} or { }; + packages = (flake.packages or { }).${final.system} or { }; + in + if legacyPackages != { } then legacyPackages else packages + ) inputs; + }; + + # Adds my custom packages + my-pkgs = final: prev: import ../pkgs { pkgs = final; }; + nixpkgs-stable-unstable = final: prev: { unstable = import inputs.nixpkgs { system = prev.system; @@ -14,11 +31,6 @@ }; }; - input-flake-packages = final: prev: { - sheet-organizer = inputs.sheet-organizer.packages.${prev.system}.default; - music-reader = inputs.music-reader.defaultPackage.${prev.system}; - }; - # Makes gparted actually open gparted-xhost = self: super: { gparted-xhost = super.gparted.overrideAttrs (oldAttrs: { @@ -26,4 +38,6 @@ }); }; + nix-matlab = inputs.nix-matlab.overlay; + } diff --git a/pkgs/acer-battery-health-mode/default.nix b/pkgs/acer-battery-health-mode/default.nix index 19c587a..24a1ec6 100644 --- a/pkgs/acer-battery-health-mode/default.nix +++ b/pkgs/acer-battery-health-mode/default.nix @@ -1,12 +1,12 @@ { writeShellApplication, - insmod, + kmod, }: writeShellApplication { name = "acer-battery-health-mode"; - runtimeInputs = [ insmod ]; + runtimeInputs = [ kmod ]; # contains insmod text = '' #/usr/bin/env sh diff --git a/pkgs/default.nix b/pkgs/default.nix index a75e3bf..815d726 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -3,15 +3,15 @@ ... }: { - conda-direnv = pkgs.callPackage ./conda-direnv { }; - deploy-to-pianopi = pkgs.callPackage ./deploy-to-pianopi { }; - edit-config = pkgs.callPackage ./edit-config { }; - hyprshot-gui = pkgs.callPackage ./hyprshot-gui { }; - install = pkgs.callPackage ./install { }; - lntocp = pkgs.callPackage ./lntocp { }; - open-messaging = pkgs.callPackage ./open-messaging { }; - pulseaudio-popup = pkgs.callPackage ./pulseaudio-popup { }; - sos = pkgs.callPackage ./sos { }; - xwacomcalibrate = pkgs.callPackage ./xwacomcalibrate { }; - acer-battery-health-mode = pkgs.callPackage ./acer-battery-health-mode { }; + frajul.conda-direnv = pkgs.callPackage ./conda-direnv { }; + frajul.deploy-to-pianopi = pkgs.callPackage ./deploy-to-pianopi { }; + frajul.edit-config = pkgs.callPackage ./edit-config { }; + frajul.hyprshot-gui = pkgs.callPackage ./hyprshot-gui { }; + frajul.install = pkgs.callPackage ./install { }; + frajul.lntocp = pkgs.callPackage ./lntocp { }; + frajul.open-messaging = pkgs.callPackage ./open-messaging { }; + frajul.pulseaudio-popup = pkgs.callPackage ./pulseaudio-popup { }; + frajul.sos = pkgs.callPackage ./sos { }; + frajul.xwacomcalibrate = pkgs.callPackage ./xwacomcalibrate { }; + frajul.acer-battery-health-mode = pkgs.callPackage ./acer-battery-health-mode { }; }