diff --git a/devices/ellaca/options.nix b/devices/ellaca/options.nix index 125c171..20e2f3b 100644 --- a/devices/ellaca/options.nix +++ b/devices/ellaca/options.nix @@ -1,5 +1,9 @@ { ... }: { conf = { + ssh.enable = true; + + stateVersion = "25.05"; + hmStateVersion = "25.05"; }; } diff --git a/devices/inkvine/options.nix b/devices/inkvine/options.nix index 0e81998..33dd305 100644 --- a/devices/inkvine/options.nix +++ b/devices/inkvine/options.nix @@ -3,8 +3,10 @@ apps.enable = true; niri.enable = true; extraLayout.enable = true; + fonts.enbale = true; secureboot.enable = true; containers.enable = true; + networkmanager.enable = true; stateVersion = "24.11"; hmStateVersion = "24.11"; diff --git a/modules/apps/programs.nix b/modules/apps/programs.nix index 4fca7ff..7f2318a 100644 --- a/modules/apps/programs.nix +++ b/modules/apps/programs.nix @@ -2,6 +2,11 @@ inherit (lib) mkIf; inherit (config) conf; mkXwlWrapper = import ../niri/xwl-wrapper.nix; + time = pkgs.makeDesktopItem { + name = "peaclock-desktop"; + desktopName = "Time"; + exec = "alacritty -e ${pkgs.peaclock}/bin/peaclock"; + }; in mkIf conf.apps.enable { services = { # Needed for some features in nautilus such as auto-mounting and trash @@ -22,7 +27,9 @@ in mkIf conf.apps.enable { tor-browser libreoffice-qt6 chromium + peaclock ] ++ [ + time (mkXwlWrapper { pkgs = pkgs; name = "Prusa"; pkg = "prusa-slicer"; }) (mkXwlWrapper { pkgs = pkgs; name = "Vial"; pkg = "vial"; }) ]; diff --git a/modules/default.nix b/modules/default.nix index 148ec97..20ea58c 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -12,6 +12,7 @@ in { ./niri ./nix ./secureboot + ./ssh ./utils ./vm ]; @@ -29,9 +30,5 @@ in { extraGroups = [ "networkmanager" "wheel" ]; }; - hardware.opentabletdriver = { - enable = true; - }; - system.stateVersion = conf.stateVersion; } diff --git a/modules/fonts/default.nix b/modules/fonts/default.nix index 11f55b6..145f911 100644 --- a/modules/fonts/default.nix +++ b/modules/fonts/default.nix @@ -1,4 +1,7 @@ -{ pkgs, ... }: { +{ lib, config, pkgs, ... }: let + inherit (lib) mkIf; + inherit (config) conf; +in mkIf conf.fonts.enable { fonts = { packages = with pkgs; [ alegreya diff --git a/modules/networking/default.nix b/modules/networking/default.nix index 853cfc7..f0ccad0 100644 --- a/modules/networking/default.nix +++ b/modules/networking/default.nix @@ -1,6 +1,7 @@ -{ config, pkgs, ... }: let +{ config, lib, pkgs, ... }: let inherit (config) conf; -in{ + inherit (lib) mkIf; +in mkIf conf.networkmanager.enable { home-manager.users.${conf.username}.home.packages = [ pkgs.networkmanagerapplet ]; networking = { networkmanager = { diff --git a/modules/niri/default.nix b/modules/niri/default.nix index 53d0e36..0ab1c32 100644 --- a/modules/niri/default.nix +++ b/modules/niri/default.nix @@ -45,6 +45,7 @@ in { home-manager.users.${conf.username} = { home.packages = with pkgs; [ swayidle + wl-clipboard ]; services.swayosd = { diff --git a/modules/server/default.nix b/modules/server/default.nix deleted file mode 100644 index 0709732..0000000 --- a/modules/server/default.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ config, ... }: let - inherit (config) conf; -in { - imports = [ - ./ssh - ]; - - system.stateVersion = conf.stateVersion; -} diff --git a/modules/server/ssh/default.nix b/modules/ssh/default.nix similarity index 100% rename from modules/server/ssh/default.nix rename to modules/ssh/default.nix diff --git a/modules/utils/default.nix b/modules/utils/default.nix index fd65746..ca798e3 100644 --- a/modules/utils/default.nix +++ b/modules/utils/default.nix @@ -2,11 +2,6 @@ inherit (config) conf; inherit (config.conf) keys; inherit (lib.strings) concatMapStrings; - time = pkgs.makeDesktopItem { - name = "peaclock-desktop"; - desktopName = "Time"; - exec = "alacritty -e ${pkgs.peaclock}/bin/peaclock"; - }; in { programs.fish.enable = true; users.defaultUserShell = pkgs.fish; @@ -21,11 +16,6 @@ in { unzip gnutar lshw - peaclock - netcat-openbsd - wl-clipboard - ] ++ [ - time ]; home.file = { diff --git a/options.nix b/options.nix index 418ec16..1ff4b47 100644 --- a/options.nix +++ b/options.nix @@ -4,6 +4,7 @@ in { options = { conf = { + ssh.enbale = mkEnableOption "Install my public key to allow accessing this machine via ssh."; apps.enable = mkEnableOption "Enable complete configuration for end-user machine."; niri.enable = mkEnableOption "Enable niri compositor."; vm.enable = mkEnableOption "Enable VM related configuration."; @@ -11,6 +12,8 @@ in { games.enable = mkEnableOption "Enable games."; secureboot.enable = mkEnableOption "Enable secure boot utilities (manual key-enrolling required)."; extraLayout.enable = mkEnableOption "Enable additional custom layout."; + fonts.enable = mkEnableOption "Install and set preferred fonts"; + networkmanager.enable = mkEnableOption "Enable network manager and some related configuration"; username = mkOption { type = str; diff --git a/outputs.nix b/outputs.nix index 9a749ec..2c24cde 100644 --- a/outputs.nix +++ b/outputs.nix @@ -28,7 +28,7 @@ modules = [ ./options.nix ./devices/ellaca - ./modules/server + ./modules disko.nixosModules.disko ]; };