diff --git a/flake.nix b/flake.nix index 7e3da4c..44ca8b7 100644 --- a/flake.nix +++ b/flake.nix @@ -1,40 +1,40 @@ { - inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - home-manager = { - url = "github:nix-community/home-manager/"; - inputs.nixpkgs.follows = "nixpkgs"; + home-manager = { + url = "github:nix-community/home-manager/"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + nix-index-database = { + url = "github:Mic92/nix-index-database"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + sops-nix = { + url = "github:Mic92/sops-nix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; - nix-index-database = { - url = "github:Mic92/nix-index-database"; - inputs.nixpkgs.follows = "nixpkgs"; - }; + outputs = {nixpkgs, ...} @ inputs: let + system = "x86_64-linux"; + pkgs = nixpkgs.legacyPackages.${system}; + in { + nixosConfigurations = { + dell-laptop = nixpkgs.lib.nixosSystem { + inherit system; + specialArgs = {inherit inputs;}; + modules = [ + ./hosts/dell-laptop + ./users/seb + ]; + }; + }; - sops-nix = { - url = "github:Mic92/sops-nix"; - inputs.nixpkgs.follows = "nixpkgs"; + devShells.${system}.default = pkgs.mkShell { + packages = [pkgs.sops]; + }; }; - }; - - outputs = {nixpkgs, ...} @ inputs: let - system = "x86_64-linux"; - pkgs = nixpkgs.legacyPackages.${system}; - in { - nixosConfigurations = { - dell-laptop = nixpkgs.lib.nixosSystem { - inherit system; - specialArgs = {inherit inputs;}; - modules = [ - ./hosts/dell-laptop - ./users/seb - ]; - }; - }; - - devShells.${system}.default = pkgs.mkShell { - packages = [pkgs.sops]; - }; - }; } diff --git a/hosts/default.nix b/hosts/default.nix index f0f9c76..1f2a1c8 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -1,34 +1,34 @@ {pkgs, ...}: { - imports = [../modules/system]; + imports = [../modules/system]; - system.stateVersion = "23.11"; + system.stateVersion = "23.11"; - nix.settings = { - experimental-features = ["nix-command" "flakes"]; - auto-optimise-store = true; - warn-dirty = false; - trusted-users = ["root" "@wheel"]; - }; + nix.settings = { + experimental-features = ["nix-command" "flakes"]; + auto-optimise-store = true; + warn-dirty = false; + trusted-users = ["root" "@wheel"]; + }; - nixpkgs.config.allowUnfree = true; + nixpkgs.config.allowUnfree = true; - console.keyMap = "de-latin1-nodeadkeys"; - time.timeZone = "Europe/Berlin"; - i18n.defaultLocale = "en_US.UTF-8"; - i18n.extraLocaleSettings = { - LC_ADDRESS = "de_DE.UTF-8"; - LC_IDENTIFICATION = "de_DE.UTF-8"; - LC_MEASUREMENT = "de_DE.UTF-8"; - LC_MONETARY = "de_DE.UTF-8"; - LC_NAME = "de_DE.UTF-8"; - LC_NUMERIC = "de_DE.UTF-8"; - LC_PAPER = "de_DE.UTF-8"; - LC_TELEPHONE = "de_DE.UTF-8"; - LC_TIME = "de_DE.UTF-8"; - }; + console.keyMap = "de-latin1-nodeadkeys"; + time.timeZone = "Europe/Berlin"; + i18n.defaultLocale = "en_US.UTF-8"; + i18n.extraLocaleSettings = { + LC_ADDRESS = "de_DE.UTF-8"; + LC_IDENTIFICATION = "de_DE.UTF-8"; + LC_MEASUREMENT = "de_DE.UTF-8"; + LC_MONETARY = "de_DE.UTF-8"; + LC_NAME = "de_DE.UTF-8"; + LC_NUMERIC = "de_DE.UTF-8"; + LC_PAPER = "de_DE.UTF-8"; + LC_TELEPHONE = "de_DE.UTF-8"; + LC_TIME = "de_DE.UTF-8"; + }; - environment.systemPackages = [ - pkgs.git - pkgs.neovim - ]; + environment.systemPackages = [ + pkgs.git + pkgs.neovim + ]; } diff --git a/hosts/dell-laptop/default.nix b/hosts/dell-laptop/default.nix index 8895278..47a1c16 100644 --- a/hosts/dell-laptop/default.nix +++ b/hosts/dell-laptop/default.nix @@ -1,52 +1,52 @@ {pkgs, ...}: { - imports = [ - ../default.nix - ./hardware.nix - ]; + imports = [ + ../default.nix + ./hardware.nix + ]; - networking.hostName = "dell-laptop"; + networking.hostName = "dell-laptop"; - myConfig = { - boot-loader.systemd-boot.enable = true; + myConfig = { + boot-loader.systemd-boot.enable = true; - dm.lightdm.enable = true; - de.qtile.enable = true; + dm.lightdm.enable = true; + de.qtile.enable = true; - wlan.enable = true; - bluetooth.enable = true; + wlan.enable = true; + bluetooth.enable = true; - sound.pipewire.enable = true; - auto-gc.enable = true; - vm.qemu.enable = true; - flatpak.enable = true; - vpn.lgs.enable = true; - comma.enable = true; - sops.enable = true; - auto-cpufreq.enable = true; - doas.enable = false; - }; - - boot.kernelPackages = pkgs.linuxPackages_latest; - services.gvfs.enable = true; - - services.autorandr = { - enable = true; - profiles = { - "laptop" = { - fingerprint = { - "eDP-1" = "00ffffffffffff000dae221500000000161e0104a52213780328659759548e271e5054000000010101010101010101010101010101015c6f80a070383e403020a50058c11000001a000000fd00307889891d010a202020202020000000fe00594d485748803135364852410a000000000001410f99001000000b010a2020016970137900000301145c6f00047f079f002f001f003704b4040900040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a90"; - }; - config = { - "eDP-1" = { - enable = true; - primary = true; - position = "0x0"; - mode = "1920x1080"; - rate = "60"; - }; - }; - }; + sound.pipewire.enable = true; + auto-gc.enable = true; + vm.qemu.enable = true; + flatpak.enable = true; + vpn.lgs.enable = true; + comma.enable = true; + sops.enable = true; + auto-cpufreq.enable = true; + doas.enable = false; }; - }; - services.xserver.displayManager.sessionCommands = "autorandr -c"; + + boot.kernelPackages = pkgs.linuxPackages_latest; + services.gvfs.enable = true; + + services.autorandr = { + enable = true; + profiles = { + "laptop" = { + fingerprint = { + "eDP-1" = "00ffffffffffff000dae221500000000161e0104a52213780328659759548e271e5054000000010101010101010101010101010101015c6f80a070383e403020a50058c11000001a000000fd00307889891d010a202020202020000000fe00594d485748803135364852410a000000000001410f99001000000b010a2020016970137900000301145c6f00047f079f002f001f003704b4040900040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a90"; + }; + config = { + "eDP-1" = { + enable = true; + primary = true; + position = "0x0"; + mode = "1920x1080"; + rate = "60"; + }; + }; + }; + }; + }; + services.xserver.displayManager.sessionCommands = "autorandr -c"; } diff --git a/hosts/dell-laptop/hardware.nix b/hosts/dell-laptop/hardware.nix index ee7c65b..ee5be4a 100644 --- a/hosts/dell-laptop/hardware.nix +++ b/hosts/dell-laptop/hardware.nix @@ -1,34 +1,34 @@ { - config, - lib, - modulesPath, - ... + config, + lib, + modulesPath, + ... }: { - imports = [ - (modulesPath + "/installer/scan/not-detected.nix") - ]; + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; - boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usb_storage" "sd_mod"]; - boot.initrd.kernelModules = []; - boot.kernelModules = ["kvm-amd"]; - boot.extraModulePackages = []; + boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usb_storage" "sd_mod"]; + boot.initrd.kernelModules = []; + boot.kernelModules = ["kvm-amd"]; + boot.extraModulePackages = []; - fileSystems."/" = { - device = "/dev/disk/by-uuid/92437114-de06-4a78-9ee3-c7d0ffcabf95"; - fsType = "ext4"; - }; + fileSystems."/" = { + device = "/dev/disk/by-uuid/92437114-de06-4a78-9ee3-c7d0ffcabf95"; + fsType = "ext4"; + }; - fileSystems."/boot" = { - device = "/dev/disk/by-uuid/D8B4-1218"; - fsType = "vfat"; - }; + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/D8B4-1218"; + fsType = "vfat"; + }; - swapDevices = [ - {device = "/dev/disk/by-uuid/1eba93d1-4853-4534-8cfd-5c14e29c6ff6";} - ]; + swapDevices = [ + {device = "/dev/disk/by-uuid/1eba93d1-4853-4534-8cfd-5c14e29c6ff6";} + ]; - networking.useDHCP = lib.mkDefault true; + networking.useDHCP = lib.mkDefault true; - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; } diff --git a/modules/home/default.nix b/modules/home/default.nix index 142b676..699be90 100644 --- a/modules/home/default.nix +++ b/modules/home/default.nix @@ -1,12 +1,12 @@ { - imports = [ - ./qtile - ./vscode.nix - ./shell.nix - ./theming.nix - ./ssh-client.nix - ./git.nix - ./neovim.nix - ./kitty.nix - ]; + imports = [ + ./qtile + ./vscode.nix + ./shell.nix + ./theming.nix + ./ssh-client.nix + ./git.nix + ./neovim.nix + ./kitty.nix + ]; } diff --git a/modules/home/git.nix b/modules/home/git.nix index a85f3c9..4929c00 100644 --- a/modules/home/git.nix +++ b/modules/home/git.nix @@ -1,22 +1,22 @@ { - config, - lib, - ... + config, + lib, + ... }: { - options.myConfig.git.enable = lib.mkEnableOption ""; + options.myConfig.git.enable = lib.mkEnableOption ""; - config = lib.mkIf config.myConfig.git.enable { - programs.git = { - enable = true; + config = lib.mkIf config.myConfig.git.enable { + programs.git = { + enable = true; - userName = "SebastianStork"; - userEmail = "sebastian.stork@pm.me"; + userName = "SebastianStork"; + userEmail = "sebastian.stork@pm.me"; - extraConfig = { - init.defaultBranch = "main"; - }; + extraConfig = { + init.defaultBranch = "main"; + }; + }; + + programs.lazygit.enable = true; }; - - programs.lazygit.enable = true; - }; } diff --git a/modules/home/kitty.nix b/modules/home/kitty.nix index 1525638..06aebd0 100644 --- a/modules/home/kitty.nix +++ b/modules/home/kitty.nix @@ -1,22 +1,22 @@ { - config, - lib, - ... + config, + lib, + ... }: { - options.myConfig.kitty.enable = lib.mkEnableOption ""; + options.myConfig.kitty.enable = lib.mkEnableOption ""; - config = lib.mkIf config.myConfig.kitty.enable { - programs.kitty = { - enable = true; - - settings = { - font_family = "JetBrainsMono Nerd Font"; - confirm_os_window_close = 0; - background_opacity = "0.7"; - scrollback_lines = 10000; - enable_audio_bell = false; - update_check_interval = 0; - }; + config = lib.mkIf config.myConfig.kitty.enable { + programs.kitty = { + enable = true; + + settings = { + font_family = "JetBrainsMono Nerd Font"; + confirm_os_window_close = 0; + background_opacity = "0.7"; + scrollback_lines = 10000; + enable_audio_bell = false; + update_check_interval = 0; + }; + }; }; - }; } diff --git a/modules/home/neovim.nix b/modules/home/neovim.nix index 2c293cb..7ea957f 100644 --- a/modules/home/neovim.nix +++ b/modules/home/neovim.nix @@ -1,17 +1,17 @@ { - config, - lib, - ... + config, + lib, + ... }: { - options.myConfig.neovim.enable = lib.mkEnableOption ""; + options.myConfig.neovim.enable = lib.mkEnableOption ""; - config = lib.mkIf config.myConfig.neovim.enable { - programs.neovim = { - enable = true; - defaultEditor = true; - viAlias = true; - vimAlias = true; - vimdiffAlias = true; + config = lib.mkIf config.myConfig.neovim.enable { + programs.neovim = { + enable = true; + defaultEditor = true; + viAlias = true; + vimAlias = true; + vimdiffAlias = true; + }; }; - }; } diff --git a/modules/home/qtile/default.nix b/modules/home/qtile/default.nix index e85773a..32e038d 100644 --- a/modules/home/qtile/default.nix +++ b/modules/home/qtile/default.nix @@ -1,44 +1,44 @@ { - config, - pkgs, - lib, - osConfig, - ... + config, + pkgs, + lib, + osConfig, + ... }: { - options.myConfig.qtile.enable = lib.mkEnableOption ""; + options.myConfig.qtile.enable = lib.mkEnableOption ""; - config = lib.mkIf config.myConfig.qtile.enable { - assertions = [ - { - assertion = osConfig.services.xserver.windowManager.qtile.enable; - message = "Qtile has to be enabled on the system level"; - } - ]; + config = lib.mkIf config.myConfig.qtile.enable { + assertions = [ + { + assertion = osConfig.services.xserver.windowManager.qtile.enable; + message = "Qtile has to be enabled on the system level"; + } + ]; - home.file.".config/qtile/config.py".source = ./files/qtile.py; - home.file.".background-image".source = ./files/background-image; + home.file.".config/qtile/config.py".source = ./files/qtile.py; + home.file.".background-image".source = ./files/background-image; - home.packages = [ - # Widget dependencies - pkgs.python311Packages.iwlib - pkgs.python311Packages.psutil - pkgs.lm_sensors + home.packages = [ + # Widget dependencies + pkgs.python311Packages.iwlib + pkgs.python311Packages.psutil + pkgs.lm_sensors - # Hotkey dependencies - pkgs.playerctl - pkgs.brightnessctl - ]; + # Hotkey dependencies + pkgs.playerctl + pkgs.brightnessctl + ]; - programs.rofi = { - enable = true; - theme = ./files/rofi-theme.rasi; + programs.rofi = { + enable = true; + theme = ./files/rofi-theme.rasi; + }; + + services.picom = { + enable = true; + vSync = true; + }; + + services.dunst.enable = true; }; - - services.picom = { - enable = true; - vSync = true; - }; - - services.dunst.enable = true; - }; } diff --git a/modules/home/shell.nix b/modules/home/shell.nix index 80de857..5036b37 100644 --- a/modules/home/shell.nix +++ b/modules/home/shell.nix @@ -1,70 +1,70 @@ { - config, - lib, - ... + config, + lib, + ... }: let - cfg = config.myConfig.shell; + cfg = config.myConfig.shell; in { - options.myConfig.shell = { - bash.enable = lib.mkEnableOption ""; - zsh.enable = lib.mkEnableOption ""; - starship.enable = lib.mkEnableOption ""; - nixAliases.enable = lib.mkEnableOption ""; - improvedCommands.enable = lib.mkEnableOption ""; - direnv.enable = lib.mkEnableOption ""; - }; + options.myConfig.shell = { + bash.enable = lib.mkEnableOption ""; + zsh.enable = lib.mkEnableOption ""; + starship.enable = lib.mkEnableOption ""; + nixAliases.enable = lib.mkEnableOption ""; + improvedCommands.enable = lib.mkEnableOption ""; + direnv.enable = lib.mkEnableOption ""; + }; - config = { - programs.bash.enable = cfg.bash.enable; + config = { + programs.bash.enable = cfg.bash.enable; - programs.zsh.enable = cfg.zsh.enable; + programs.zsh.enable = cfg.zsh.enable; - programs.starship = lib.mkIf cfg.starship.enable { - enable = true; - enableBashIntegration = cfg.bash.enable; - enableZshIntegration = cfg.zsh.enable; - settings = { - cmd_duration.disabled = true; - directory = { - truncation_length = 0; - truncation_symbol = "…/"; - truncate_to_repo = false; + programs.starship = lib.mkIf cfg.starship.enable { + enable = true; + enableBashIntegration = cfg.bash.enable; + enableZshIntegration = cfg.zsh.enable; + settings = { + cmd_duration.disabled = true; + directory = { + truncation_length = 0; + truncation_symbol = "…/"; + truncate_to_repo = false; + }; + }; + }; + + home.shellAliases = let + nixAliases = lib.mkIf cfg.nixAliases.enable { + nrs = "sudo nixos-rebuild switch"; + nrb = "sudo nixos-rebuild boot"; + nrrb = "nrb && reboot"; + nrt = "sudo nixos-rebuild test"; + nu = "sudo nix flake update"; + }; + commandAliases = lib.mkIf cfg.improvedCommands.enable { + cat = "bat -p"; + }; + in + lib.mkMerge [nixAliases commandAliases]; + + programs.lsd = lib.mkIf cfg.improvedCommands.enable { + enable = true; + enableAliases = true; + }; + + programs.bat.enable = cfg.improvedCommands.enable; + + programs.fzf.enable = cfg.improvedCommands.enable; + + programs.zoxide = lib.mkIf cfg.improvedCommands.enable { + enable = true; + options = ["--cmd cd"]; + }; + + programs.direnv = lib.mkIf cfg.direnv.enable { + enable = true; + nix-direnv.enable = true; + config.global.hide_env_diff = true; }; - }; }; - - home.shellAliases = let - nixAliases = lib.mkIf cfg.nixAliases.enable { - nrs = "sudo nixos-rebuild switch"; - nrb = "sudo nixos-rebuild boot"; - nrrb = "nrb && reboot"; - nrt = "sudo nixos-rebuild test"; - nu = "sudo nix flake update"; - }; - commandAliases = lib.mkIf cfg.improvedCommands.enable { - cat = "bat -p"; - }; - in - lib.mkMerge [nixAliases commandAliases]; - - programs.lsd = lib.mkIf cfg.improvedCommands.enable { - enable = true; - enableAliases = true; - }; - - programs.bat.enable = cfg.improvedCommands.enable; - - programs.fzf.enable = cfg.improvedCommands.enable; - - programs.zoxide = lib.mkIf cfg.improvedCommands.enable { - enable = true; - options = ["--cmd cd"]; - }; - - programs.direnv = lib.mkIf cfg.direnv.enable { - enable = true; - nix-direnv.enable = true; - config.global.hide_env_diff = true; - }; - }; } diff --git a/modules/home/ssh-client.nix b/modules/home/ssh-client.nix index f22cdb8..17a9326 100644 --- a/modules/home/ssh-client.nix +++ b/modules/home/ssh-client.nix @@ -1,21 +1,21 @@ { - config, - lib, - ... + config, + lib, + ... }: { - options.myConfig.ssh-client.enable = lib.mkEnableOption ""; + options.myConfig.ssh-client.enable = lib.mkEnableOption ""; - config = lib.mkIf config.myConfig.ssh-client.enable { - programs.ssh = { - enable = true; + config = lib.mkIf config.myConfig.ssh-client.enable { + programs.ssh = { + enable = true; - matchBlocks.kluebero-vm1 = { - hostname = "10.5.251.175"; - user = "seb"; - identitiesOnly = true; - identityFile = ["~/.ssh/kluebero/id_ed25519"]; - }; + matchBlocks.kluebero-vm1 = { + hostname = "10.5.251.175"; + user = "seb"; + identitiesOnly = true; + identityFile = ["~/.ssh/kluebero/id_ed25519"]; + }; + }; + services.ssh-agent.enable = true; }; - services.ssh-agent.enable = true; - }; } diff --git a/modules/home/theming.nix b/modules/home/theming.nix index 87ae1fc..a110407 100644 --- a/modules/home/theming.nix +++ b/modules/home/theming.nix @@ -1,45 +1,45 @@ { - config, - pkgs, - lib, - ... + config, + pkgs, + lib, + ... }: { - options.myConfig.theming.enable = lib.mkEnableOption ""; + options.myConfig.theming.enable = lib.mkEnableOption ""; - config = lib.mkIf config.myConfig.theming.enable { - dconf.settings."org/gnome/desktop/interface".color-scheme = "prefer-dark"; + config = lib.mkIf config.myConfig.theming.enable { + dconf.settings."org/gnome/desktop/interface".color-scheme = "prefer-dark"; - gtk = { - enable = true; + gtk = { + enable = true; - gtk2.configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc"; + gtk2.configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc"; - theme.name = "Adwaita-dark"; - theme.package = pkgs.gnome.gnome-themes-extra; + theme.name = "Adwaita-dark"; + theme.package = pkgs.gnome.gnome-themes-extra; - iconTheme.name = "Adwaita"; - iconTheme.package = pkgs.gnome.adwaita-icon-theme; + iconTheme.name = "Adwaita"; + iconTheme.package = pkgs.gnome.adwaita-icon-theme; - font.name = "Open Sans"; - font.package = pkgs.open-sans; + font.name = "Open Sans"; + font.package = pkgs.open-sans; + }; + + qt = { + enable = true; + platformTheme = "gnome"; + style.name = "adwaita-dark"; + style.package = pkgs.adwaita-qt; + }; + + home.pointerCursor = { + name = "Bibata-Original-Classic"; + package = pkgs.bibata-cursors; + size = 24; + x11.enable = true; + x11.defaultCursor = "X_cursor"; + gtk.enable = true; + }; + + fonts.fontconfig.enable = true; }; - - qt = { - enable = true; - platformTheme = "gnome"; - style.name = "adwaita-dark"; - style.package = pkgs.adwaita-qt; - }; - - home.pointerCursor = { - name = "Bibata-Original-Classic"; - package = pkgs.bibata-cursors; - size = 24; - x11.enable = true; - x11.defaultCursor = "X_cursor"; - gtk.enable = true; - }; - - fonts.fontconfig.enable = true; - }; } diff --git a/modules/home/vscode.nix b/modules/home/vscode.nix index 2178396..695a51d 100644 --- a/modules/home/vscode.nix +++ b/modules/home/vscode.nix @@ -1,50 +1,63 @@ { - config, - pkgs, - lib, - ... + config, + pkgs, + lib, + ... }: { - options.myConfig.vscode.enable = lib.mkEnableOption ""; + options.myConfig.vscode.enable = lib.mkEnableOption ""; - config = lib.mkIf config.myConfig.vscode.enable { - home.packages = [pkgs.nil]; + config = lib.mkIf config.myConfig.vscode.enable { + home.packages = let + alejandra4 = pkgs.alejandra.overrideAttrs { + passthru.tests.version = lib.mkForce {}; + postPatch = '' + substituteInPlace src/alejandra/src/builder.rs \ + --replace '2 * build_ctx.indentation' '4 * build_ctx.indentation' + substituteInPlace src/alejandra/src/rules/string.rs \ + --replace 'format!(" {}", line)' 'format!(" {}", line)' + rm -r src/alejandra/tests + ''; + }; + in [ + pkgs.nil + alejandra4 + ]; - programs.vscode = { - enable = true; - package = pkgs.vscodium; + programs.vscode = { + enable = true; + package = pkgs.vscodium; - mutableExtensionsDir = false; - extensions = [ - pkgs.vscode-extensions.jnoortheen.nix-ide - pkgs.vscode-extensions.kamadorueda.alejandra - pkgs.vscode-extensions.pkief.material-icon-theme - pkgs.vscode-extensions.mkhl.direnv - ]; + mutableExtensionsDir = false; + extensions = [ + pkgs.vscode-extensions.jnoortheen.nix-ide + pkgs.vscode-extensions.pkief.material-icon-theme + pkgs.vscode-extensions.mkhl.direnv + ]; + }; + + systemd.user.tmpfiles.rules = let + settings = builtins.replaceStrings ["\n"] ["\\n"] '' + { + "editor.fontFamily": "JetBrainsMono Nerd Font", + "explorer.confirmDelete": false, + "explorer.confirmDragAndDrop": false, + "extensions.autoCheckUpdates": false, + "files.autoSave": "afterDelay", + "git.autofetch": true, + "git.confirmSync": false, + "nix.enableLanguageServer": true, + "nix.serverPath": "nil", + "update.mode": "none", + "git.suggestSmartCommit": false, + "workbench.sideBar.location": "right", + "editor.renderWhitespace": "none", + "workbench.iconTheme": "material-icon-theme", + "editor.minimap.enabled": false + } + ''; + in [ + "f+ %h/.config/VSCodium/User/settings.json - - - - ${settings}" + "f+ %h/.config/VSCodium/User/settings-default.json - - - - ${settings}" + ]; }; - - systemd.user.tmpfiles.rules = let - settings = builtins.replaceStrings ["\n"] ["\\n"] '' - { - "editor.fontFamily": "JetBrainsMono Nerd Font", - "explorer.confirmDelete": false, - "explorer.confirmDragAndDrop": false, - "extensions.autoCheckUpdates": false, - "files.autoSave": "afterDelay", - "git.autofetch": true, - "git.confirmSync": false, - "nix.enableLanguageServer": true, - "nix.serverPath": "nil", - "update.mode": "none", - "git.suggestSmartCommit": false, - "workbench.sideBar.location": "right", - "editor.renderWhitespace": "none", - "workbench.iconTheme": "material-icon-theme", - "editor.minimap.enabled": false - } - ''; - in [ - "f+ %h/.config/VSCodium/User/settings.json - - - - ${settings}" - "f+ %h/.config/VSCodium/User/settings-default.json - - - - ${settings}" - ]; - }; } diff --git a/modules/system/auto-cpufreq.nix b/modules/system/auto-cpufreq.nix index c63059c..fd4b374 100644 --- a/modules/system/auto-cpufreq.nix +++ b/modules/system/auto-cpufreq.nix @@ -1,25 +1,25 @@ { - config, - lib, - ... + config, + lib, + ... }: { - options.myConfig.auto-cpufreq.enable = lib.mkEnableOption ""; + options.myConfig.auto-cpufreq.enable = lib.mkEnableOption ""; - config = lib.mkIf config.myConfig.auto-cpufreq.enable { - services.auto-cpufreq = { - enable = true; - settings = { - charger = { - governor = "powersave"; - turbo = "never"; - energy_performance_preference = "power"; + config = lib.mkIf config.myConfig.auto-cpufreq.enable { + services.auto-cpufreq = { + enable = true; + settings = { + charger = { + governor = "powersave"; + turbo = "never"; + energy_performance_preference = "power"; + }; + battery = { + governor = "powersave"; + turbo = "never"; + energy_performance_preference = "power"; + }; + }; }; - battery = { - governor = "powersave"; - turbo = "never"; - energy_performance_preference = "power"; - }; - }; }; - }; } diff --git a/modules/system/auto-gc.nix b/modules/system/auto-gc.nix index 44a2a20..8a420f0 100644 --- a/modules/system/auto-gc.nix +++ b/modules/system/auto-gc.nix @@ -1,15 +1,15 @@ { - config, - lib, - ... + config, + lib, + ... }: { - options.myConfig.auto-gc.enable = lib.mkEnableOption ""; + options.myConfig.auto-gc.enable = lib.mkEnableOption ""; - config = lib.mkIf config.myConfig.auto-gc.enable { - nix.gc = { - automatic = true; - dates = "weekly"; - options = "--delete-older-than 7d"; + config = lib.mkIf config.myConfig.auto-gc.enable { + nix.gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 7d"; + }; }; - }; } diff --git a/modules/system/bluetooth.nix b/modules/system/bluetooth.nix index 3bf076e..144adbc 100644 --- a/modules/system/bluetooth.nix +++ b/modules/system/bluetooth.nix @@ -1,16 +1,16 @@ { - config, - lib, - ... + config, + lib, + ... }: { - options.myConfig.bluetooth.enable = lib.mkEnableOption ""; + options.myConfig.bluetooth.enable = lib.mkEnableOption ""; - config = lib.mkIf config.myConfig.bluetooth.enable { - hardware.bluetooth = { - enable = true; - powerOnBoot = true; + config = lib.mkIf config.myConfig.bluetooth.enable { + hardware.bluetooth = { + enable = true; + powerOnBoot = true; + }; + services.blueman.enable = true; + hardware.logitech.wireless.enable = true; }; - services.blueman.enable = true; - hardware.logitech.wireless.enable = true; - }; } diff --git a/modules/system/boot-loader.nix b/modules/system/boot-loader.nix index 0befaad..0d9cebc 100644 --- a/modules/system/boot-loader.nix +++ b/modules/system/boot-loader.nix @@ -1,20 +1,20 @@ { - config, - lib, - ... + config, + lib, + ... }: { - options.myConfig.boot-loader.systemd-boot.enable = lib.mkEnableOption ""; + options.myConfig.boot-loader.systemd-boot.enable = lib.mkEnableOption ""; - config = lib.mkIf config.myConfig.boot-loader.systemd-boot.enable { - boot.tmp.cleanOnBoot = true; - boot.loader = { - systemd-boot = { - enable = true; - editor = false; - configurationLimit = 50; - }; - efi.canTouchEfiVariables = true; - timeout = 3; + config = lib.mkIf config.myConfig.boot-loader.systemd-boot.enable { + boot.tmp.cleanOnBoot = true; + boot.loader = { + systemd-boot = { + enable = true; + editor = false; + configurationLimit = 50; + }; + efi.canTouchEfiVariables = true; + timeout = 3; + }; }; - }; } diff --git a/modules/system/comma.nix b/modules/system/comma.nix index bc90a98..9941069 100644 --- a/modules/system/comma.nix +++ b/modules/system/comma.nix @@ -1,16 +1,16 @@ { - inputs, - config, - lib, - ... + inputs, + config, + lib, + ... }: { - imports = [inputs.nix-index-database.nixosModules.nix-index]; + imports = [inputs.nix-index-database.nixosModules.nix-index]; - options.myConfig.comma.enable = lib.mkEnableOption ""; + options.myConfig.comma.enable = lib.mkEnableOption ""; - config = lib.mkIf config.myConfig.comma.enable { - programs.command-not-found.enable = false; - programs.nix-index.enable = true; - programs.nix-index-database.comma.enable = true; - }; + config = lib.mkIf config.myConfig.comma.enable { + programs.command-not-found.enable = false; + programs.nix-index.enable = true; + programs.nix-index-database.comma.enable = true; + }; } diff --git a/modules/system/de.nix b/modules/system/de.nix index 45ec63d..4162f72 100644 --- a/modules/system/de.nix +++ b/modules/system/de.nix @@ -1,18 +1,18 @@ { - config, - lib, - ... + config, + lib, + ... }: { - options.myConfig.de.qtile.enable = lib.mkEnableOption ""; + options.myConfig.de.qtile.enable = lib.mkEnableOption ""; - config = lib.mkIf config.myConfig.de.qtile.enable { - services.xserver = { - enable = true; + config = lib.mkIf config.myConfig.de.qtile.enable { + services.xserver = { + enable = true; - windowManager.qtile.enable = true; - desktopManager.wallpaper.mode = "fill"; + windowManager.qtile.enable = true; + desktopManager.wallpaper.mode = "fill"; + }; + + myConfig.x-input.enable = true; }; - - myConfig.x-input.enable = true; - }; } diff --git a/modules/system/default.nix b/modules/system/default.nix index bb8ac93..b29c051 100644 --- a/modules/system/default.nix +++ b/modules/system/default.nix @@ -1,19 +1,19 @@ { - imports = [ - ./flatpak.nix - ./vm.nix - ./wlan.nix - ./doas.nix - ./vpn.nix - ./comma.nix - ./auto-gc.nix - ./sops.nix - ./bluetooth.nix - ./auto-cpufreq.nix - ./x-input.nix - ./de.nix - ./dm.nix - ./sound.nix - ./boot-loader.nix - ]; + imports = [ + ./flatpak.nix + ./vm.nix + ./wlan.nix + ./doas.nix + ./vpn.nix + ./comma.nix + ./auto-gc.nix + ./sops.nix + ./bluetooth.nix + ./auto-cpufreq.nix + ./x-input.nix + ./de.nix + ./dm.nix + ./sound.nix + ./boot-loader.nix + ]; } diff --git a/modules/system/dm.nix b/modules/system/dm.nix index a24c165..6dd74c8 100644 --- a/modules/system/dm.nix +++ b/modules/system/dm.nix @@ -1,20 +1,20 @@ { - config, - lib, - ... + config, + lib, + ... }: { - options.myConfig.dm.lightdm.enable = lib.mkEnableOption ""; + options.myConfig.dm.lightdm.enable = lib.mkEnableOption ""; - config = lib.mkIf config.myConfig.dm.lightdm.enable { - services.xserver = { - enable = true; + config = lib.mkIf config.myConfig.dm.lightdm.enable { + services.xserver = { + enable = true; - displayManager.lightdm = { - enable = true; - greeters.slick.enable = true; - }; + displayManager.lightdm = { + enable = true; + greeters.slick.enable = true; + }; + }; + + myConfig.x-input.enable = true; }; - - myConfig.x-input.enable = true; - }; } diff --git a/modules/system/doas.nix b/modules/system/doas.nix index 98e2246..fa4a4c5 100644 --- a/modules/system/doas.nix +++ b/modules/system/doas.nix @@ -1,25 +1,25 @@ { - config, - lib, - ... + config, + lib, + ... }: { - options.myConfig.doas.enable = lib.mkEnableOption ""; + options.myConfig.doas.enable = lib.mkEnableOption ""; - config = lib.mkIf config.myConfig.doas.enable { - security.sudo.enable = false; + config = lib.mkIf config.myConfig.doas.enable { + security.sudo.enable = false; - security.doas = { - enable = true; - extraRules = [ - { - groups = ["wheel"]; - keepEnv = true; - persist = true; - } - ]; + security.doas = { + enable = true; + extraRules = [ + { + groups = ["wheel"]; + keepEnv = true; + persist = true; + } + ]; + }; + + environment.shellAliases.sudo = "doas"; + programs.bash.interactiveShellInit = lib.mkIf config.myConfig.shell.bash.enable "complete -F _command doas"; }; - - environment.shellAliases.sudo = "doas"; - programs.bash.interactiveShellInit = lib.mkIf config.myConfig.shell.bash.enable "complete -F _command doas"; - }; } diff --git a/modules/system/flatpak.nix b/modules/system/flatpak.nix index da51732..b91d7d3 100644 --- a/modules/system/flatpak.nix +++ b/modules/system/flatpak.nix @@ -1,30 +1,30 @@ { - config, - pkgs, - lib, - ... + config, + pkgs, + lib, + ... }: { - options.myConfig.flatpak.enable = lib.mkEnableOption ""; + options.myConfig.flatpak.enable = lib.mkEnableOption ""; - config = lib.mkIf config.myConfig.flatpak.enable { - services.flatpak.enable = true; + config = lib.mkIf config.myConfig.flatpak.enable { + services.flatpak.enable = true; - xdg.portal = { - enable = true; - extraPortals = [pkgs.xdg-desktop-portal-gtk]; - config.common.default = "*"; - }; - - home-manager.sharedModules = [ - { - xdg = { - enable = true; - systemDirs.data = [ - "/var/lib/flatpak/exports/share" - "/home/seb/.local/share/flatpak/exports/share" - ]; + xdg.portal = { + enable = true; + extraPortals = [pkgs.xdg-desktop-portal-gtk]; + config.common.default = "*"; }; - } - ]; - }; + + home-manager.sharedModules = [ + { + xdg = { + enable = true; + systemDirs.data = [ + "/var/lib/flatpak/exports/share" + "/home/seb/.local/share/flatpak/exports/share" + ]; + }; + } + ]; + }; } diff --git a/modules/system/sops.nix b/modules/system/sops.nix index 6e2a17b..9b0de29 100644 --- a/modules/system/sops.nix +++ b/modules/system/sops.nix @@ -1,17 +1,17 @@ { - inputs, - config, - lib, - ... + inputs, + config, + lib, + ... }: { - imports = [inputs.sops-nix.nixosModules.sops]; + imports = [inputs.sops-nix.nixosModules.sops]; - options.myConfig.sops.enable = lib.mkEnableOption ""; + options.myConfig.sops.enable = lib.mkEnableOption ""; - config = lib.mkIf config.myConfig.sops.enable { - sops = { - age.sshKeyPaths = ["/etc/ssh/ssh_host_ed25519_key"]; - defaultSopsFile = ../../hosts/dell-laptop/secrets.yaml; + config = lib.mkIf config.myConfig.sops.enable { + sops = { + age.sshKeyPaths = ["/etc/ssh/ssh_host_ed25519_key"]; + defaultSopsFile = ../../hosts/dell-laptop/secrets.yaml; + }; }; - }; } diff --git a/modules/system/sound.nix b/modules/system/sound.nix index f4567d0..797c759 100644 --- a/modules/system/sound.nix +++ b/modules/system/sound.nix @@ -1,19 +1,19 @@ { - config, - lib, - ... + config, + lib, + ... }: { - options.myConfig.sound.pipewire.enable = lib.mkEnableOption ""; + options.myConfig.sound.pipewire.enable = lib.mkEnableOption ""; - config = lib.mkIf config.myConfig.sound.pipewire.enable { - security.rtkit.enable = true; - hardware.pulseaudio.enable = false; - services.pipewire = { - enable = true; - wireplumber.enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; + config = lib.mkIf config.myConfig.sound.pipewire.enable { + security.rtkit.enable = true; + hardware.pulseaudio.enable = false; + services.pipewire = { + enable = true; + wireplumber.enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; }; - }; } diff --git a/modules/system/vm.nix b/modules/system/vm.nix index 34ae992..862916e 100644 --- a/modules/system/vm.nix +++ b/modules/system/vm.nix @@ -1,28 +1,28 @@ { - config, - pkgs, - lib, - ... + config, + pkgs, + lib, + ... }: { - options.myConfig.vm.qemu.enable = lib.mkEnableOption ""; + options.myConfig.vm.qemu.enable = lib.mkEnableOption ""; - config = lib.mkIf config.myConfig.vm.qemu.enable { - virtualisation.libvirtd.enable = true; + config = lib.mkIf config.myConfig.vm.qemu.enable { + virtualisation.libvirtd.enable = true; - programs.virt-manager.enable = true; + programs.virt-manager.enable = true; - environment.systemPackages = [ - pkgs.quickemu - pkgs.quickgui - ]; + environment.systemPackages = [ + pkgs.quickemu + pkgs.quickgui + ]; - home-manager.sharedModules = [ - { - dconf.settings."org/virt-manager/virt-manager/connections" = { - autoconnect = ["qemu:///system"]; - uris = ["qemu:///system"]; - }; - } - ]; - }; + home-manager.sharedModules = [ + { + dconf.settings."org/virt-manager/virt-manager/connections" = { + autoconnect = ["qemu:///system"]; + uris = ["qemu:///system"]; + }; + } + ]; + }; } diff --git a/modules/system/vpn.nix b/modules/system/vpn.nix index 85e9035..ac8c095 100644 --- a/modules/system/vpn.nix +++ b/modules/system/vpn.nix @@ -1,37 +1,37 @@ { - config, - lib, - ... + config, + lib, + ... }: { - options.myConfig.vpn.lgs.enable = lib.mkEnableOption ""; + options.myConfig.vpn.lgs.enable = lib.mkEnableOption ""; - config = lib.mkIf config.myConfig.vpn.lgs.enable { - sops.secrets = { - "vpn/lgs/crt" = {}; - "vpn/lgs/key" = {}; + config = lib.mkIf config.myConfig.vpn.lgs.enable { + sops.secrets = { + "vpn/lgs/crt" = {}; + "vpn/lgs/key" = {}; + }; + + services.openvpn.servers.lgs = { + autoStart = false; + + config = '' + dev tap + persist-tun + persist-key + data-ciphers AES-128-GCM:AES-256-CBC + data-ciphers-fallback AES-256-CBC + auth SHA1 + tls-client + client + resolv-retry infinite + remote 194.9.190.11 1194 udp4 + nobind + auth-user-pass + ca ${config.sops.secrets."vpn/lgs/crt".path} + tls-auth ${config.sops.secrets."vpn/lgs/key".path} 1 + remote-cert-tls server + explicit-exit-notify + ''; + }; }; - - services.openvpn.servers.lgs = { - autoStart = false; - - config = '' - dev tap - persist-tun - persist-key - data-ciphers AES-128-GCM:AES-256-CBC - data-ciphers-fallback AES-256-CBC - auth SHA1 - tls-client - client - resolv-retry infinite - remote 194.9.190.11 1194 udp4 - nobind - auth-user-pass - ca ${config.sops.secrets."vpn/lgs/crt".path} - tls-auth ${config.sops.secrets."vpn/lgs/key".path} 1 - remote-cert-tls server - explicit-exit-notify - ''; - }; - }; } diff --git a/modules/system/wlan.nix b/modules/system/wlan.nix index 7e4a4d8..4757376 100644 --- a/modules/system/wlan.nix +++ b/modules/system/wlan.nix @@ -1,96 +1,96 @@ { - config, - lib, - ... + config, + lib, + ... }: { - options.myConfig.wlan.enable = lib.mkEnableOption ""; + options.myConfig.wlan.enable = lib.mkEnableOption ""; - config = lib.mkIf config.myConfig.wlan.enable { - sops.secrets."wlan.env" = {}; + config = lib.mkIf config.myConfig.wlan.enable { + sops.secrets."wlan.env" = {}; - networking.networkmanager = { - enable = true; + networking.networkmanager = { + enable = true; - ensureProfiles = { - environmentFiles = [config.sops.secrets."wlan.env".path]; + ensureProfiles = { + environmentFiles = [config.sops.secrets."wlan.env".path]; - profiles = { - home = { - connection = { - id = "home"; - uuid = "24b856a6-27eb-4c4f-b85c-f59ab0824965"; - type = "wifi"; - interface-name = "wlp2s0"; - }; - wifi = { - mode = "infrastructure"; - ssid = "$HOME_SSID"; - }; - wifi-security = { - auth-alg = "open"; - key-mgmt = "wpa-psk"; - psk = "$HOME_PSK"; - }; - ipv4 = {method = "auto";}; - ipv6 = { - addr-gen-mode = "default"; - method = "auto"; - }; - }; + profiles = { + home = { + connection = { + id = "home"; + uuid = "24b856a6-27eb-4c4f-b85c-f59ab0824965"; + type = "wifi"; + interface-name = "wlp2s0"; + }; + wifi = { + mode = "infrastructure"; + ssid = "$HOME_SSID"; + }; + wifi-security = { + auth-alg = "open"; + key-mgmt = "wpa-psk"; + psk = "$HOME_PSK"; + }; + ipv4 = {method = "auto";}; + ipv6 = { + addr-gen-mode = "default"; + method = "auto"; + }; + }; - mobile = { - connection = { - id = "mobile"; - uuid = "e3a749cf-a103-4e1e-a50c-4a4898bafcf6"; - type = "wifi"; - interface-name = "wlp2s0"; - }; - wifi = { - mode = "infrastructure"; - ssid = "$MOBILE_SSID"; - }; - wifi-security = { - auth-alg = "open"; - key-mgmt = "wpa-psk"; - psk = "$MOBILE_PSK"; - }; - ipv4 = {method = "auto";}; - ipv6 = { - addr-gen-mode = "default"; - method = "auto"; - }; - }; + mobile = { + connection = { + id = "mobile"; + uuid = "e3a749cf-a103-4e1e-a50c-4a4898bafcf6"; + type = "wifi"; + interface-name = "wlp2s0"; + }; + wifi = { + mode = "infrastructure"; + ssid = "$MOBILE_SSID"; + }; + wifi-security = { + auth-alg = "open"; + key-mgmt = "wpa-psk"; + psk = "$MOBILE_PSK"; + }; + ipv4 = {method = "auto";}; + ipv6 = { + addr-gen-mode = "default"; + method = "auto"; + }; + }; - school = { - connection = { - id = "school"; - uuid = "bfdf4e7f-d2c4-4ab6-b833-37ecd5199b22"; - type = "wifi"; - interface-name = "wlp2s0"; + school = { + connection = { + id = "school"; + uuid = "bfdf4e7f-d2c4-4ab6-b833-37ecd5199b22"; + type = "wifi"; + interface-name = "wlp2s0"; + }; + wifi = { + mode = "infrastructure"; + ssid = "$SCHOOL_SSID"; + }; + wifi-security = { + auth-alg = "open"; + key-mgmt = "wpa-eap"; + }; + "802-1x" = { + domain-suffix-match = "lgs-hu.eu"; + eap = "ttls;"; + identity = "$SCHOOL_ID"; + password = "$SCHOOL_PSK"; + phase2-auth = "pap"; + }; + ipv4 = {method = "auto";}; + ipv6 = { + addr-gen-mode = "default"; + method = "auto"; + }; + }; + }; }; - wifi = { - mode = "infrastructure"; - ssid = "$SCHOOL_SSID"; - }; - wifi-security = { - auth-alg = "open"; - key-mgmt = "wpa-eap"; - }; - "802-1x" = { - domain-suffix-match = "lgs-hu.eu"; - eap = "ttls;"; - identity = "$SCHOOL_ID"; - password = "$SCHOOL_PSK"; - phase2-auth = "pap"; - }; - ipv4 = {method = "auto";}; - ipv6 = { - addr-gen-mode = "default"; - method = "auto"; - }; - }; }; - }; }; - }; } diff --git a/modules/system/x-input.nix b/modules/system/x-input.nix index d96c297..9d92bbf 100644 --- a/modules/system/x-input.nix +++ b/modules/system/x-input.nix @@ -1,29 +1,29 @@ { - config, - lib, - ... + config, + lib, + ... }: { - options.myConfig.x-input.enable = lib.mkEnableOption ""; + options.myConfig.x-input.enable = lib.mkEnableOption ""; - config = lib.mkIf config.myConfig.x-input.enable { - services.xserver = { - enable = true; - xkb = { - layout = "de"; - variant = "nodeadkeys"; - }; + config = lib.mkIf config.myConfig.x-input.enable { + services.xserver = { + enable = true; + xkb = { + layout = "de"; + variant = "nodeadkeys"; + }; - libinput = { - enable = true; + libinput = { + enable = true; - touchpad = { - accelProfile = "adaptive"; - naturalScrolling = true; - disableWhileTyping = true; + touchpad = { + accelProfile = "adaptive"; + naturalScrolling = true; + disableWhileTyping = true; + }; + + mouse.accelProfile = "flat"; + }; }; - - mouse.accelProfile = "flat"; - }; }; - }; } diff --git a/users/default.nix b/users/default.nix index 26d5999..24dfe22 100644 --- a/users/default.nix +++ b/users/default.nix @@ -1,26 +1,26 @@ {inputs, ...}: { - imports = [inputs.home-manager.nixosModules.home-manager]; + imports = [inputs.home-manager.nixosModules.home-manager]; - users.mutableUsers = false; + users.mutableUsers = false; - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; - home-manager.sharedModules = [ - ../modules/home - { - programs.home-manager.enable = true; - home.stateVersion = "23.11"; - systemd.user.startServices = "sd-switch"; + home-manager.sharedModules = [ + ../modules/home + { + programs.home-manager.enable = true; + home.stateVersion = "23.11"; + systemd.user.startServices = "sd-switch"; - xdg = { - enable = true; + xdg = { + enable = true; - userDirs = { - enable = true; - createDirectories = true; - }; - }; - } - ]; + userDirs = { + enable = true; + createDirectories = true; + }; + }; + } + ]; } diff --git a/users/seb/default.nix b/users/seb/default.nix index fc1b398..b268f92 100644 --- a/users/seb/default.nix +++ b/users/seb/default.nix @@ -1,14 +1,14 @@ {config, ...}: { - imports = [../default.nix]; + imports = [../default.nix]; - sops.secrets."password/seb".neededForUsers = true; + sops.secrets."password/seb".neededForUsers = true; - users.users.seb = { - isNormalUser = true; - description = "Sebastian Stork"; - hashedPasswordFile = config.sops.secrets."password/seb".path; - extraGroups = ["wheel" "networkmanager" "libvirtd"]; - }; + users.users.seb = { + isNormalUser = true; + description = "Sebastian Stork"; + hashedPasswordFile = config.sops.secrets."password/seb".path; + extraGroups = ["wheel" "networkmanager" "libvirtd"]; + }; - home-manager.users.seb = import ./home.nix; + home-manager.users.seb = import ./home.nix; } diff --git a/users/seb/home.nix b/users/seb/home.nix index 07e663e..2bd527a 100644 --- a/users/seb/home.nix +++ b/users/seb/home.nix @@ -1,56 +1,56 @@ {pkgs, ...}: { - myConfig = { - qtile.enable = true; - vscode.enable = true; - shell = { - bash.enable = true; - starship.enable = true; - nixAliases.enable = true; - improvedCommands.enable = true; - direnv.enable = true; + myConfig = { + qtile.enable = true; + vscode.enable = true; + shell = { + bash.enable = true; + starship.enable = true; + nixAliases.enable = true; + improvedCommands.enable = true; + direnv.enable = true; + }; + theming.enable = true; + ssh-client.enable = true; + git.enable = true; + neovim.enable = true; + kitty.enable = true; }; - theming.enable = true; - ssh-client.enable = true; - git.enable = true; - neovim.enable = true; - kitty.enable = true; - }; - services.clipmenu = { - enable = true; - launcher = "rofi"; - }; + services.clipmenu = { + enable = true; + launcher = "rofi"; + }; - programs.btop.enable = true; + programs.btop.enable = true; - home.packages = with pkgs; [ - # CLI - fastfetch + home.packages = with pkgs; [ + # CLI + fastfetch - # GUI - notepadqq - brave - spotify - cinnamon.nemo-with-extensions - discord - flameshot - jetbrains.idea-community - vlc - obs-studio - libsForQt5.kdenlive - gimp - libreoffice - hunspell - hunspellDicts.de_DE - hunspellDicts.en_US - steam - networkmanagerapplet + # GUI + notepadqq + brave + spotify + cinnamon.nemo-with-extensions + discord + flameshot + jetbrains.idea-community + vlc + obs-studio + libsForQt5.kdenlive + gimp + libreoffice + hunspell + hunspellDicts.de_DE + hunspellDicts.en_US + steam + networkmanagerapplet - # Fonts - (nerdfonts.override {fonts = ["JetBrainsMono"];}) - corefonts - roboto - open-sans - ubuntu_font_family - ]; + # Fonts + (nerdfonts.override {fonts = ["JetBrainsMono"];}) + corefonts + roboto + open-sans + ubuntu_font_family + ]; }