From 1cdcb90186bbe14d2f5e030c6b423990fc71c9cb Mon Sep 17 00:00:00 2001 From: elythh Date: Thu, 29 Aug 2024 23:13:25 +0200 Subject: [PATCH] wip --- flake.nix | 2 +- .../x86_64-linux/gwen@grovetender/default.nix | 8 -- lib/module/default.nix | 40 +++++++ modules/nixos/displaymanager/sddm/default.nix | 43 ++++++++ modules/nixos/hardware/cpu/amd/default.nix | 12 ++- .../graphical/addons/keyring/default.nix | 19 ++++ .../graphical/addons/noisetorch/default.nix | 50 +++++++++ .../graphical/addons/xdg-portal/default.nix | 72 +++++++++++++ .../graphical/apps/bitwarden/default.nix | 20 ++++ .../apps/partitionmanager/default.nix | 25 +++++ .../file-managers/thunar/default.nix | 23 ++++ .../graphical/wms/hyprland/default.nix | 100 ++++++++++++++++++ .../terminal/tools/bandwhich/default.nix | 23 ++++ .../terminal/tools/nix-ld/default.nix | 33 ++++++ modules/nixos/security/polkit/default.nix | 50 +++++++++ modules/nixos/services/power/default.nix | 19 ++++ modules/nixos/services/seatd/default.nix | 33 ++++++ modules/nixos/suites/development/default.nix | 4 - modules/nixos/suites/videos/default.nix | 33 ++++++ modules/nixos/system/boot/default.nix | 17 ++- modules/nixos/system/networking/default.nix | 2 +- modules/shared/nix/default.nix | 3 +- systems/x86_64-linux/grovetender/default.nix | 11 -- 23 files changed, 601 insertions(+), 41 deletions(-) create mode 100644 lib/module/default.nix create mode 100644 modules/nixos/displaymanager/sddm/default.nix create mode 100644 modules/nixos/programs/graphical/addons/keyring/default.nix create mode 100644 modules/nixos/programs/graphical/addons/noisetorch/default.nix create mode 100644 modules/nixos/programs/graphical/addons/xdg-portal/default.nix create mode 100644 modules/nixos/programs/graphical/apps/bitwarden/default.nix create mode 100644 modules/nixos/programs/graphical/apps/partitionmanager/default.nix create mode 100644 modules/nixos/programs/graphical/file-managers/thunar/default.nix create mode 100644 modules/nixos/programs/graphical/wms/hyprland/default.nix create mode 100644 modules/nixos/programs/terminal/tools/bandwhich/default.nix create mode 100644 modules/nixos/programs/terminal/tools/nix-ld/default.nix create mode 100644 modules/nixos/security/polkit/default.nix create mode 100644 modules/nixos/services/power/default.nix create mode 100644 modules/nixos/services/seatd/default.nix create mode 100644 modules/nixos/suites/videos/default.nix diff --git a/flake.nix b/flake.nix index c5b3b2a7..40d3bc51 100644 --- a/flake.nix +++ b/flake.nix @@ -28,7 +28,7 @@ homes.modules = with inputs; [ stylix.homeManagerModules.stylix anyrun.homeManagerModules.default - spicetify-nix.homeManagerModules.default + spicetify.homeManagerModules.default ]; systems = { diff --git a/homes/x86_64-linux/gwen@grovetender/default.nix b/homes/x86_64-linux/gwen@grovetender/default.nix index 6c5b4b69..8ab9c1c3 100644 --- a/homes/x86_64-linux/gwen@grovetender/default.nix +++ b/homes/x86_64-linux/gwen@grovetender/default.nix @@ -42,14 +42,6 @@ in hyprland = { enable = true; # enableDebug = true; - - appendConfig = # bash - '' - exec-once = hyprctl setcursor ${config.${namespace}.theme.gtk.cursor.name} ${ - builtins.toString config.${namespace}.theme.gtk.cursor.size - } - ''; - }; }; }; diff --git a/lib/module/default.nix b/lib/module/default.nix new file mode 100644 index 00000000..2bf69ae2 --- /dev/null +++ b/lib/module/default.nix @@ -0,0 +1,40 @@ +{ lib, ... }: +with lib; +rec { + mkOpt = + type: default: description: + mkOption { inherit type default description; }; + + mkOpt' = type: default: mkOpt type default null; + + mkBoolOpt = mkOpt types.bool; + + mkBoolOpt' = mkOpt' types.bool; + + enabled = { + enable = true; + }; + + disabled = { + enable = false; + }; + + capitalize = + s: + let + len = stringLength s; + in + if len == 0 then "" else (lib.toUpper (substring 0 1 s)) + (substring 1 len s); + + # return an int (1/0) based on boolean value + # `boolToNum true` -> 1 + boolToNum = bool: if bool then 1 else 0; + + default-attrs = mapAttrs (_key: mkDefault); + + force-attrs = mapAttrs (_key: mkForce); + + nested-default-attrs = mapAttrs (_key: default-attrs); + + nested-force-attrs = mapAttrs (_key: force-attrs); +} diff --git a/modules/nixos/displaymanager/sddm/default.nix b/modules/nixos/displaymanager/sddm/default.nix new file mode 100644 index 00000000..462bfe2d --- /dev/null +++ b/modules/nixos/displaymanager/sddm/default.nix @@ -0,0 +1,43 @@ +{ + config, + lib, + pkgs, + namespace, + ... +}: +let + inherit (lib) mkIf getExe' stringAfter; + inherit (lib.${namespace}) mkBoolOpt enabled; + + cfg = config.${namespace}.display-managers.sddm; +in +{ + options.${namespace}.display-managers.sddm = { + enable = mkBoolOpt false "Whether or not to enable sddm."; + }; + + config = mkIf cfg.enable { + environment.systemPackages = with pkgs; [ + catppuccin-sddm-corners + sddm + ]; + + services = { + displayManager = { + sddm = { + inherit (cfg) enable; + theme = "catppuccin-sddm-corners"; + wayland = enabled; + }; + }; + }; + + system.activationScripts.postInstallSddm = + stringAfter [ "users" ] # bash + '' + echo "Setting sddm permissions for user icon" + ${getExe' pkgs.acl "setfacl"} -m u:sddm:x /home/${config.${namespace}.user.name} + ${getExe' pkgs.acl "setfacl"} -m u:sddm:r /home/${config.${namespace}.user.name}/.face.icon || true + ''; + }; +} diff --git a/modules/nixos/hardware/cpu/amd/default.nix b/modules/nixos/hardware/cpu/amd/default.nix index 2fe47346..fff4b36f 100644 --- a/modules/nixos/hardware/cpu/amd/default.nix +++ b/modules/nixos/hardware/cpu/amd/default.nix @@ -11,11 +11,13 @@ let cfg = config.${namespace}.hardware.cpu.amd; in { - options.${namespace}.hardware.cpu = { - enable = mkBoolOpt false "No-op used for setting up hierarchy."; - }; - options.${namespace}.hardware.cpu.amd = { - enable = mkBoolOpt false "Whether or not to enable support for amd cpu."; + options.${namespace}.hardware = { + cpu = { + enable = mkBoolOpt false "No-op used for setting up hierarchy."; + amd = { + enable = mkBoolOpt false "Whether or not to enable support for amd cpu."; + }; + }; }; config = mkIf cfg.enable { diff --git a/modules/nixos/programs/graphical/addons/keyring/default.nix b/modules/nixos/programs/graphical/addons/keyring/default.nix new file mode 100644 index 00000000..48d08491 --- /dev/null +++ b/modules/nixos/programs/graphical/addons/keyring/default.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + namespace, + ... +}: +let + inherit (lib) mkIf; + inherit (lib.${namespace}) mkBoolOpt; + + cfg = config.${namespace}.programs.graphical.addons.keyring; +in +{ + options.${namespace}.programs.graphical.addons.keyring = { + enable = mkBoolOpt false "Whether to enable the passwords application."; + }; + + config = mkIf cfg.enable { programs.seahorse.enable = true; }; +} diff --git a/modules/nixos/programs/graphical/addons/noisetorch/default.nix b/modules/nixos/programs/graphical/addons/noisetorch/default.nix new file mode 100644 index 00000000..98e73fa7 --- /dev/null +++ b/modules/nixos/programs/graphical/addons/noisetorch/default.nix @@ -0,0 +1,50 @@ +{ + config, + lib, + pkgs, + namespace, + ... +}: +let + inherit (lib) + mkIf + mkEnableOption + mkOption + literalExpression + types + ; + + cfg = config.${namespace}.programs.graphical.addons.noisetorch; +in +{ + options.${namespace}.programs.graphical.addons.noisetorch = { + enable = mkEnableOption "noisetorch service"; + package = mkOption { + type = types.package; + default = pkgs.noisetorch; + defaultText = literalExpression "pkgs.noisetorch"; + description = "Which package to use for noisetorch"; + }; + threshold = mkOption { + type = types.int; + default = -1; + description = "Voice activation threshold (default -1)"; + }; + device = mkOption { + type = types.str; + description = "Use the specified source/sink device ID"; + }; + deviceUnit = mkOption { + type = types.str; + description = "Systemd device unit which is providing the audio device"; + }; + }; + + config = mkIf cfg.enable { + programs.noisetorch = { + enable = true; + + inherit (cfg) package; + }; + }; +} diff --git a/modules/nixos/programs/graphical/addons/xdg-portal/default.nix b/modules/nixos/programs/graphical/addons/xdg-portal/default.nix new file mode 100644 index 00000000..aac301aa --- /dev/null +++ b/modules/nixos/programs/graphical/addons/xdg-portal/default.nix @@ -0,0 +1,72 @@ +{ + config, + inputs, + lib, + pkgs, + system, + namespace, + ... +}: +let + inherit (lib) mkIf; + inherit (lib.${namespace}) mkBoolOpt; + inherit (inputs) hyprland xdg-desktop-portal-hyprland; + + cfg = config.${namespace}.programs.graphical.addons.xdg-portal; +in +{ + options.${namespace}.programs.graphical.addons.xdg-portal = { + enable = mkBoolOpt false "Whether or not to add support for xdg portal."; + }; + + config = mkIf cfg.enable { + xdg = { + portal = { + enable = true; + + configPackages = [ hyprland.packages.${system}.hyprland ]; + + config = { + hyprland = mkIf config.${namespace}.programs.graphical.wms.hyprland.enable { + default = [ + "hyprland" + "gtk" + ]; + "org.freedesktop.impl.portal.Screencast" = "hyprland"; + "org.freedesktop.impl.portal.Screenshot" = "hyprland"; + }; + + common = { + default = [ "gtk" ]; + + "org.freedesktop.impl.portal.Screencast" = "gtk"; + "org.freedesktop.impl.portal.Screenshot" = "gtk"; + "org.freedesktop.impl.portal.Secret" = [ "gnome-keyring" ]; + }; + }; + + extraPortals = + with pkgs; + [ xdg-desktop-portal-gtk ] + ++ (lib.optional config.${namespace}.programs.graphical.wms.hyprland.enable ( + xdg-desktop-portal-hyprland.packages.${system}.xdg-desktop-portal-hyprland.override { + debug = true; + # TODO: use same package as home-manager + inherit (hyprland.packages.${system}) hyprland; + } + )); + # xdgOpenUsePortal = true; + + wlr = { + settings = { + screencast = { + max_fps = 30; + chooser_type = "simple"; + chooser_cmd = "${pkgs.slurp}/bin/slurp -f %o -or"; + }; + }; + }; + }; + }; + }; +} diff --git a/modules/nixos/programs/graphical/apps/bitwarden/default.nix b/modules/nixos/programs/graphical/apps/bitwarden/default.nix new file mode 100644 index 00000000..3509dcc7 --- /dev/null +++ b/modules/nixos/programs/graphical/apps/bitwarden/default.nix @@ -0,0 +1,20 @@ +{ + config, + lib, + pkgs, + namespace, + ... +}: +let + inherit (lib) mkEnableOption; + + cfg = config.${namespace}.programs.graphical.apps.bitwarden; +in +{ + options.${namespace}.programs.graphical.apps.bitwarden = { + enable = mkEnableOption "Wether or not to enable bitwarden"; + }; + config = lib.mkIf cfg { + environment.systemPackages = with pkgs; [ bitwarden ]; + }; +} diff --git a/modules/nixos/programs/graphical/apps/partitionmanager/default.nix b/modules/nixos/programs/graphical/apps/partitionmanager/default.nix new file mode 100644 index 00000000..d3c6c427 --- /dev/null +++ b/modules/nixos/programs/graphical/apps/partitionmanager/default.nix @@ -0,0 +1,25 @@ +{ + config, + lib, + pkgs, + namespace, + ... +}: +let + inherit (lib) mkIf; + inherit (lib.${namespace}) mkBoolOpt; + + cfg = config.${namespace}.programs.graphical.apps.partitionmanager; +in +{ + options.${namespace}.programs.graphical.apps.partitionmanager = { + enable = mkBoolOpt false "Whether or not to enable partitionmanager."; + }; + + config = mkIf cfg.enable { + programs.partition-manager = { + enable = true; + package = pkgs.kdePackages.partitionmanager; + }; + }; +} diff --git a/modules/nixos/programs/graphical/file-managers/thunar/default.nix b/modules/nixos/programs/graphical/file-managers/thunar/default.nix new file mode 100644 index 00000000..f574c82b --- /dev/null +++ b/modules/nixos/programs/graphical/file-managers/thunar/default.nix @@ -0,0 +1,23 @@ +{ + config, + lib, + namespace, + ... +}: +let + inherit (lib) mkIf; + inherit (lib.${namespace}) mkBoolOpt; + + cfg = config.${namespace}.programs.graphical.file-managers.thunar; +in +{ + options.${namespace}.programs.graphical.file-managers.thunar = { + enable = mkBoolOpt false "Whether to enable the xfce file manager."; + }; + + config = mkIf cfg.enable { + programs.thunar = { + enable = true; + }; + }; +} diff --git a/modules/nixos/programs/graphical/wms/hyprland/default.nix b/modules/nixos/programs/graphical/wms/hyprland/default.nix new file mode 100644 index 00000000..8e2ddff6 --- /dev/null +++ b/modules/nixos/programs/graphical/wms/hyprland/default.nix @@ -0,0 +1,100 @@ +{ + config, + inputs, + lib, + pkgs, + system, + namespace, + ... +}: +let + inherit (lib) + makeBinPath + mkIf + types + ; + inherit (lib.${namespace}) mkBoolOpt mkOpt enabled; + inherit (inputs) hyprland; + + cfg = config.${namespace}.programs.graphical.wms.hyprland; + + programs = makeBinPath ( + with pkgs; + [ + # TODO: make sure this references same package as home-manager + hyprland.packages.${system}.hyprland + coreutils + config.services.power-profiles-daemon.package + systemd + libnotify + ] + ); +in +{ + options.${namespace}.programs.graphical.wms.hyprland = with types; { + enable = mkBoolOpt false "Whether or not to enable Hyprland."; + customConfigFiles = + mkOpt attrs { } + "Custom configuration files that can be used to override the default files."; + customFiles = mkOpt attrs { } "Custom files that can be used to override the default files."; + wallpaper = mkOpt (nullOr package) null "The wallpaper to display."; + }; + + disabledModules = [ "programs/hyprland.nix" ]; + + config = mkIf cfg.enable { + environment = { + etc."greetd/environments".text = '' + "Hyprland" + zsh + ''; + + sessionVariables = { + HYPRCURSOR_THEME = config.${namespace}.theme.cursor.name; + HYPRCURSOR_SIZE = "${toString config.${namespace}.theme.cursor.size}"; + }; + }; + + elyth = { + display-managers = { + sddm = { + enable = true; + }; + }; + + home = { + configFile = cfg.customConfigFiles; + + file = { } // cfg.customFiles; + }; + + programs = { + graphical = { + apps = { + partitionmanager = enabled; + }; + + addons = { + keyring = enabled; + xdg-portal = enabled; + }; + + file-managers = { + thunar = enabled; + }; + }; + }; + + security = { + keyring = enabled; + polkit = enabled; + }; + + suites = { + wlroots = enabled; + }; + }; + + services.displayManager.sessionPackages = [ hyprland.packages.${system}.hyprland ]; + }; +} diff --git a/modules/nixos/programs/terminal/tools/bandwhich/default.nix b/modules/nixos/programs/terminal/tools/bandwhich/default.nix new file mode 100644 index 00000000..fc47ef8e --- /dev/null +++ b/modules/nixos/programs/terminal/tools/bandwhich/default.nix @@ -0,0 +1,23 @@ +{ + config, + lib, + namespace, + ... +}: +let + inherit (lib) mkIf; + inherit (lib.${namespace}) mkBoolOpt; + + cfg = config.${namespace}.programs.terminal.tools.bandwhich; +in +{ + options.${namespace}.programs.terminal.tools.bandwhich = { + enable = mkBoolOpt false "Whether or not to enable bandwhich."; + }; + + config = mkIf cfg.enable { + programs.bandwhich = { + enable = true; + }; + }; +} diff --git a/modules/nixos/programs/terminal/tools/nix-ld/default.nix b/modules/nixos/programs/terminal/tools/nix-ld/default.nix new file mode 100644 index 00000000..4374c4d3 --- /dev/null +++ b/modules/nixos/programs/terminal/tools/nix-ld/default.nix @@ -0,0 +1,33 @@ +{ + config, + lib, + pkgs, + namespace, + ... +}: +let + inherit (lib) mkIf; + inherit (lib.${namespace}) mkBoolOpt; + + cfg = config.${namespace}.programs.terminal.tools.nix-ld; +in +{ + options.${namespace}.programs.terminal.tools.nix-ld = { + enable = mkBoolOpt false "Whether or not to enable nix-ld."; + }; + + config = mkIf cfg.enable { + programs.nix-ld = { + enable = true; + package = pkgs.nix-ld-rs; + + libraries = with pkgs; [ + gcc + icu + libcxx + stdenv.cc.cc.lib + zlib + ]; + }; + }; +} diff --git a/modules/nixos/security/polkit/default.nix b/modules/nixos/security/polkit/default.nix new file mode 100644 index 00000000..d98de396 --- /dev/null +++ b/modules/nixos/security/polkit/default.nix @@ -0,0 +1,50 @@ +{ + config, + lib, + pkgs, + namespace, + ... +}: +let + inherit (lib) mkIf; + inherit (lib.${namespace}) mkBoolOpt; + + cfg = config.${namespace}.security.polkit; +in +{ + options.${namespace}.security.polkit = { + enable = mkBoolOpt false "Whether or not to enable polkit."; + }; + + config = mkIf cfg.enable { + environment.systemPackages = with pkgs; [ libsForQt5.polkit-kde-agent ]; + + security.polkit = { + enable = true; + debug = lib.mkDefault true; + + extraConfig = lib.mkIf config.security.polkit.debug '' + /* Log authorization checks. */ + polkit.addRule(function(action, subject) { + polkit.log("user " + subject.user + " is attempting action " + action.id + " from PID " + subject.pid); + }); + ''; + }; + + systemd = { + user.services.polkit-kde-authentication-agent-1 = { + after = [ "graphical-session.target" ]; + description = "polkit-kde-authentication-agent-1"; + wantedBy = [ "graphical-session.target" ]; + wants = [ "graphical-session.target" ]; + serviceConfig = { + Type = "simple"; + ExecStart = "${pkgs.polkit-kde-agent}/libexec/polkit-kde-authentication-agent-1"; + Restart = "on-failure"; + RestartSec = 1; + TimeoutStopSec = 10; + }; + }; + }; + }; +} diff --git a/modules/nixos/services/power/default.nix b/modules/nixos/services/power/default.nix new file mode 100644 index 00000000..b8efe81b --- /dev/null +++ b/modules/nixos/services/power/default.nix @@ -0,0 +1,19 @@ +{ + lib, + config, + namespace, + ... +}: +let + inherit (lib) mkIf; + inherit (lib.${namespace}) mkBoolOpt; + + cfg = config.${namespace}.services.power; +in +{ + options.${namespace}.services.power = { + enable = mkBoolOpt false "Whether or not to configure power profiles"; + }; + + config = mkIf cfg.enable { services.power-profiles-daemon.enable = cfg.enable; }; +} diff --git a/modules/nixos/services/seatd/default.nix b/modules/nixos/services/seatd/default.nix new file mode 100644 index 00000000..0779c13d --- /dev/null +++ b/modules/nixos/services/seatd/default.nix @@ -0,0 +1,33 @@ +{ + config, + lib, + pkgs, + namespace, + ... +}: +let + inherit (lib) mkIf mkEnableOption getExe; + + cfg = config.${namespace}.services.seatd; +in +{ + options.${namespace}.services.seatd = { + enable = mkEnableOption "seatd"; + }; + + config = mkIf cfg.enable { + systemd.services = { + seatd = { + enable = true; + description = "Seat management daemon"; + script = "${getExe pkgs.seatd} -g wheel"; + serviceConfig = { + Type = "simple"; + Restart = "always"; + RestartSec = "1"; + }; + wantedBy = [ "multi-user.target" ]; + }; + }; + }; +} diff --git a/modules/nixos/suites/development/default.nix b/modules/nixos/suites/development/default.nix index b173642e..f82b9693 100644 --- a/modules/nixos/suites/development/default.nix +++ b/modules/nixos/suites/development/default.nix @@ -35,10 +35,6 @@ in user = { extraGroups = [ "git" ] ++ lib.optionals cfg.sqlEnable [ "mysql" ]; }; - - virtualisation = { - podman.enable = cfg.dockerEnable; - }; }; }; } diff --git a/modules/nixos/suites/videos/default.nix b/modules/nixos/suites/videos/default.nix new file mode 100644 index 00000000..29de0a5e --- /dev/null +++ b/modules/nixos/suites/videos/default.nix @@ -0,0 +1,33 @@ +{ + config, + lib, + namespace, + ... +}: +let + inherit (lib) mkIf; + inherit (lib.${namespace}) mkBoolOpt; + + cfg = config.${namespace}.suites.video; +in +{ + options.${namespace}.suites.video = { + enable = mkBoolOpt false "Whether or not to enable video configuration."; + }; + + config = mkIf cfg.enable { + # NOTE: dvd burning software requires cdrom group and k3b dependencies in nix store do not have those permissions + # https://github.com/NixOS/nixpkgs/issues/19154#issuecomment-647005545 + # Additionally to installing `k3b` enabling this will + # add `setuid` wrappers in `/run/wrappers/bin` + # for both `cdrdao` and `cdrecord`. On first + # run you must manually configure the path of `cdrdae` and + # `cdrecord` to correspond to the appropriate paths under + # `/run/wrappers/bin` in the "Setup External Programs" menu. + programs.k3b.enable = true; + + elyth = { + user.extraGroups = [ "cdrom" ]; + }; + }; +} diff --git a/modules/nixos/system/boot/default.nix b/modules/nixos/system/boot/default.nix index c2bee475..0d2c71f2 100644 --- a/modules/nixos/system/boot/default.nix +++ b/modules/nixos/system/boot/default.nix @@ -18,15 +18,12 @@ in }; config = mkIf cfg.enable { - environment.systemPackages = - with pkgs; - [ - efibootmgr - efitools - efivar - fwupd - ] - ++ lib.optionals cfg.secureBoot [ sbctl ]; + environment.systemPackages = with pkgs; [ + efibootmgr + efitools + efivar + fwupd + ]; boot = { kernelParams = @@ -62,7 +59,7 @@ in generationsDir.copyKernels = true; systemd-boot = { - enable = !cfg.secureBoot; + enable = true; configurationLimit = 20; editor = false; }; diff --git a/modules/nixos/system/networking/default.nix b/modules/nixos/system/networking/default.nix index 494ad2a7..84a9c8ca 100644 --- a/modules/nixos/system/networking/default.nix +++ b/modules/nixos/system/networking/default.nix @@ -111,7 +111,7 @@ in traceroute ]; - khanelinix.user.extraGroups = [ + elyth.user.extraGroups = [ "network" "wireshark" ]; diff --git a/modules/shared/nix/default.nix b/modules/shared/nix/default.nix index c7fd82f9..662b789e 100644 --- a/modules/shared/nix/default.nix +++ b/modules/shared/nix/default.nix @@ -17,13 +17,14 @@ let pipe types ; - inherit (lib.${namespace}) mkBoolOpt; + inherit (lib.${namespace}) mkBoolOpt mkOpt; cfg = config.${namespace}.nix; in { options.${namespace}.nix = with types; { enable = mkBoolOpt true "Whether or not to manage nix configuration."; + package = mkOpt package pkgs.nixVersions.latest "Which nix package to use."; }; config = mkIf cfg.enable { diff --git a/systems/x86_64-linux/grovetender/default.nix b/systems/x86_64-linux/grovetender/default.nix index f3a3e19c..a8afe502 100644 --- a/systems/x86_64-linux/grovetender/default.nix +++ b/systems/x86_64-linux/grovetender/default.nix @@ -32,12 +32,6 @@ in bluetooth = enabled; cpu.amd = enabled; opengl = enabled; - - storage = { - enable = true; - - ssdEnable = true; - }; }; programs = { @@ -61,11 +55,7 @@ in }; services = { - avahi = enabled; - # TODO: input-leap replace barrier - geoclue = enabled; power = enabled; - printing = enabled; openssh = { enable = true; @@ -111,7 +101,6 @@ in enable = true; optimizeTcp = true; }; - realtime = enabled; time = enabled; };