From 9f806822a4c854e84df847138ab49e9979f71258 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kier=C3=A1n=20Meinhardt?= Date: Fri, 2 Jan 2026 17:04:50 +0100 Subject: [PATCH] applicative user --- configs/default.nix | 50 +++++++++++++++++++++++++++++++++++++++++++++ configs/nix.nix | 2 +- 2 files changed, 51 insertions(+), 1 deletion(-) diff --git a/configs/default.nix b/configs/default.nix index ec75da1..249d979 100644 --- a/configs/default.nix +++ b/configs/default.nix @@ -105,6 +105,56 @@ in supportedLocales = [ "all" ]; }; } + { + services.displayManager.cosmic-greeter.enable = false; + services.desktopManager.cosmic.enable = true; + services.system76-scheduler.enable = true; + + users.users.applicative = { + name = "applicative"; + description = "<*>"; + hashedPasswordFile = config.age.secrets.kfm-password.path; + isNormalUser = true; + extraGroups = [ + "pipewire" + "audio" + ]; + }; + + # to run nspawn in nix sandbox + nix.settings = { + auto-allocate-uids = true; + system-features = [ "uid-range" ]; + experimental-features = [ + "auto-allocate-uids" + "cgroups" + ]; + }; + + services.restic.backups.niveum = { + extraBackupArgs = [ + "--exclude=${config.users.users.applicative.home}/src/nixpkgs/.git" + ]; + paths = [ + config.users.users.applicative.home + ]; + }; + + security.sudo.extraRules = [ + { + # still required for systemd-nspawn + users = [ config.users.users.applicative.name ]; + commands = [ "ALL" ]; + } + ]; + + home-manager.users.applicative = { + xdg.enable = true; + home.stateVersion = "25.11"; + # programs.git = config.home-manager.users.me.programs.git; + # programs.alacritty = config.home-manager.users.me.programs.alacritty; + }; + } { services.displayManager = { autoLogin = { diff --git a/configs/nix.nix b/configs/nix.nix index fcfc36b..82011d9 100644 --- a/configs/nix.nix +++ b/configs/nix.nix @@ -8,6 +8,6 @@ }; nix = { package = pkgs.nixVersions.stable; - extraOptions = "experimental-features = nix-command flakes"; + settings.experimental-features = [ "nix-command" "flakes" ]; }; }