diff --git a/hetzner-vpn1.nix b/hetzner-vpn1.nix index 5aaf7ce..da00bf0 100644 --- a/hetzner-vpn1.nix +++ b/hetzner-vpn1.nix @@ -7,8 +7,12 @@ ]; config = { - my.server.enable = true; + my = { + enabledUsers = ["vinzenz"]; + server.enable = true; + }; + # TODO change to user "vinzenz" when tested users.users.root.openssh.authorizedKeys.keys = [ ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICdYqY3Y1/f1bsAi5Qfyr/UWuX9ixu96IeAlhoQaJkbf'' ]; diff --git a/modules/default.nix b/modules/default.nix index 0585543..60755fa 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -5,10 +5,11 @@ modulesCfg: {lib, ...}: { ./nixpkgs.nix ./globalinstalls.nix ./server.nix + ./desktop ] ++ (map (path: (import path modulesCfg)) [ - ./desktop ./hardware + ./users ]); config = { diff --git a/modules/desktop/default.nix b/modules/desktop/default.nix index 6d9ed44..d8f88b5 100644 --- a/modules/desktop/default.nix +++ b/modules/desktop/default.nix @@ -1,25 +1,16 @@ -modulesCfg: { +{ config, pkgs, lib, ... }: let - enableHomeManager = modulesCfg.enableHomeManager; cfg = config.my.desktop; in { - imports = - [ - ./gnome.nix - ./kde.nix - ./vinzenz.nix - ./ronja.nix - ./gaming.nix - ] - ++ lib.optionals enableHomeManager [ - - ]; - - options.my.modulesCfg.enableHomeManager = lib.mkEnableOption "enable home manager"; + imports = [ + ./gnome.nix + ./kde.nix + ./gaming.nix + ]; options.my.desktop.enable = lib.mkEnableOption "desktop"; @@ -57,6 +48,7 @@ in { }; programs = { + git.package = pkgs.gitFull; steam = { enable = true; remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play @@ -96,15 +88,6 @@ in { ''; }; - programs = { - zsh.enable = true; - - git = { - enable = true; - package = pkgs.gitFull; - }; - }; - environment = { pathsToLink = ["/share/zsh"]; diff --git a/modules/desktop/gnome.nix b/modules/desktop/gnome.nix index 4a39991..9e754f3 100644 --- a/modules/desktop/gnome.nix +++ b/modules/desktop/gnome.nix @@ -4,60 +4,63 @@ lib, ... }: let - desktopCfg = config.my.desktop; - isEnabled = desktopCfg.enableGnome; - - applyGnomeUserSettings = { - home.packages = with pkgs; [ - gnome.gpaste - amberol - ]; - dconf.settings = { - "org/gnome/desktop/peripherals/keyboard" = { - numlock-state = true; - }; - }; - }; + isEnabled = config.my.desktop.enableGnome; + enableHomeManager = config.my.modulesCfg.enableHomeManager; in { options.my.desktop.enableGnome = lib.mkEnableOption "gnome desktop"; - config = lib.mkIf isEnabled { - my.desktop.enable = true; + config = lib.mkMerge [ + (lib.mkIf isEnabled { + my.desktop.enable = true; - services = { - xserver = { - # Enable the GNOME Desktop Environment. - displayManager.gdm.enable = true; - desktopManager.gnome.enable = true; + services = { + xserver = { + # Enable the GNOME Desktop Environment. + displayManager.gdm.enable = true; + desktopManager.gnome.enable = true; + }; + + gnome = { + tracker-miners.enable = false; + tracker.enable = false; + }; }; - gnome = { - tracker-miners.enable = false; - tracker.enable = false; + programs.gpaste.enable = true; + + environment = { + systemPackages = with pkgs; [ + gnomeExtensions.gsconnect + ]; + + # remove some gnome default apps + gnome.excludePackages = with pkgs.gnome; [ + cheese # photo booth + epiphany # web browser + evince # document viewer + geary # email client + seahorse # password manager + gnome-clocks + gnome-maps + gnome-weather + gnome-music + pkgs.gnome-connections + ]; }; - }; - - environment.systemPackages = with pkgs; [ - gnomeExtensions.gsconnect - ]; - - # remove some gnome default apps - environment.gnome.excludePackages = with pkgs.gnome; [ - cheese # photo booth - epiphany # web browser - evince # document viewer - geary # email client - seahorse # password manager - gnome-clocks - gnome-maps - gnome-weather - gnome-music - pkgs.gnome-connections - ]; - - home-manager.users = { - vinzenz = lib.mkIf desktopCfg.vinzenz.enable applyGnomeUserSettings; - ronja = lib.mkIf desktopCfg.ronja.enable applyGnomeUserSettings; - }; - }; + }) + (lib.mkIf (isEnabled && enableHomeManager) { + home-manager.sharedModules = [ + { + home.packages = with pkgs; [ + amberol + ]; + dconf.settings = { + "org/gnome/desktop/peripherals/keyboard" = { + numlock-state = true; + }; + }; + } + ]; + }) + ]; } diff --git a/modules/desktop/kde.nix b/modules/desktop/kde.nix index ed07670..253ff29 100644 --- a/modules/desktop/kde.nix +++ b/modules/desktop/kde.nix @@ -4,62 +4,58 @@ lib, ... }: let - desktopCfg = config.my.desktop; - isEnabled = desktopCfg.enableKde; - - applyKdeUserSettings = { - home = { - packages = with pkgs; [ - ]; - }; - services.kdeconnect = { - enable = true; - indicator = true; - }; - }; + isEnabled = config.my.desktop.enableKde; + enableHomeManager = config.my.modulesCfg.enableHomeManager; in { options.my.desktop.enableKde = lib.mkEnableOption "KDE desktop"; - config = lib.mkIf isEnabled { - my.desktop.enable = true; + config = lib.mkMerge [ + (lib.mkIf isEnabled { + my.desktop.enable = true; - # flatpak xdg-portal-kde crashes, otherwise this would be global - services.flatpak.enable = false; + # flatpak xdg-portal-kde crashes, otherwise this would be global + services.flatpak.enable = false; - services = { - # Enable the KDE Plasma Desktop Environment. - xserver = { - desktopManager.plasma5.enable = true; + services = { + # Enable the KDE Plasma Desktop Environment. + xserver = { + desktopManager.plasma5.enable = true; - displayManager = { - sddm.enable = true; - defaultSession = "plasmawayland"; + displayManager = { + sddm.enable = true; + defaultSession = "plasmawayland"; + }; }; }; - }; - environment = { - systemPackages = with pkgs; [ - libsForQt5.kate - libsForQt5.kalk + environment = { + systemPackages = with pkgs; [ + libsForQt5.kate + libsForQt5.kalk + ]; + + plasma5.excludePackages = with pkgs.libsForQt5; [ + elisa + gwenview + okular + khelpcenter + ]; + }; + + programs = { + dconf.enable = true; + partition-manager.enable = true; + }; + }) + (lib.mkIf (isEnabled && enableHomeManager) { + home-manager.sharedModules = [ + { + services.kdeconnect = { + enable = true; + indicator = true; + }; + } ]; - - plasma5.excludePackages = with pkgs.libsForQt5; [ - elisa - gwenview - okular - khelpcenter - ]; - }; - - programs = { - dconf.enable = true; - partition-manager.enable = true; - }; - - home-manager.users = { - vinzenz = lib.mkIf desktopCfg.vinzenz.enable applyKdeUserSettings; - ronja = lib.mkIf desktopCfg.ronja.enable applyKdeUserSettings; - }; - }; + }) + ]; } diff --git a/modules/desktop/ronja.nix b/modules/desktop/ronja.nix deleted file mode 100644 index 151b013..0000000 --- a/modules/desktop/ronja.nix +++ /dev/null @@ -1,109 +0,0 @@ -{ - config, - pkgs, - lib, - ... -}: -with lib; let - cfg = config.my.desktop.ronja; -in { - options.my.desktop.ronja.enable = lib.mkEnableOption "user ronja"; - - config = lib.mkIf cfg.enable { - # Define user account - users.users.ronja = { - isNormalUser = true; - description = "Ronja Spiegelberg"; - extraGroups = ["networkmanager" "wheel"]; - shell = pkgs.zsh; - }; - - # home manager - home-manager.users.ronja = { - config, - pkgs, - ... - }: { - home = { - username = "ronja"; - homeDirectory = "/home/ronja"; - stateVersion = "22.11"; - - sessionVariables = { - EDITOR = "nano"; - }; - - packages = with pkgs; [ - ## Apps - telegram-desktop - kdiff3 - ]; - - file.".nanorc".text = '' - set linenumbers - set mouse - ''; - }; - - programs = { - home-manager.enable = true; - - firefox.enable = true; - command-not-found.enable = true; - dircolors.enable = true; - htop.enable = true; - - zsh = { - enable = true; - - enableSyntaxHighlighting = true; - enableAutosuggestions = true; - enableVteIntegration = true; - - history = { - size = 10000; - path = "${config.xdg.dataHome}/zsh/history"; - expireDuplicatesFirst = true; - }; - - oh-my-zsh = { - enable = true; - theme = "agnoster"; - plugins = ["git" "sudo" "systemadmin"]; - }; - }; - - git = { - enable = true; - userName = "Ronja Spiegelberg"; - userEmail = "ronja.spiegelberg@gmail.com"; - - extraConfig = { - pull.ff = "only"; - init.defaultBranch = "main"; - merge.tool = "kdiff3"; - }; - }; - - gh = { - enable = true; - enableGitCredentialHelper = true; - }; - - chromium = { - enable = true; - extensions = [ - { - # ublock origin - id = "cjpalhdlnbpafiamejdnhcphjbkeiagm"; - } - { - id = "dcpihecpambacapedldabdbpakmachpb"; - updateUrl = "https://raw.githubusercontent.com/iamadamdev/bypass-paywalls-chrome/master/updates.xml"; - } - ]; - }; - }; - }; - }; -} diff --git a/modules/desktop/vinzenz.nix b/modules/desktop/vinzenz.nix deleted file mode 100644 index 8a6dccf..0000000 --- a/modules/desktop/vinzenz.nix +++ /dev/null @@ -1,223 +0,0 @@ -{ - config, - pkgs, - lib, - ... -}: let - cfg = config.my.desktop.vinzenz; -in { - options.my.desktop.vinzenz.enable = lib.mkEnableOption "user vinzenz"; - - config = lib.mkIf cfg.enable { - # Define user account - users.users.vinzenz = { - isNormalUser = true; - description = "Vinzenz Schroeter"; - extraGroups = ["networkmanager" "wheel"]; - shell = pkgs.zsh; - }; - - # home manager - home-manager.users.vinzenz = { - config, - pkgs, - ... - }: { - home = { - username = "vinzenz"; - homeDirectory = "/home/vinzenz"; - stateVersion = "22.11"; - - sessionVariables = { - EDITOR = "nano"; - }; - - packages = with pkgs; [ - keepassxc - insync - telegram-desktop - simple-scan - wireguard-tools - element-desktop - etcher - iotop - lsof - wirelesstools - thefuck - dotnet-sdk_7 - jetbrains.rider - alejandra - arduino - uucp - screen - jetbrains.pycharm-professional - kdiff3 - docker - youtube-music - ]; - - file.".nanorc".text = '' - set linenumbers - set mouse - ''; - }; - - programs = { - home-manager.enable = true; - - firefox.enable = true; - command-not-found.enable = true; - dircolors.enable = true; - fzf.enable = true; - htop.enable = true; - mangohud.enable = true; - - zsh = { - enable = true; - - enableSyntaxHighlighting = true; - enableAutosuggestions = true; - enableVteIntegration = true; - - initExtra = '' - eval "$(direnv hook zsh)"; - eval $(thefuck --alias); - ''; - - shellAliases = { - my-apply = "sudo nixos-rebuild boot"; - my-switch = "sudo nixos-rebuild switch"; - my-update = "sudo nixos-rebuild boot --upgrade"; - my-fmt = "alejandra ."; - my-direnvallow = "echo \"use nix\" > .envrc && direnv allow"; - my-ip4 = "ip addr show | grep 192"; - }; - - history = { - size = 10000; - path = "${config.xdg.dataHome}/zsh/history"; - expireDuplicatesFirst = true; - }; - - oh-my-zsh = { - enable = true; - theme = "agnoster"; - plugins = ["git" "sudo" "docker" "systemadmin" "thefuck"]; - }; - }; - - git = { - enable = true; - userName = "Vinzenz Schroeter"; - userEmail = "vinzenz.f.s@gmail.com"; - - aliases = { - prettylog = "log --pretty=oneline --graph"; - }; - - extraConfig = { - pull.ff = "only"; - init.defaultBranch = "main"; - merge.tool = "kdiff3"; - push.autoSetupRemote = "true"; - }; - }; - - gh = { - enable = true; - enableGitCredentialHelper = true; - }; - - vscode = { - enable = true; - package = pkgs.vscodium; - enableUpdateCheck = false; - extensions = with pkgs; [ - vscode-extensions.bbenoist.nix - vscode-extensions.ms-python.python - vscode-extensions.kamadorueda.alejandra - ]; - userSettings = { - "git.autofetch" = true; - "update.mode" = "none"; - "editor.fontFamily" = "'Fira Code', 'Droid Sans Mono', 'monospace', monospace"; - "editor.fontLigatures" = true; - "editor.formatOnSave" = true; - "editor.formatOnSaveMode" = "modificationsIfAvailable"; - "editor.minimap.autohide" = true; - "diffEditor.diffAlgorithm" = "advanced"; - "explorer.excludeGitIgnore" = true; - "workbench.startupEditor" = "readme"; - "markdown.extension.tableFormatter.normalizeIndentation" = true; - "markdown.extension.toc.orderedList" = false; - "telemetry.telemetryLevel" = "off"; - "redhat.telemetry.enabled" = false; - "workbench.enableExperiments" = false; - }; - }; - - direnv = { - enable = true; - nix-direnv.enable = true; - }; - - chromium = { - enable = true; - extensions = [ - { - # ublock origin - id = "cjpalhdlnbpafiamejdnhcphjbkeiagm"; - } - { - id = "dcpihecpambacapedldabdbpakmachpb"; - updateUrl = "https://raw.githubusercontent.com/iamadamdev/bypass-paywalls-chrome/master/updates.xml"; - } - ]; - }; - - exa = { - enable = true; - git = true; - icons = true; - enableAliases = true; - extraOptions = [ - "--group-directories-first" - "--header" - ]; - }; - - micro = { - enable = true; - settings = { - colorcolumn = 120; - hlsearch = true; - savecursor = true; - saveundo = true; - scrollbar = true; - smartpaste = true; - }; - }; - - # checked https://rycee.gitlab.io/home-manager/options.html until "programs.notmuch" - }; - - editorconfig = { - enable = true; - settings = { - "*" = { - charset = "utf-8"; - end_of_line = "lf"; - trim_trailing_whitespace = true; - insert_final_newline = true; - max_line_width = 120; - indent_style = "space"; - indent_size = 4; - }; - "*.nix" = { - indent_size = 2; - }; - }; - }; - }; - }; -} diff --git a/modules/globalinstalls.nix b/modules/globalinstalls.nix index dd60577..412a50a 100644 --- a/modules/globalinstalls.nix +++ b/modules/globalinstalls.nix @@ -1,10 +1,18 @@ {pkgs, ...}: { config = { - environment.systemPackages = with pkgs; [ - pciutils - ncdu - htop - tldr - ]; + environment = { + pathsToLink = ["/share/zsh"]; + systemPackages = with pkgs; [ + pciutils + ncdu + tldr + ]; + }; + + programs = { + git.enable = true; + zsh.enable = true; + htop.enable = true; + }; }; } diff --git a/modules/server.nix b/modules/server.nix index 46dffb4..a79adad 100644 --- a/modules/server.nix +++ b/modules/server.nix @@ -23,11 +23,6 @@ in { }; }; - programs = { - git.enable = true; - zsh.enable = true; - }; - networking.firewall = { enable = true; allowedTCPPortRanges = [ diff --git a/modules/users/default.nix b/modules/users/default.nix new file mode 100644 index 0000000..6e33607 --- /dev/null +++ b/modules/users/default.nix @@ -0,0 +1,69 @@ +modulesCfg: { + config, + pkgs, + lib, + ... +}: let + enableHomeManager = modulesCfg.enableHomeManager; +in { + options.my = { + modulesCfg.enableHomeManager = lib.mkEnableOption "enable home manager"; + enabledUsers = lib.mkOption { + type = lib.types.listOf lib.types.str; + }; + }; + + imports = + [ + ./vinzenz.nix + ./ronja.nix + ] + ++ lib.optionals enableHomeManager [ + + ]; + + config = lib.mkIf enableHomeManager { + home-manager.sharedModules = [ + # set stateVersion + {home.stateVersion = "22.11";} + # make nano the default editor + { + home = { + sessionVariables.EDITOR = "nano"; + file.".nanorc".text = lib.mkDefault '' + set linenumbers + set mouse + ''; + }; + } + # command line niceness + { + programs = { + command-not-found.enable = true; + dircolors.enable = true; + + zsh = { + enable = true; + enableSyntaxHighlighting = true; + enableAutosuggestions = true; + enableVteIntegration = true; + }; + }; + } + # common git config + { + programs = { + git = { + enable = true; + extraConfig.init.defaultBranch = "main"; + }; + + gh = { + enable = true; + enableGitCredentialHelper = true; + }; + }; + } + ]; + }; +} diff --git a/modules/users/ronja-home.nix b/modules/users/ronja-home.nix new file mode 100644 index 0000000..3e1982d --- /dev/null +++ b/modules/users/ronja-home.nix @@ -0,0 +1,55 @@ +{ + config, + pkgs, + ... +}: { + home .packages = with pkgs; [ + ## Apps + telegram-desktop + kdiff3 + ]; + + programs = { + home-manager.enable = true; + + firefox.enable = true; + + zsh = { + history = { + size = 10000; + path = "${config.xdg.dataHome}/zsh/history"; + expireDuplicatesFirst = true; + }; + + oh-my-zsh = { + enable = true; + theme = "agnoster"; + plugins = ["git" "sudo" "systemadmin"]; + }; + }; + + git = { + userName = "Ronja Spiegelberg"; + userEmail = "ronja.spiegelberg@gmail.com"; + + extraConfig = { + pull.ff = "only"; + merge.tool = "kdiff3"; + }; + }; + + chromium = { + enable = true; + extensions = [ + { + # ublock origin + id = "cjpalhdlnbpafiamejdnhcphjbkeiagm"; + } + { + id = "dcpihecpambacapedldabdbpakmachpb"; + updateUrl = "https://raw.githubusercontent.com/iamadamdev/bypass-paywalls-chrome/master/updates.xml"; + } + ]; + }; + }; +} diff --git a/modules/users/ronja.nix b/modules/users/ronja.nix new file mode 100644 index 0000000..8ca8311 --- /dev/null +++ b/modules/users/ronja.nix @@ -0,0 +1,25 @@ +{ + config, + pkgs, + lib, + ... +}: let + isUserEnabled = builtins.elem "ronja" config.my.enabledUsers; +in { + config = lib.mkMerge [ + (lib.mkIf isUserEnabled { + # Define user account + users.users.ronja = { + isNormalUser = true; + name = "ronja"; + description = "Ronja Spiegelberg"; + home = "/home/ronja"; + extraGroups = ["networkmanager" "wheel" "games"]; + shell = pkgs.zsh; + }; + }) + (lib.mkIf (isUserEnabled && config.my.modulesCfg.enableHomeManager) { + home-manager.users.ronja = import ./ronja-home.nix; + }) + ]; +} diff --git a/modules/users/vinzenz-home.nix b/modules/users/vinzenz-home.nix new file mode 100644 index 0000000..351fcd8 --- /dev/null +++ b/modules/users/vinzenz-home.nix @@ -0,0 +1,173 @@ +{ + config, + pkgs, + ... +}: { + home.packages = with pkgs; [ + keepassxc + insync + telegram-desktop + simple-scan + wireguard-tools + element-desktop + etcher + iotop + lsof + wirelesstools + thefuck + dotnet-sdk_7 + jetbrains.rider + alejandra + arduino + uucp + screen + jetbrains.pycharm-professional + kdiff3 + docker + youtube-music + ]; + + programs = { + home-manager.enable = true; + + firefox.enable = true; + fzf.enable = true; + mangohud.enable = true; + + zsh = { + initExtra = '' + eval "$(direnv hook zsh)"; + eval $(thefuck --alias); + ''; + + shellAliases = { + my-apply = "sudo nixos-rebuild boot"; + my-switch = "sudo nixos-rebuild switch"; + my-update = "sudo nixos-rebuild boot --upgrade"; + my-fmt = "alejandra ."; + my-test = "sudo nixos-rebuild test"; + my-direnvallow = "echo \"use nix\" > .envrc && direnv allow"; + my-ip4 = "ip addr show | grep 192"; + }; + + history = { + size = 10000; + path = "${config.xdg.dataHome}/zsh/history"; + expireDuplicatesFirst = true; + }; + + oh-my-zsh = { + enable = true; + theme = "agnoster"; + plugins = ["git" "sudo" "docker" "systemadmin" "thefuck"]; + }; + }; + + git = { + enable = true; + userName = "Vinzenz Schroeter"; + userEmail = "vinzenz.f.s@gmail.com"; + + aliases = { + prettylog = "log --pretty=oneline --graph"; + }; + + extraConfig = { + pull.ff = "only"; + init.defaultBranch = "main"; + merge.tool = "kdiff3"; + push.autoSetupRemote = "true"; + }; + }; + + vscode = { + enable = true; + package = pkgs.vscodium; + enableUpdateCheck = false; + extensions = with pkgs; [ + vscode-extensions.bbenoist.nix + vscode-extensions.ms-python.python + vscode-extensions.kamadorueda.alejandra + ]; + userSettings = { + "git.autofetch" = true; + "update.mode" = "none"; + "editor.fontFamily" = "'Fira Code', 'Droid Sans Mono', 'monospace', monospace"; + "editor.fontLigatures" = true; + "editor.formatOnSave" = true; + "editor.formatOnSaveMode" = "modificationsIfAvailable"; + "editor.minimap.autohide" = true; + "diffEditor.diffAlgorithm" = "advanced"; + "explorer.excludeGitIgnore" = true; + "workbench.startupEditor" = "readme"; + "markdown.extension.tableFormatter.normalizeIndentation" = true; + "markdown.extension.toc.orderedList" = false; + "telemetry.telemetryLevel" = "off"; + "redhat.telemetry.enabled" = false; + "workbench.enableExperiments" = false; + }; + }; + + direnv = { + enable = true; + nix-direnv.enable = true; + }; + + chromium = { + enable = true; + extensions = [ + { + # ublock origin + id = "cjpalhdlnbpafiamejdnhcphjbkeiagm"; + } + { + id = "dcpihecpambacapedldabdbpakmachpb"; + updateUrl = "https://raw.githubusercontent.com/iamadamdev/bypass-paywalls-chrome/master/updates.xml"; + } + ]; + }; + + exa = { + enable = true; + git = true; + icons = true; + enableAliases = true; + extraOptions = [ + "--group-directories-first" + "--header" + ]; + }; + + micro = { + enable = true; + settings = { + colorcolumn = 120; + hlsearch = true; + savecursor = true; + saveundo = true; + scrollbar = true; + smartpaste = true; + }; + }; + + # checked https://rycee.gitlab.io/home-manager/options.html until "programs.notmuch" + }; + + editorconfig = { + enable = true; + settings = { + "*" = { + charset = "utf-8"; + end_of_line = "lf"; + trim_trailing_whitespace = true; + insert_final_newline = true; + max_line_width = 120; + indent_style = "space"; + indent_size = 4; + }; + "*.nix" = { + indent_size = 2; + }; + }; + }; +} diff --git a/modules/users/vinzenz.nix b/modules/users/vinzenz.nix new file mode 100644 index 0000000..58cff2d --- /dev/null +++ b/modules/users/vinzenz.nix @@ -0,0 +1,24 @@ +{ + config, + pkgs, + lib, + ... +}: let + isUserEnabled = builtins.elem "vinzenz" config.my.enabledUsers; +in { + config = lib.mkMerge [ + (lib.mkIf isUserEnabled { + users.users.vinzenz = { + isNormalUser = true; + name = "vinzenz"; + description = "Vinzenz Schroeter"; + home = "/home/vinzenz"; + extraGroups = ["networkmanager" "wheel" "games"]; + shell = pkgs.zsh; + }; + }) + (lib.mkIf (isUserEnabled && config.my.modulesCfg.enableHomeManager) { + home-manager.users.vinzenz = import ./vinzenz-home.nix; + }) + ]; +} diff --git a/vinzenz-lpt.nix b/vinzenz-lpt.nix index a12faee..e184e77 100644 --- a/vinzenz-lpt.nix +++ b/vinzenz-lpt.nix @@ -7,11 +7,12 @@ ]; config = { - my.desktop = { - enableGnome = true; - enableGaming = true; - - vinzenz.enable = true; + my = { + enabledUsers = ["vinzenz"]; + desktop = { + enableGnome = true; + enableGaming = true; + }; }; # flatpak xdg-portal-kde crashes, otherwise this would be global diff --git a/vinzenz-pc2.nix b/vinzenz-pc2.nix index 668b4b8..a67ce96 100644 --- a/vinzenz-pc2.nix +++ b/vinzenz-pc2.nix @@ -7,16 +7,12 @@ ]; config = { - my.desktop = { - enableKde = true; - enableGaming = true; - - vinzenz.enable = true; - ronja.enable = true; - }; - - users.groups."games" = { - members = ["vinzenz" "ronja"]; + my = { + enabledUsers = ["vinzenz" "ronja"]; + desktop = { + enableKde = true; + enableGaming = true; + }; }; users.users.vinzenz.openssh.authorizedKeys.keys = [