Compare commits
	
		
			10 commits
		
	
	
		
			1b3b7cf607
			...
			1735ec5594
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
							 | 
						1735ec5594 | ||
| 
							 | 
						9cf6333f4b | ||
| 
							 | 
						8fc672bfcf | ||
| 
							 | 
						87062e05c4 | ||
| 
							 | 
						1bebb5d096 | ||
| 
							 | 
						f89c75aad2 | ||
| 
							 | 
						f5e1b9c7ee | ||
| 
							 | 
						f1855c1265 | ||
| 
							 | 
						a208ca4df2 | ||
| 
							 | 
						1f1b901330 | 
					 60 changed files with 701 additions and 677 deletions
				
			
		
							
								
								
									
										116
									
								
								flake.nix
									
										
									
									
									
								
							
							
						
						
									
										116
									
								
								flake.nix
									
										
									
									
									
								
							| 
						 | 
					@ -63,23 +63,66 @@
 | 
				
			||||||
    }:
 | 
					    }:
 | 
				
			||||||
    let
 | 
					    let
 | 
				
			||||||
      devices = {
 | 
					      devices = {
 | 
				
			||||||
        vinzenz-lpt2 = "x86_64-linux";
 | 
					        vinzenz-lpt2 = {
 | 
				
			||||||
        vinzenz-pc2 = "x86_64-linux";
 | 
					          system = "x86_64-linux";
 | 
				
			||||||
        ronja-pc = "x86_64-linux";
 | 
					          additional-modules = [
 | 
				
			||||||
        hetzner-vpn2 = "aarch64-linux";
 | 
					            self.nixosModules.user-vinzenz
 | 
				
			||||||
        forgejo-runner-1 = "aarch64-linux";
 | 
					
 | 
				
			||||||
 | 
					            self.nixosModules.gnome
 | 
				
			||||||
 | 
					            self.nixosModules.wine-gaming
 | 
				
			||||||
 | 
					            self.nixosModules.steam
 | 
				
			||||||
 | 
					            self.nixosModules.printing
 | 
				
			||||||
 | 
					            self.nixosModules.podman
 | 
				
			||||||
 | 
					            self.nixosModules.vinzenz-desktop-settings
 | 
				
			||||||
 | 
					            self.nixosModules.intel-graphics
 | 
				
			||||||
 | 
					          ];
 | 
				
			||||||
 | 
					          home-manager-users = {
 | 
				
			||||||
 | 
					            inherit (self.homeConfigurations) vinzenz;
 | 
				
			||||||
          };
 | 
					          };
 | 
				
			||||||
      homeDevices = [
 | 
					        };
 | 
				
			||||||
        "vinzenz-lpt2"
 | 
					        vinzenz-pc2 = {
 | 
				
			||||||
        "vinzenz-pc2"
 | 
					          system = "x86_64-linux";
 | 
				
			||||||
        "ronja-pc"
 | 
					          additional-modules = [
 | 
				
			||||||
 | 
					            self.nixosModules.user-vinzenz
 | 
				
			||||||
 | 
					            self.nixosModules.user-ronja
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            self.nixosModules.gnome
 | 
				
			||||||
 | 
					            self.nixosModules.wine-gaming
 | 
				
			||||||
 | 
					            self.nixosModules.steam
 | 
				
			||||||
 | 
					            self.nixosModules.printing
 | 
				
			||||||
 | 
					            self.nixosModules.podman
 | 
				
			||||||
 | 
					            self.nixosModules.vinzenz-desktop-settings
 | 
				
			||||||
 | 
					            self.nixosModules.amd-graphics
 | 
				
			||||||
          ];
 | 
					          ];
 | 
				
			||||||
 | 
					          home-manager-users = {
 | 
				
			||||||
 | 
					            inherit (self.homeConfigurations) vinzenz ronja;
 | 
				
			||||||
 | 
					          };
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					        ronja-pc = {
 | 
				
			||||||
 | 
					          system = "x86_64-linux";
 | 
				
			||||||
 | 
					          additional-modules = [
 | 
				
			||||||
 | 
					            self.nixosModules.user-ronja
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            self.nixosModules.gnome
 | 
				
			||||||
 | 
					            self.nixosModules.steam
 | 
				
			||||||
 | 
					            self.nixosModules.wine-gaming
 | 
				
			||||||
 | 
					            self.nixosModules.vinzenz-desktop-settings
 | 
				
			||||||
 | 
					          ];
 | 
				
			||||||
 | 
					          home-manager-users = {
 | 
				
			||||||
 | 
					            inherit (self.homeConfigurations) ronja;
 | 
				
			||||||
 | 
					          };
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					        hetzner-vpn2 = {
 | 
				
			||||||
 | 
					          system = "aarch64-linux";
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					        forgejo-runner-1 = {
 | 
				
			||||||
 | 
					          system = "aarch64-linux";
 | 
				
			||||||
 | 
					          additional-modules = [ self.nixosModules.podman ];
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
      lib = nixpkgs.lib;
 | 
					      lib = nixpkgs.lib;
 | 
				
			||||||
      forDevice = f: lib.mapAttrs f devices;
 | 
					      forDevice = f: lib.mapAttrs (device: value: f (value // { inherit device; })) devices;
 | 
				
			||||||
      supported-systems = [
 | 
					      supported-systems = lib.attrsets.mapAttrsToList (k: v: v.system) devices;
 | 
				
			||||||
        "x86_64-linux"
 | 
					 | 
				
			||||||
        "aarch64-linux"
 | 
					 | 
				
			||||||
      ];
 | 
					 | 
				
			||||||
      forAllSystems =
 | 
					      forAllSystems =
 | 
				
			||||||
        f:
 | 
					        f:
 | 
				
			||||||
        lib.genAttrs supported-systems (
 | 
					        lib.genAttrs supported-systems (
 | 
				
			||||||
| 
						 | 
					@ -101,21 +144,28 @@
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      nixosConfigurations = forDevice (
 | 
					      nixosConfigurations = forDevice (
 | 
				
			||||||
        device: system:
 | 
					        {
 | 
				
			||||||
 | 
					          device,
 | 
				
			||||||
 | 
					          system,
 | 
				
			||||||
 | 
					          home-manager-users ? { },
 | 
				
			||||||
 | 
					          additional-modules ? [ ],
 | 
				
			||||||
 | 
					        }:
 | 
				
			||||||
        let
 | 
					        let
 | 
				
			||||||
          commonSpecialArgs = {
 | 
					          specialArgs = {
 | 
				
			||||||
            inherit device;
 | 
					            inherit device;
 | 
				
			||||||
            vinzenzHomeModules = self.homeModules;
 | 
					            vinzenzHomeModules = self.homeModules;
 | 
				
			||||||
 | 
					            vinzenzLib = self.lib;
 | 
				
			||||||
          };
 | 
					          };
 | 
				
			||||||
        in
 | 
					        in
 | 
				
			||||||
        nixpkgs.lib.nixosSystem {
 | 
					        nixpkgs.lib.nixosSystem {
 | 
				
			||||||
          inherit system;
 | 
					          inherit system specialArgs;
 | 
				
			||||||
          specialArgs = commonSpecialArgs // {
 | 
					 | 
				
			||||||
            vinzenzNixosModules = self.nixosModules;
 | 
					 | 
				
			||||||
          };
 | 
					 | 
				
			||||||
          modules = [
 | 
					          modules = [
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              networking.hostName = device;
 | 
					              networking.hostName = device;
 | 
				
			||||||
 | 
					              nixpkgs = {
 | 
				
			||||||
 | 
					                inherit system;
 | 
				
			||||||
 | 
					                hostPlatform = lib.mkDefault system;
 | 
				
			||||||
 | 
					              };
 | 
				
			||||||
              system = {
 | 
					              system = {
 | 
				
			||||||
                stateVersion = "22.11";
 | 
					                stateVersion = "22.11";
 | 
				
			||||||
                autoUpgrade.flake = "git+https://git.berlin.ccc.de/vinzenz/nixos-configuration.git";
 | 
					                autoUpgrade.flake = "git+https://git.berlin.ccc.de/vinzenz/nixos-configuration.git";
 | 
				
			||||||
| 
						 | 
					@ -128,11 +178,18 @@
 | 
				
			||||||
              nix.settings.experimental-features = [
 | 
					              nix.settings.experimental-features = [
 | 
				
			||||||
                "nix-command"
 | 
					                "nix-command"
 | 
				
			||||||
                "flakes"
 | 
					                "flakes"
 | 
				
			||||||
 | 
					                "repl-flake"
 | 
				
			||||||
              ];
 | 
					              ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					              documentation = {
 | 
				
			||||||
 | 
					                info.enable = false; # info pages and the info command
 | 
				
			||||||
 | 
					                doc.enable = false; # documentation distributed in packages' /share/doc
 | 
				
			||||||
 | 
					              };
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            ./nixosConfigurations/${device}
 | 
					            ./nixosConfigurations/${device}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            self.nixosModules.default
 | 
				
			||||||
            self.nixosModules.lix-is-nix
 | 
					            self.nixosModules.lix-is-nix
 | 
				
			||||||
            self.nixosModules.globalinstalls
 | 
					            self.nixosModules.globalinstalls
 | 
				
			||||||
            self.nixosModules.autoupdate
 | 
					            self.nixosModules.autoupdate
 | 
				
			||||||
| 
						 | 
					@ -140,14 +197,14 @@
 | 
				
			||||||
            self.nixosModules.tailscale
 | 
					            self.nixosModules.tailscale
 | 
				
			||||||
            self.nixosModules.allowed-unfree-list
 | 
					            self.nixosModules.allowed-unfree-list
 | 
				
			||||||
            self.nixosModules.extra-caches
 | 
					            self.nixosModules.extra-caches
 | 
				
			||||||
            ./modules/nixpkgs.nix
 | 
					            self.nixosModules.systemd-boot
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            zerforschen-plus.nixosModules.default
 | 
					            zerforschen-plus.nixosModules.default
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
          ++ (nixpkgs.lib.optionals (builtins.elem device homeDevices) [
 | 
					          ++ (nixpkgs.lib.optionals (home-manager-users != { }) [
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              home-manager = {
 | 
					              home-manager = {
 | 
				
			||||||
                extraSpecialArgs = commonSpecialArgs;
 | 
					                extraSpecialArgs = specialArgs;
 | 
				
			||||||
                useGlobalPkgs = true;
 | 
					                useGlobalPkgs = true;
 | 
				
			||||||
                useUserPackages = true;
 | 
					                useUserPackages = true;
 | 
				
			||||||
              };
 | 
					              };
 | 
				
			||||||
| 
						 | 
					@ -161,7 +218,10 @@
 | 
				
			||||||
                self.homeModules.templates
 | 
					                self.homeModules.templates
 | 
				
			||||||
                self.homeModules.zsh-basics
 | 
					                self.homeModules.zsh-basics
 | 
				
			||||||
                self.homeModules.nano
 | 
					                self.homeModules.nano
 | 
				
			||||||
 | 
					                self.homeModules.gnome-extensions
 | 
				
			||||||
              ];
 | 
					              ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					              home-manager.users = home-manager-users;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            self.nixosModules.pkgs-unstable
 | 
					            self.nixosModules.pkgs-unstable
 | 
				
			||||||
| 
						 | 
					@ -172,11 +232,14 @@
 | 
				
			||||||
            self.nixosModules.gnome
 | 
					            self.nixosModules.gnome
 | 
				
			||||||
            self.nixosModules.modern-desktop
 | 
					            self.nixosModules.modern-desktop
 | 
				
			||||||
            self.nixosModules.nix-ld
 | 
					            self.nixosModules.nix-ld
 | 
				
			||||||
 | 
					            self.nixosModules.quiet-boot
 | 
				
			||||||
 | 
					            self.nixosModules.firmware-updates
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            home-manager.nixosModules.home-manager
 | 
					            home-manager.nixosModules.home-manager
 | 
				
			||||||
            servicepoint-simulator.nixosModules.default
 | 
					            servicepoint-simulator.nixosModules.default
 | 
				
			||||||
            servicepoint-cli.nixosModules.default
 | 
					            servicepoint-cli.nixosModules.default
 | 
				
			||||||
          ]);
 | 
					          ])
 | 
				
			||||||
 | 
					          ++ additional-modules;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      );
 | 
					      );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -200,9 +263,14 @@
 | 
				
			||||||
        pkgs-vscode-extensions = {
 | 
					        pkgs-vscode-extensions = {
 | 
				
			||||||
          nixpkgs.overlays = [ nix-vscode-extensions.overlays.default ];
 | 
					          nixpkgs.overlays = [ nix-vscode-extensions.overlays.default ];
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					        # required modules to use other modules, should not do anything on their own
 | 
				
			||||||
 | 
					        default = {
 | 
				
			||||||
 | 
					          imports = [ self.nixosModules.allowed-unfree-list ];
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      homeModules = self.lib.importDir ./homeModules;
 | 
					      homeModules = self.lib.importDir ./homeModules;
 | 
				
			||||||
 | 
					      homeConfigurations = self.lib.importDir ./homeConfigurations;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      formatter = forAllSystems ({ pkgs, ... }: pkgs.nixfmt-tree);
 | 
					      formatter = forAllSystems ({ pkgs, ... }: pkgs.nixfmt-tree);
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,25 +0,0 @@
 | 
				
			||||||
{ pkgs, ... }:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  config = {
 | 
					 | 
				
			||||||
    # Define user account
 | 
					 | 
				
			||||||
    users.users.ronja = {
 | 
					 | 
				
			||||||
      isNormalUser = true;
 | 
					 | 
				
			||||||
      name = "ronja";
 | 
					 | 
				
			||||||
      description = "Ronja";
 | 
					 | 
				
			||||||
      home = "/home/ronja";
 | 
					 | 
				
			||||||
      extraGroups = [
 | 
					 | 
				
			||||||
        "networkmanager"
 | 
					 | 
				
			||||||
        "wheel"
 | 
					 | 
				
			||||||
        "games"
 | 
					 | 
				
			||||||
        "podman"
 | 
					 | 
				
			||||||
        "openvscode-server"
 | 
					 | 
				
			||||||
      ];
 | 
					 | 
				
			||||||
      shell = pkgs.zsh;
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    home-manager.users.ronja.imports = [
 | 
					 | 
				
			||||||
      ./configuration.nix
 | 
					 | 
				
			||||||
      ./vscode.nix
 | 
					 | 
				
			||||||
    ];
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,51 +0,0 @@
 | 
				
			||||||
{ pkgs, ... }:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  config = {
 | 
					 | 
				
			||||||
    users.users.vinzenz = {
 | 
					 | 
				
			||||||
      isNormalUser = true;
 | 
					 | 
				
			||||||
      name = "vinzenz";
 | 
					 | 
				
			||||||
      description = "Vinzenz";
 | 
					 | 
				
			||||||
      home = "/home/vinzenz";
 | 
					 | 
				
			||||||
      extraGroups = [
 | 
					 | 
				
			||||||
        "networkmanager"
 | 
					 | 
				
			||||||
        "wheel"
 | 
					 | 
				
			||||||
        "games"
 | 
					 | 
				
			||||||
        "dialout"
 | 
					 | 
				
			||||||
        "podman"
 | 
					 | 
				
			||||||
        "nginx"
 | 
					 | 
				
			||||||
        "adbusers"
 | 
					 | 
				
			||||||
        "kvm"
 | 
					 | 
				
			||||||
        "input"
 | 
					 | 
				
			||||||
        "video"
 | 
					 | 
				
			||||||
      ];
 | 
					 | 
				
			||||||
      shell = pkgs.zsh;
 | 
					 | 
				
			||||||
      autoSubUidGidRange = true;
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    nix.settings.trusted-users = [ "vinzenz" ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    home-manager.users.vinzenz.imports = [
 | 
					 | 
				
			||||||
      ./configuration.nix
 | 
					 | 
				
			||||||
      ./editorconfig.nix
 | 
					 | 
				
			||||||
      ./fuzzel.nix
 | 
					 | 
				
			||||||
      ./git.nix
 | 
					 | 
				
			||||||
      ./gnome.nix
 | 
					 | 
				
			||||||
      #./niri.nix
 | 
					 | 
				
			||||||
      ./ssh.nix
 | 
					 | 
				
			||||||
      ./swaylock.nix
 | 
					 | 
				
			||||||
      ./vscode.nix
 | 
					 | 
				
			||||||
      ./waybar.nix
 | 
					 | 
				
			||||||
      ./zsh.nix
 | 
					 | 
				
			||||||
    ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    allowedUnfreePackages = [
 | 
					 | 
				
			||||||
      "rider"
 | 
					 | 
				
			||||||
      "pycharm-professional"
 | 
					 | 
				
			||||||
      "jetbrains-toolbox"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      "anydesk"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      "vscode-extension-ms-dotnettools-csharp"
 | 
					 | 
				
			||||||
    ];
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,24 +0,0 @@
 | 
				
			||||||
{ pkgs, ... }:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  config = {
 | 
					 | 
				
			||||||
    home.packages =
 | 
					 | 
				
			||||||
      with pkgs.gnomeExtensions;
 | 
					 | 
				
			||||||
      [
 | 
					 | 
				
			||||||
        # battery-health-charging
 | 
					 | 
				
			||||||
        quick-settings-tweaker
 | 
					 | 
				
			||||||
        solaar-extension
 | 
					 | 
				
			||||||
        alphabetical-app-grid
 | 
					 | 
				
			||||||
      ]
 | 
					 | 
				
			||||||
      ++ (with pkgs; [ foliate ]);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    dconf.settings = {
 | 
					 | 
				
			||||||
      "org/gnome/shell" = {
 | 
					 | 
				
			||||||
        enabled-extensions = [
 | 
					 | 
				
			||||||
          "GPaste@gnome-shell-extensions.gnome.org"
 | 
					 | 
				
			||||||
          "solaar-extension@sidevesh"
 | 
					 | 
				
			||||||
          "AlphabeticalAppGrid@stuarthayhurst"
 | 
					 | 
				
			||||||
        ];
 | 
					 | 
				
			||||||
      };
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,6 @@
 | 
				
			||||||
{ config, pkgs, ... }:
 | 
					{ config, pkgs, ... }:
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					  imports = [ ./vscode.nix ];
 | 
				
			||||||
  config = {
 | 
					  config = {
 | 
				
			||||||
    home.packages = with pkgs; [
 | 
					    home.packages = with pkgs; [
 | 
				
			||||||
      ## Apps
 | 
					      ## Apps
 | 
				
			||||||
| 
						 | 
					@ -56,6 +56,10 @@
 | 
				
			||||||
    icu
 | 
					    icu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    nextcloud-client
 | 
					    nextcloud-client
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    lutris
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    foliate
 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  home.file = {
 | 
					  home.file = {
 | 
				
			||||||
							
								
								
									
										15
									
								
								homeConfigurations/vinzenz/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								homeConfigurations/vinzenz/default.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,15 @@
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  imports = [
 | 
				
			||||||
 | 
					    ./configuration.nix
 | 
				
			||||||
 | 
					    ./editorconfig.nix
 | 
				
			||||||
 | 
					    ./fuzzel.nix
 | 
				
			||||||
 | 
					    ./git.nix
 | 
				
			||||||
 | 
					    ./gnome.nix
 | 
				
			||||||
 | 
					    #./niri.nix
 | 
				
			||||||
 | 
					    ./ssh.nix
 | 
				
			||||||
 | 
					    ./swaylock.nix
 | 
				
			||||||
 | 
					    ./vscode.nix
 | 
				
			||||||
 | 
					    ./waybar.nix
 | 
				
			||||||
 | 
					    ./zsh.nix
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										31
									
								
								homeConfigurations/vinzenz/gnome.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								homeConfigurations/vinzenz/gnome.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,31 @@
 | 
				
			||||||
 | 
					{ pkgs, ... }:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  config = {
 | 
				
			||||||
 | 
					    home.packages = with pkgs; [
 | 
				
			||||||
 | 
					      gitg
 | 
				
			||||||
 | 
					      meld
 | 
				
			||||||
 | 
					      simple-scan
 | 
				
			||||||
 | 
					      pinta
 | 
				
			||||||
 | 
					      dconf-editor
 | 
				
			||||||
 | 
					      impression # usb image writer
 | 
				
			||||||
 | 
					      papers # pdf viewer
 | 
				
			||||||
 | 
					      gnome-software # for flatpak apps
 | 
				
			||||||
 | 
					      gnomeExtensions.solaar-extension
 | 
				
			||||||
 | 
					      snapshot
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dconf.settings = {
 | 
				
			||||||
 | 
					      "org/gnome/shell".enabled-extensions = [
 | 
				
			||||||
 | 
					        "GPaste@gnome-shell-extensions.gnome.org"
 | 
				
			||||||
 | 
					        "solaar-extension@sidevesh"
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
 | 
					      "org/gnome/desktop/interface".color-scheme = "prefer-dark";
 | 
				
			||||||
 | 
					      "org/gnome/desktop/wm/keybindings" = {
 | 
				
			||||||
 | 
					        switch-windows = [ "<Alt>Tab" ];
 | 
				
			||||||
 | 
					        switch-windows-backward = [ "<Shift><Alt>Tab" ];
 | 
				
			||||||
 | 
					        switch-applications = [ "<Super>Tab" ];
 | 
				
			||||||
 | 
					        switch-applications-backward = [ "<Shift><Super>Tab" ];
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										101
									
								
								homeModules/gnome-extensions.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										101
									
								
								homeModules/gnome-extensions.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,101 @@
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  lib,
 | 
				
			||||||
 | 
					  pkgs,
 | 
				
			||||||
 | 
					  osConfig,
 | 
				
			||||||
 | 
					  config,
 | 
				
			||||||
 | 
					  ...
 | 
				
			||||||
 | 
					}:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  options.vinzenz.gnome-extensions =
 | 
				
			||||||
 | 
					    let
 | 
				
			||||||
 | 
					      mkDefaultEnabledOption =
 | 
				
			||||||
 | 
					        name:
 | 
				
			||||||
 | 
					        lib.mkOption {
 | 
				
			||||||
 | 
					          default = true;
 | 
				
			||||||
 | 
					          example = false;
 | 
				
			||||||
 | 
					          description = "Whether to enable ${name}.";
 | 
				
			||||||
 | 
					          type = lib.types.bool;
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					    in
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      enable = mkDefaultEnabledOption "gnome extended options";
 | 
				
			||||||
 | 
					      appindicator.enable = mkDefaultEnabledOption "appindicator";
 | 
				
			||||||
 | 
					      caffeine.enable = mkDefaultEnabledOption "caffeine";
 | 
				
			||||||
 | 
					      tailscale-qs.enable = lib.mkOption {
 | 
				
			||||||
 | 
					        default = osConfig.services.tailscale.enable;
 | 
				
			||||||
 | 
					        example = true;
 | 
				
			||||||
 | 
					        description = "Whether to enable tailscale quick setting.";
 | 
				
			||||||
 | 
					        type = lib.types.bool;
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					      alphabetic-apps.enable = mkDefaultEnabledOption "alphabetic app grid";
 | 
				
			||||||
 | 
					      clock-show-seconds = mkDefaultEnabledOption "clock seconds";
 | 
				
			||||||
 | 
					      show-battery-percentage = mkDefaultEnabledOption "battery percentage";
 | 
				
			||||||
 | 
					      enable-numlock = mkDefaultEnabledOption "num lock on login";
 | 
				
			||||||
 | 
					      enable-systool-warning = lib.mkEnableOption "system configuration tool warning";
 | 
				
			||||||
 | 
					      edge-tiling = mkDefaultEnabledOption "edge tiling";
 | 
				
			||||||
 | 
					      dynamic-workspaces = mkDefaultEnabledOption "dynamic workspaces";
 | 
				
			||||||
 | 
					      tap-to-click = mkDefaultEnabledOption "tap to click";
 | 
				
			||||||
 | 
					      two-finger-scrolling = mkDefaultEnabledOption "two finger scrolling";
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  config =
 | 
				
			||||||
 | 
					    let
 | 
				
			||||||
 | 
					      cfg = config.vinzenz.gnome-extensions;
 | 
				
			||||||
 | 
					    in
 | 
				
			||||||
 | 
					    lib.mkIf cfg.enable (
 | 
				
			||||||
 | 
					      lib.mkMerge [
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          dconf = {
 | 
				
			||||||
 | 
					            enable = true;
 | 
				
			||||||
 | 
					            settings = {
 | 
				
			||||||
 | 
					              "org/gnome/shell" = {
 | 
				
			||||||
 | 
					                disable-user-extensions = false;
 | 
				
			||||||
 | 
					                disabled-extensions = [ ];
 | 
				
			||||||
 | 
					                enabled-extensions = [ ];
 | 
				
			||||||
 | 
					              };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					              "ca/desrt/dconf-editor".show-warning = cfg.enable-systool-warning;
 | 
				
			||||||
 | 
					              "org/gnome/tweaks".show-extensions-notice = cfg.enable-systool-warning;
 | 
				
			||||||
 | 
					              "org/gnome/mutter" = {
 | 
				
			||||||
 | 
					                inherit (cfg) edge-tiling dynamic-workspaces;
 | 
				
			||||||
 | 
					              };
 | 
				
			||||||
 | 
					              "org/gnome/desktop/peripherals/touchpad" = {
 | 
				
			||||||
 | 
					                inherit (cfg) tap-to-click;
 | 
				
			||||||
 | 
					                two-finger-scrolling-enabled = cfg.two-finger-scrolling;
 | 
				
			||||||
 | 
					              };
 | 
				
			||||||
 | 
					              "org/gnome/desktop/interface" = {
 | 
				
			||||||
 | 
					                inherit (cfg) clock-show-seconds show-battery-percentage;
 | 
				
			||||||
 | 
					              };
 | 
				
			||||||
 | 
					            };
 | 
				
			||||||
 | 
					          };
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        (lib.mkIf cfg.tailscale-qs.enable {
 | 
				
			||||||
 | 
					          home.packages = [ pkgs.gnomeExtensions.tailscale-qs ];
 | 
				
			||||||
 | 
					          dconf.settings."org/gnome/shell".enabled-extensions = [ "tailscale@joaophi.github.com" ];
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        (lib.mkIf cfg.appindicator.enable {
 | 
				
			||||||
 | 
					          home.packages = [ pkgs.gnomeExtensions.appindicator ];
 | 
				
			||||||
 | 
					          dconf.settings."org/gnome/shell".enabled-extensions = [ "appindicatorsupport@rgcjonas.gmail.com" ];
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        (lib.mkIf cfg.caffeine.enable {
 | 
				
			||||||
 | 
					          home.packages = [ pkgs.gnomeExtensions.caffeine ];
 | 
				
			||||||
 | 
					          dconf.settings."org/gnome/shell".enabled-extensions = [ "caffeine@patapon.info" ];
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        (lib.mkIf cfg.alphabetic-apps.enable {
 | 
				
			||||||
 | 
					          home.packages = [ pkgs.gnomeExtensions.alphabetical-app-grid ];
 | 
				
			||||||
 | 
					          dconf.settings = {
 | 
				
			||||||
 | 
					            "org/gnome/shell".enabled-extensions = [ "AlphabeticalAppGrid@stuarthayhurst" ];
 | 
				
			||||||
 | 
					            "org/gnome/shell/extensions/alphabetical-app-grid".folder-order-position = "start";
 | 
				
			||||||
 | 
					          };
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        (lib.mkIf cfg.enable-numlock {
 | 
				
			||||||
 | 
					          dconf.settings."org/gnome/desktop/peripherals/keyboard".numlock-state = true;
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					      ]
 | 
				
			||||||
 | 
					    );
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										6
									
								
								hooks/pre-commit
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										6
									
								
								hooks/pre-commit
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
					@ -0,0 +1,6 @@
 | 
				
			||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					set -euxo pipefail
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					nix fmt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					nix flake check --all-systems --show-trace
 | 
				
			||||||
| 
						 | 
					@ -1,22 +0,0 @@
 | 
				
			||||||
{ pkgs, config, ... }:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  config = {
 | 
					 | 
				
			||||||
    boot.kernelModules = [ "amdgpu" ];
 | 
					 | 
				
			||||||
    services.xserver.videoDrivers = [ "amdgpu" ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    hardware = {
 | 
					 | 
				
			||||||
      graphics.enable = true;
 | 
					 | 
				
			||||||
      amdgpu = {
 | 
					 | 
				
			||||||
        opencl.enable = true;
 | 
					 | 
				
			||||||
        amdvlk = {
 | 
					 | 
				
			||||||
          # TODO: this creates black borders around GNOME apps
 | 
					 | 
				
			||||||
          # enable = true;
 | 
					 | 
				
			||||||
          # support32Bit.enable = config.hardware.graphics.enable32Bit;
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
        overdrive.enable = true;
 | 
					 | 
				
			||||||
      };
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    environment.systemPackages = with pkgs; [ nvtopPackages.amd ];
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,31 +0,0 @@
 | 
				
			||||||
{ pkgs, ... }:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  config = {
 | 
					 | 
				
			||||||
    programs.firefox.enable = true;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    environment.systemPackages = with pkgs; [
 | 
					 | 
				
			||||||
      lm_sensors
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      # office
 | 
					 | 
				
			||||||
      #libreoffice-qt
 | 
					 | 
				
			||||||
      #hunspell
 | 
					 | 
				
			||||||
      #hunspellDicts.de-de
 | 
					 | 
				
			||||||
      #hunspellDicts.en-us-large
 | 
					 | 
				
			||||||
    ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    fonts = {
 | 
					 | 
				
			||||||
      enableDefaultPackages = true;
 | 
					 | 
				
			||||||
      fontconfig.defaultFonts.monospace = [ "FiraCode Nerd Font" ];
 | 
					 | 
				
			||||||
      packages = with pkgs; [
 | 
					 | 
				
			||||||
        nerd-fonts.fira-code
 | 
					 | 
				
			||||||
        roboto-mono
 | 
					 | 
				
			||||||
        recursive
 | 
					 | 
				
			||||||
      ];
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    hardware.logitech.wireless = {
 | 
					 | 
				
			||||||
      enable = true;
 | 
					 | 
				
			||||||
      enableGraphical = true;
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,48 +0,0 @@
 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  lib,
 | 
					 | 
				
			||||||
  pkgs,
 | 
					 | 
				
			||||||
  ...
 | 
					 | 
				
			||||||
}:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  config = {
 | 
					 | 
				
			||||||
    boot = {
 | 
					 | 
				
			||||||
      kernelPackages = pkgs.linuxPackages_zen;
 | 
					 | 
				
			||||||
      kernelParams = [
 | 
					 | 
				
			||||||
        "quiet"
 | 
					 | 
				
			||||||
        "udev.log_level=3"
 | 
					 | 
				
			||||||
      ];
 | 
					 | 
				
			||||||
      supportedFilesystems = [ "btrfs" ];
 | 
					 | 
				
			||||||
      initrd.supportedFilesystems = [ "btrfs" ];
 | 
					 | 
				
			||||||
      consoleLogLevel = 0;
 | 
					 | 
				
			||||||
      initrd.verbose = false;
 | 
					 | 
				
			||||||
      plymouth.enable = true;
 | 
					 | 
				
			||||||
      loader = {
 | 
					 | 
				
			||||||
        timeout = 3;
 | 
					 | 
				
			||||||
        efi.canTouchEfiVariables = true;
 | 
					 | 
				
			||||||
        systemd-boot = {
 | 
					 | 
				
			||||||
          enable = true;
 | 
					 | 
				
			||||||
          editor = false; # do not allow changing kernel parameters
 | 
					 | 
				
			||||||
          consoleMode = "max";
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
      };
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    networking.networkmanager.enable = true;
 | 
					 | 
				
			||||||
    # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
 | 
					 | 
				
			||||||
    # (the default) this is the recommended approach. When using systemd-networkd it's
 | 
					 | 
				
			||||||
    # still possible to use this option, but it's recommended to use it in conjunction
 | 
					 | 
				
			||||||
    # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
 | 
					 | 
				
			||||||
    networking.useDHCP = lib.mkDefault true;
 | 
					 | 
				
			||||||
    # networking.interfaces.eno1.useDHCP = lib.mkDefault true;
 | 
					 | 
				
			||||||
    # networking.interfaces.wlp5s0.useDHCP = lib.mkDefault true;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    hardware = {
 | 
					 | 
				
			||||||
      enableRedistributableFirmware = true;
 | 
					 | 
				
			||||||
      bluetooth.enable = true;
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    services.fwupd.enable = true;
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,30 +0,0 @@
 | 
				
			||||||
{ pkgs, ... }:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  config = {
 | 
					 | 
				
			||||||
    hardware = {
 | 
					 | 
				
			||||||
      graphics = {
 | 
					 | 
				
			||||||
        enable32Bit = true;
 | 
					 | 
				
			||||||
        extraPackages = with pkgs; [ mangohud ];
 | 
					 | 
				
			||||||
        extraPackages32 = with pkgs; [ mangohud ];
 | 
					 | 
				
			||||||
      };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      xpadneo.enable = true;
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    environment.systemPackages = with pkgs; [
 | 
					 | 
				
			||||||
      wineWowPackages.stagingFull
 | 
					 | 
				
			||||||
      wineWowPackages.fonts
 | 
					 | 
				
			||||||
      winetricks
 | 
					 | 
				
			||||||
      dxvk
 | 
					 | 
				
			||||||
      mangohud
 | 
					 | 
				
			||||||
      vulkan-tools
 | 
					 | 
				
			||||||
      glxinfo
 | 
					 | 
				
			||||||
      lutris
 | 
					 | 
				
			||||||
    ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    networking.firewall.allowedUDPPorts = [
 | 
					 | 
				
			||||||
      # Factorio
 | 
					 | 
				
			||||||
      34197
 | 
					 | 
				
			||||||
    ];
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,43 +0,0 @@
 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  "org/gnome/desktop/interface" = {
 | 
					 | 
				
			||||||
    color-scheme = "prefer-dark";
 | 
					 | 
				
			||||||
    clock-show-seconds = true;
 | 
					 | 
				
			||||||
    show-battery-percentage = true;
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
  "org/gnome/mutter" = {
 | 
					 | 
				
			||||||
    edge-tiling = true;
 | 
					 | 
				
			||||||
    dynamic-workspaces = true;
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
  "org/gnome/desktop/peripherals/keyboard" = {
 | 
					 | 
				
			||||||
    numlock-state = true;
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
  "org/gnome/desktop/peripherals/touchpad" = {
 | 
					 | 
				
			||||||
    tap-to-click = true;
 | 
					 | 
				
			||||||
    two-finger-scrolling-enabled = true;
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
  "org/gnome/tweaks" = {
 | 
					 | 
				
			||||||
    show-extensions-notice = false;
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
  "org/gnome/shell" = {
 | 
					 | 
				
			||||||
    disable-user-extensions = false;
 | 
					 | 
				
			||||||
    disabled-extensions = [ ];
 | 
					 | 
				
			||||||
    enabled-extensions = [
 | 
					 | 
				
			||||||
      "tailscale@joaophi.github.com"
 | 
					 | 
				
			||||||
      "appindicatorsupport@rgcjonas.gmail.com"
 | 
					 | 
				
			||||||
      "workspace-indicator@gnome-shell-extensions.gcampax.github.com"
 | 
					 | 
				
			||||||
      "caffeine@patapon.info"
 | 
					 | 
				
			||||||
    ];
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
  "ca/desrt/dconf-editor" = {
 | 
					 | 
				
			||||||
    show-warning = false;
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
  "org/gnome/desktop/wm/keybindings" = {
 | 
					 | 
				
			||||||
    switch-windows = [ "<Alt>Tab" ];
 | 
					 | 
				
			||||||
    switch-windows-backward = [ "<Shift><Alt>Tab" ];
 | 
					 | 
				
			||||||
    switch-applications = [ "<Super>Tab" ];
 | 
					 | 
				
			||||||
    switch-applications-backward = [ "<Shift><Super>Tab" ];
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
  "org/gnome/shell/extensions/alphabetical-app-grid" = {
 | 
					 | 
				
			||||||
    folder-order-position = "start";
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,61 +0,0 @@
 | 
				
			||||||
{ pkgs, ... }:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  config = {
 | 
					 | 
				
			||||||
    # remove some gnome default apps
 | 
					 | 
				
			||||||
    environment.gnome.excludePackages = with pkgs; [
 | 
					 | 
				
			||||||
      cheese # photo booth
 | 
					 | 
				
			||||||
      epiphany # web browser
 | 
					 | 
				
			||||||
      evince # document viewer
 | 
					 | 
				
			||||||
      geary # email client
 | 
					 | 
				
			||||||
      gnome-maps
 | 
					 | 
				
			||||||
      gnome-weather
 | 
					 | 
				
			||||||
      gnome-tour
 | 
					 | 
				
			||||||
      sysprof
 | 
					 | 
				
			||||||
      orca # screen reader
 | 
					 | 
				
			||||||
      gnome-weather
 | 
					 | 
				
			||||||
      gnome-backgrounds
 | 
					 | 
				
			||||||
      gnome-user-docs
 | 
					 | 
				
			||||||
      yelp # help app
 | 
					 | 
				
			||||||
      # gnome-music
 | 
					 | 
				
			||||||
      # totem # video player
 | 
					 | 
				
			||||||
      # snapshot # camera
 | 
					 | 
				
			||||||
      # baobab # disk usage
 | 
					 | 
				
			||||||
    ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # RDP connections
 | 
					 | 
				
			||||||
    services.gnome.gnome-remote-desktop.enable = true;
 | 
					 | 
				
			||||||
    networking.firewall.allowedTCPPorts = [ 3389 ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    home-manager.sharedModules = [
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        home.packages =
 | 
					 | 
				
			||||||
          with pkgs;
 | 
					 | 
				
			||||||
          [
 | 
					 | 
				
			||||||
            gitg
 | 
					 | 
				
			||||||
            meld
 | 
					 | 
				
			||||||
            simple-scan
 | 
					 | 
				
			||||||
            pinta
 | 
					 | 
				
			||||||
            dconf-editor
 | 
					 | 
				
			||||||
            gpaste
 | 
					 | 
				
			||||||
            ghex
 | 
					 | 
				
			||||||
            impression
 | 
					 | 
				
			||||||
            papers
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            # graphical installer for flatpak apps
 | 
					 | 
				
			||||||
            gnome-software
 | 
					 | 
				
			||||||
          ]
 | 
					 | 
				
			||||||
          ++ (with gnomeExtensions; [
 | 
					 | 
				
			||||||
            caffeine
 | 
					 | 
				
			||||||
            appindicator
 | 
					 | 
				
			||||||
          ]);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        dconf.settings = import ./gnome-shared-dconf.nix;
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        home.packages = with pkgs; [ trayscale ] ++ (with gnomeExtensions; [ tailscale-qs ]);
 | 
					 | 
				
			||||||
        dconf.settings."org/gnome/shell".enabled-extensions = [ "tailscale@joaophi.github.com" ];
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    ];
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,9 +0,0 @@
 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  documentation = {
 | 
					 | 
				
			||||||
    enable = true; # documentation of packages
 | 
					 | 
				
			||||||
    nixos.enable = false; # nixos documentation
 | 
					 | 
				
			||||||
    man.enable = true; # manual pages and the man command
 | 
					 | 
				
			||||||
    info.enable = false; # info pages and the info command
 | 
					 | 
				
			||||||
    doc.enable = false; # documentation distributed in packages' /share/doc
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,15 +0,0 @@
 | 
				
			||||||
{ ... }:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  # uncomment for build check on non arm system (requires --impure)
 | 
					 | 
				
			||||||
  # nixpkgs.buildPlatform = builtins.currentSystem;
 | 
					 | 
				
			||||||
  services.tailscale.useRoutingFeatures = "both";
 | 
					 | 
				
			||||||
  system.autoUpgrade.allowReboot = true;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  users.users = {
 | 
					 | 
				
			||||||
    root.openssh.authorizedKeys.keys = [
 | 
					 | 
				
			||||||
      ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFCJUpbpB3KEKVoKWsKoar9J4RNah8gmQoSH6jQEw5dY vinzenz-pixel-JuiceSSH''
 | 
					 | 
				
			||||||
      ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO1CRn4yYTL4XUdCebE8Z4ZeuMujBjorTdWifg911EOv vinzenz-pc2 home roaming''
 | 
					 | 
				
			||||||
      ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPDNpLDmctyqGpow/ElQvdhY4BLBPS/sigDJ1QEcC7wC vinzenz-lpt2-roaming''
 | 
					 | 
				
			||||||
    ];
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,10 +1,21 @@
 | 
				
			||||||
{ vinzenzNixosModules, ... }:
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  imports = [
 | 
					  imports = [
 | 
				
			||||||
    ./configuration.nix
 | 
					 | 
				
			||||||
    ./hardware.nix
 | 
					    ./hardware.nix
 | 
				
			||||||
 | 
					 | 
				
			||||||
    vinzenzNixosModules.podman
 | 
					 | 
				
			||||||
    ./forgejo-runner.nix
 | 
					    ./forgejo-runner.nix
 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  config = {
 | 
				
			||||||
 | 
					    # uncomment for build check on non arm system (requires --impure)
 | 
				
			||||||
 | 
					    # nixpkgs.buildPlatform = builtins.currentSystem;
 | 
				
			||||||
 | 
					    services.tailscale.useRoutingFeatures = "both";
 | 
				
			||||||
 | 
					    system.autoUpgrade.allowReboot = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    users.users = {
 | 
				
			||||||
 | 
					      root.openssh.authorizedKeys.keys = [
 | 
				
			||||||
 | 
					        ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFCJUpbpB3KEKVoKWsKoar9J4RNah8gmQoSH6jQEw5dY vinzenz-pixel-JuiceSSH''
 | 
				
			||||||
 | 
					        ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO1CRn4yYTL4XUdCebE8Z4ZeuMujBjorTdWifg911EOv vinzenz-pc2 home roaming''
 | 
				
			||||||
 | 
					        ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPDNpLDmctyqGpow/ElQvdhY4BLBPS/sigDJ1QEcC7wC vinzenz-lpt2-roaming''
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3,11 +3,6 @@
 | 
				
			||||||
  imports = [ (modulesPath + "/profiles/qemu-guest.nix") ];
 | 
					  imports = [ (modulesPath + "/profiles/qemu-guest.nix") ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  config = {
 | 
					  config = {
 | 
				
			||||||
    nixpkgs = {
 | 
					 | 
				
			||||||
      hostPlatform = "aarch64-linux";
 | 
					 | 
				
			||||||
      system = "aarch64-linux";
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    boot = {
 | 
					    boot = {
 | 
				
			||||||
      tmp.cleanOnBoot = true;
 | 
					      tmp.cleanOnBoot = true;
 | 
				
			||||||
      kernelParams = [ "console=tty" ];
 | 
					      kernelParams = [ "console=tty" ];
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,21 +0,0 @@
 | 
				
			||||||
{ ... }:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  # uncomment for build check on non arm system (requires --impure)
 | 
					 | 
				
			||||||
  # nixpkgs.buildPlatform = builtins.currentSystem;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  services.tailscale.useRoutingFeatures = "both";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  users.users = {
 | 
					 | 
				
			||||||
    root.openssh.authorizedKeys.keys = [
 | 
					 | 
				
			||||||
      ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICdYqY3Y1/f1bsAi5Qfyr/UWuX9ixu96IeAlhoQaJkbf''
 | 
					 | 
				
			||||||
      ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFCJUpbpB3KEKVoKWsKoar9J4RNah8gmQoSH6jQEw5dY vinzenz-pixel-JuiceSSH''
 | 
					 | 
				
			||||||
      ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO1CRn4yYTL4XUdCebE8Z4ZeuMujBjorTdWifg911EOv vinzenz-pc2 home roaming''
 | 
					 | 
				
			||||||
      ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPDNpLDmctyqGpow/ElQvdhY4BLBPS/sigDJ1QEcC7wC vinzenz-lpt2-roaming''
 | 
					 | 
				
			||||||
    ];
 | 
					 | 
				
			||||||
    #ronja.openssh.authorizedKeys.keys = [
 | 
					 | 
				
			||||||
    #  ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIALWKm+d6KL6Vl3grPOcGouiNTkvdhXuWJmcrdEBY2nw ronja-ssh-host-key''
 | 
					 | 
				
			||||||
    #];
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  system.autoUpgrade.allowReboot = true;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,27 @@
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  imports = [
 | 
					  imports = [
 | 
				
			||||||
    ./configuration.nix
 | 
					 | 
				
			||||||
    ./hardware.nix
 | 
					    ./hardware.nix
 | 
				
			||||||
    ./nginx.nix
 | 
					    ./nginx.nix
 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  config = {
 | 
				
			||||||
 | 
					    # uncomment for build check on non arm system (requires --impure)
 | 
				
			||||||
 | 
					    # nixpkgs.buildPlatform = builtins.currentSystem;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    services.tailscale.useRoutingFeatures = "both";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    users.users = {
 | 
				
			||||||
 | 
					      root.openssh.authorizedKeys.keys = [
 | 
				
			||||||
 | 
					        ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICdYqY3Y1/f1bsAi5Qfyr/UWuX9ixu96IeAlhoQaJkbf''
 | 
				
			||||||
 | 
					        ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFCJUpbpB3KEKVoKWsKoar9J4RNah8gmQoSH6jQEw5dY vinzenz-pixel-JuiceSSH''
 | 
				
			||||||
 | 
					        ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO1CRn4yYTL4XUdCebE8Z4ZeuMujBjorTdWifg911EOv vinzenz-pc2 home roaming''
 | 
				
			||||||
 | 
					        ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPDNpLDmctyqGpow/ElQvdhY4BLBPS/sigDJ1QEcC7wC vinzenz-lpt2-roaming''
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
 | 
					      #ronja.openssh.authorizedKeys.keys = [
 | 
				
			||||||
 | 
					      #  ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIALWKm+d6KL6Vl3grPOcGouiNTkvdhXuWJmcrdEBY2nw ronja-ssh-host-key''
 | 
				
			||||||
 | 
					      #];
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    system.autoUpgrade.allowReboot = true;
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3,11 +3,6 @@
 | 
				
			||||||
  imports = [ (modulesPath + "/profiles/qemu-guest.nix") ];
 | 
					  imports = [ (modulesPath + "/profiles/qemu-guest.nix") ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  config = {
 | 
					  config = {
 | 
				
			||||||
    nixpkgs = {
 | 
					 | 
				
			||||||
      hostPlatform = "aarch64-linux";
 | 
					 | 
				
			||||||
      system = "aarch64-linux";
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    boot = {
 | 
					    boot = {
 | 
				
			||||||
      tmp.cleanOnBoot = true;
 | 
					      tmp.cleanOnBoot = true;
 | 
				
			||||||
      kernelParams = [ "console=tty" ];
 | 
					      kernelParams = [ "console=tty" ];
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,26 +0,0 @@
 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  config,
 | 
					 | 
				
			||||||
  pkgs,
 | 
					 | 
				
			||||||
  ...
 | 
					 | 
				
			||||||
}:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  # Configure keymap in X11
 | 
					 | 
				
			||||||
  services.xserver.xkb = {
 | 
					 | 
				
			||||||
    layout = "de";
 | 
					 | 
				
			||||||
    variant = "";
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # Configure console keymap
 | 
					 | 
				
			||||||
  console.keyMap = "de";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # List packages installed in system profile. To search, run:
 | 
					 | 
				
			||||||
  # $ nix search wget
 | 
					 | 
				
			||||||
  environment.systemPackages = with pkgs; [
 | 
					 | 
				
			||||||
    #  vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
 | 
					 | 
				
			||||||
    #  wget
 | 
					 | 
				
			||||||
  ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # Open ports in the firewall.
 | 
					 | 
				
			||||||
  # networking.firewall.allowedTCPPorts = [ ... ];
 | 
					 | 
				
			||||||
  # networking.firewall.allowedUDPPorts = [ ... ];
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,15 +1,32 @@
 | 
				
			||||||
{ vinzenzNixosModules, ... }:
 | 
					{
 | 
				
			||||||
 | 
					  config,
 | 
				
			||||||
 | 
					  pkgs,
 | 
				
			||||||
 | 
					  ...
 | 
				
			||||||
 | 
					}:
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  imports = [
 | 
					  imports = [
 | 
				
			||||||
    ./configuration.nix
 | 
					 | 
				
			||||||
    ./hardware.nix
 | 
					    ./hardware.nix
 | 
				
			||||||
 | 
					 | 
				
			||||||
    ../../modules/gnome.nix
 | 
					 | 
				
			||||||
    ../../modules/gaming.nix
 | 
					 | 
				
			||||||
    vinzenzNixosModules.steam
 | 
					 | 
				
			||||||
    ../../modules/desktop-environment.nix
 | 
					 | 
				
			||||||
    ../../modules/desktop-hardware.nix
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    ../../home/ronja
 | 
					 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  config = {
 | 
				
			||||||
 | 
					    # Configure keymap in X11
 | 
				
			||||||
 | 
					    services.xserver.xkb = {
 | 
				
			||||||
 | 
					      layout = "de";
 | 
				
			||||||
 | 
					      variant = "";
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Configure console keymap
 | 
				
			||||||
 | 
					    console.keyMap = "de";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # List packages installed in system profile. To search, run:
 | 
				
			||||||
 | 
					    # $ nix search wget
 | 
				
			||||||
 | 
					    environment.systemPackages = with pkgs; [
 | 
				
			||||||
 | 
					      #  vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
 | 
				
			||||||
 | 
					      #  wget
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Open ports in the firewall.
 | 
				
			||||||
 | 
					    # networking.firewall.allowedTCPPorts = [ ... ];
 | 
				
			||||||
 | 
					    # networking.firewall.allowedUDPPorts = [ ... ];};
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,8 @@
 | 
				
			||||||
{ lib, ... }:
 | 
					{ lib, ... }:
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  boot = {
 | 
					  boot = {
 | 
				
			||||||
 | 
					    supportedFilesystems = [ "btrfs" ];
 | 
				
			||||||
 | 
					    initrd.supportedFilesystems = [ "btrfs" ];
 | 
				
			||||||
    kernelModules = [ "kvm-intel" ];
 | 
					    kernelModules = [ "kvm-intel" ];
 | 
				
			||||||
    extraModulePackages = [ ];
 | 
					    extraModulePackages = [ ];
 | 
				
			||||||
    initrd = {
 | 
					    initrd = {
 | 
				
			||||||
| 
						 | 
					@ -37,6 +39,10 @@
 | 
				
			||||||
    { device = "/dev/disk/by-uuid/bf9d19fb-499b-4bfb-b67d-131fa5bf8259"; }
 | 
					    { device = "/dev/disk/by-uuid/bf9d19fb-499b-4bfb-b67d-131fa5bf8259"; }
 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
 | 
					  hardware.bluetooth.enable = true;
 | 
				
			||||||
  hardware.cpu.intel.updateMicrocode = true;
 | 
					
 | 
				
			||||||
 | 
					  networking = {
 | 
				
			||||||
 | 
					    networkmanager.enable = true;
 | 
				
			||||||
 | 
					    useDHCP = lib.mkDefault true;
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,45 +0,0 @@
 | 
				
			||||||
{ ... }:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  imports = [ ./nginx.nix ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  config = {
 | 
					 | 
				
			||||||
    nix.settings.extra-platforms = [
 | 
					 | 
				
			||||||
      "aarch64-linux"
 | 
					 | 
				
			||||||
      "i686-linux"
 | 
					 | 
				
			||||||
    ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    services.xserver.xkb = {
 | 
					 | 
				
			||||||
      # Configure keymap in X11
 | 
					 | 
				
			||||||
      layout = "de";
 | 
					 | 
				
			||||||
      variant = "";
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # Configure console keymap
 | 
					 | 
				
			||||||
    console.keyMap = "de";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    users.users.vinzenz.openssh.authorizedKeys.keys = [
 | 
					 | 
				
			||||||
      ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFCJUpbpB3KEKVoKWsKoar9J4RNah8gmQoSH6jQEw5dY vinzenz-pixel-JuiceSSH''
 | 
					 | 
				
			||||||
      ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO1CRn4yYTL4XUdCebE8Z4ZeuMujBjorTdWifg911EOv vinzenz-pc2 home roaming''
 | 
					 | 
				
			||||||
    ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    #users.users.ronja.openssh.authorizedKeys.keys = [
 | 
					 | 
				
			||||||
    #  ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIALWKm+d6KL6Vl3grPOcGouiNTkvdhXuWJmcrdEBY2nw ronja-ssh-host-key''
 | 
					 | 
				
			||||||
    #];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    programs = {
 | 
					 | 
				
			||||||
      adb.enable = true;
 | 
					 | 
				
			||||||
      light = {
 | 
					 | 
				
			||||||
        enable = true;
 | 
					 | 
				
			||||||
        brightnessKeys = {
 | 
					 | 
				
			||||||
          enable = true;
 | 
					 | 
				
			||||||
          step = 5;
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
      };
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    networking.firewall.allowedTCPPorts = [
 | 
					 | 
				
			||||||
      8776
 | 
					 | 
				
			||||||
      1337
 | 
					 | 
				
			||||||
    ];
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,18 +1,47 @@
 | 
				
			||||||
{ vinzenzNixosModules, ... }:
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  imports = [
 | 
					  imports = [
 | 
				
			||||||
    ./configuration.nix
 | 
					 | 
				
			||||||
    ./hardware.nix
 | 
					    ./hardware.nix
 | 
				
			||||||
 | 
					    ./nginx.nix
 | 
				
			||||||
    ../../modules/gnome.nix
 | 
					 | 
				
			||||||
    ../../modules/gaming.nix
 | 
					 | 
				
			||||||
    vinzenzNixosModules.steam
 | 
					 | 
				
			||||||
    vinzenzNixosModules.printing
 | 
					 | 
				
			||||||
    vinzenzNixosModules.podman
 | 
					 | 
				
			||||||
    ../../modules/desktop-environment.nix
 | 
					 | 
				
			||||||
    ../../modules/desktop-hardware.nix
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    ../../home/vinzenz
 | 
					 | 
				
			||||||
    ../../home/ronja
 | 
					 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  config = {
 | 
				
			||||||
 | 
					    nix.settings.extra-platforms = [
 | 
				
			||||||
 | 
					      "aarch64-linux"
 | 
				
			||||||
 | 
					      "i686-linux"
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    services.xserver.xkb = {
 | 
				
			||||||
 | 
					      # Configure keymap in X11
 | 
				
			||||||
 | 
					      layout = "de";
 | 
				
			||||||
 | 
					      variant = "";
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Configure console keymap
 | 
				
			||||||
 | 
					    console.keyMap = "de";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    users.users.vinzenz.openssh.authorizedKeys.keys = [
 | 
				
			||||||
 | 
					      ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFCJUpbpB3KEKVoKWsKoar9J4RNah8gmQoSH6jQEw5dY vinzenz-pixel-JuiceSSH''
 | 
				
			||||||
 | 
					      ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO1CRn4yYTL4XUdCebE8Z4ZeuMujBjorTdWifg911EOv vinzenz-pc2 home roaming''
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    #users.users.ronja.openssh.authorizedKeys.keys = [
 | 
				
			||||||
 | 
					    #  ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIALWKm+d6KL6Vl3grPOcGouiNTkvdhXuWJmcrdEBY2nw ronja-ssh-host-key''
 | 
				
			||||||
 | 
					    #];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    programs = {
 | 
				
			||||||
 | 
					      adb.enable = true;
 | 
				
			||||||
 | 
					      light = {
 | 
				
			||||||
 | 
					        enable = true;
 | 
				
			||||||
 | 
					        brightnessKeys = {
 | 
				
			||||||
 | 
					          enable = true;
 | 
				
			||||||
 | 
					          step = 5;
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    networking.firewall.allowedTCPPorts = [
 | 
				
			||||||
 | 
					      8776
 | 
				
			||||||
 | 
					      1337
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,30 +1,21 @@
 | 
				
			||||||
{ lib, ... }:
 | 
					{ pkgs, lib, ... }:
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  imports = [ ../../modules/intel-graphics.nix ];
 | 
					 | 
				
			||||||
  config = {
 | 
					 | 
				
			||||||
  # intel cpu
 | 
					  # intel cpu
 | 
				
			||||||
  boot.kernelModules = [
 | 
					  boot.kernelModules = [
 | 
				
			||||||
    "kvm-intel"
 | 
					    "kvm-intel"
 | 
				
			||||||
    "xe"
 | 
					    "xe"
 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
    hardware.cpu.intel.updateMicrocode = true;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    boot.loader = {
 | 
					  networking = {
 | 
				
			||||||
      systemd-boot.enable = true;
 | 
					    networkmanager.enable = true;
 | 
				
			||||||
      efi.canTouchEfiVariables = true;
 | 
					    useDHCP = lib.mkDefault true;
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
 | 
					  boot = {
 | 
				
			||||||
    # (the default) this is the recommended approach. When using systemd-networkd it's
 | 
					    kernelPackages = pkgs.linuxPackages_zen;
 | 
				
			||||||
    # still possible to use this option, but it's recommended to use it in conjunction
 | 
					    supportedFilesystems = [ "btrfs" ];
 | 
				
			||||||
    # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
 | 
					    initrd = {
 | 
				
			||||||
    networking.useDHCP = lib.mkDefault true;
 | 
					      supportedFilesystems = [ "btrfs" ];
 | 
				
			||||||
 | 
					 | 
				
			||||||
    hardware.enableRedistributableFirmware = true;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    boot.initrd = {
 | 
					 | 
				
			||||||
      availableKernelModules = [
 | 
					      availableKernelModules = [
 | 
				
			||||||
        "xhci_pci"
 | 
					        "xhci_pci"
 | 
				
			||||||
        "thunderbolt"
 | 
					        "thunderbolt"
 | 
				
			||||||
| 
						 | 
					@ -36,6 +27,7 @@
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  fileSystems = {
 | 
					  fileSystems = {
 | 
				
			||||||
    "/" = {
 | 
					    "/" = {
 | 
				
			||||||
| 
						 | 
					@ -59,5 +51,6 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  services.thermald.enable = true;
 | 
					  services.thermald.enable = true;
 | 
				
			||||||
  services.hardware.bolt.enable = true; # thunderbolt security
 | 
					  services.hardware.bolt.enable = true; # thunderbolt security
 | 
				
			||||||
  };
 | 
					
 | 
				
			||||||
 | 
					  hardware.bluetooth.enable = true;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,36 +0,0 @@
 | 
				
			||||||
{ pkgs, ... }:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  imports = [
 | 
					 | 
				
			||||||
    ./hardware.nix
 | 
					 | 
				
			||||||
    ./vscode-server.nix
 | 
					 | 
				
			||||||
    ./hass.nix
 | 
					 | 
				
			||||||
  ];
 | 
					 | 
				
			||||||
  config = {
 | 
					 | 
				
			||||||
    nix.settings.extra-platforms = [
 | 
					 | 
				
			||||||
      "aarch64-linux"
 | 
					 | 
				
			||||||
      "i686-linux"
 | 
					 | 
				
			||||||
    ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    services.xserver.xkb = {
 | 
					 | 
				
			||||||
      # Configure keymap in X11
 | 
					 | 
				
			||||||
      layout = "de";
 | 
					 | 
				
			||||||
      variant = "";
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # Configure console keymap
 | 
					 | 
				
			||||||
    console.keyMap = "de";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    users.users.vinzenz.openssh.authorizedKeys.keys = [
 | 
					 | 
				
			||||||
      ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINrY6tcgnoC/xbgL7vxSjddEY9MBxRXe9n2cAHt88/TT home roaming''
 | 
					 | 
				
			||||||
      ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFCJUpbpB3KEKVoKWsKoar9J4RNah8gmQoSH6jQEw5dY vinzenz-pixel-JuiceSSH''
 | 
					 | 
				
			||||||
      ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPDNpLDmctyqGpow/ElQvdhY4BLBPS/sigDJ1QEcC7wC vinzenz-lpt2-roaming''
 | 
					 | 
				
			||||||
    ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    users.users.ronja.openssh.authorizedKeys.keys = [
 | 
					 | 
				
			||||||
      ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIALWKm+d6KL6Vl3grPOcGouiNTkvdhXuWJmcrdEBY2nw ssh-host-key''
 | 
					 | 
				
			||||||
      ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEgN6J8KyVyQqBAz+y3drXDmIsxOPkdPB+ISgpIP9Eld Generated By Termius''
 | 
					 | 
				
			||||||
    ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    environment.systemPackages = with pkgs; [ lact ];
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,19 +1,42 @@
 | 
				
			||||||
{ vinzenzNixosModules, ... }:
 | 
					{ pkgs, ... }:
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  imports = [
 | 
					  imports = [
 | 
				
			||||||
    ./configuration.nix
 | 
					 | 
				
			||||||
    ./hardware.nix
 | 
					    ./hardware.nix
 | 
				
			||||||
 | 
					    ./vscode-server.nix
 | 
				
			||||||
    ../../modules/gnome.nix
 | 
					    ./hass.nix
 | 
				
			||||||
    ../../modules/gaming.nix
 | 
					 | 
				
			||||||
    vinzenzNixosModules.steam
 | 
					 | 
				
			||||||
    vinzenzNixosModules.printing
 | 
					 | 
				
			||||||
    vinzenzNixosModules.podman
 | 
					 | 
				
			||||||
    #../../modules/niri.nix
 | 
					 | 
				
			||||||
    ../../modules/desktop-environment.nix
 | 
					 | 
				
			||||||
    ../../modules/desktop-hardware.nix
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    ../../home/vinzenz
 | 
					 | 
				
			||||||
    ../../home/ronja
 | 
					 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  config = {
 | 
				
			||||||
 | 
					    nix.settings.extra-platforms = [
 | 
				
			||||||
 | 
					      "aarch64-linux"
 | 
				
			||||||
 | 
					      "i686-linux"
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    services.xserver.xkb = {
 | 
				
			||||||
 | 
					      # Configure keymap in X11
 | 
				
			||||||
 | 
					      layout = "de";
 | 
				
			||||||
 | 
					      variant = "";
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Configure console keymap
 | 
				
			||||||
 | 
					    console.keyMap = "de";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    users.users.vinzenz.openssh.authorizedKeys.keys = [
 | 
				
			||||||
 | 
					      ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINrY6tcgnoC/xbgL7vxSjddEY9MBxRXe9n2cAHt88/TT home roaming''
 | 
				
			||||||
 | 
					      ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFCJUpbpB3KEKVoKWsKoar9J4RNah8gmQoSH6jQEw5dY vinzenz-pixel-JuiceSSH''
 | 
				
			||||||
 | 
					      ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPDNpLDmctyqGpow/ElQvdhY4BLBPS/sigDJ1QEcC7wC vinzenz-lpt2-roaming''
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    users.users.ronja.openssh.authorizedKeys.keys = [
 | 
				
			||||||
 | 
					      ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIALWKm+d6KL6Vl3grPOcGouiNTkvdhXuWJmcrdEBY2nw ssh-host-key''
 | 
				
			||||||
 | 
					      ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEgN6J8KyVyQqBAz+y3drXDmIsxOPkdPB+ISgpIP9Eld Generated By Termius''
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    environment.systemPackages = with pkgs; [ lact ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    networking.firewall.allowedUDPPorts = [
 | 
				
			||||||
 | 
					      # Factorio
 | 
				
			||||||
 | 
					      34197
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,10 +1,7 @@
 | 
				
			||||||
{ ... }:
 | 
					{ pkgs, lib, ... }:
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  imports = [ ../../modules/amd-graphics.nix ];
 | 
					 | 
				
			||||||
  config = {
 | 
					 | 
				
			||||||
  # amd cpu
 | 
					  # amd cpu
 | 
				
			||||||
  boot.kernelModules = [ "kvm-amd" ];
 | 
					  boot.kernelModules = [ "kvm-amd" ];
 | 
				
			||||||
    hardware.cpu.amd.updateMicrocode = true;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  boot = {
 | 
					  boot = {
 | 
				
			||||||
    initrd.availableKernelModules = [
 | 
					    initrd.availableKernelModules = [
 | 
				
			||||||
| 
						 | 
					@ -14,12 +11,20 @@
 | 
				
			||||||
      "usbhid"
 | 
					      "usbhid"
 | 
				
			||||||
      "sd_mod"
 | 
					      "sd_mod"
 | 
				
			||||||
    ]; # "usb_storage"
 | 
					    ]; # "usb_storage"
 | 
				
			||||||
 | 
					    kernelPackages = pkgs.linuxPackages_zen;
 | 
				
			||||||
 | 
					    supportedFilesystems = [ "btrfs" ];
 | 
				
			||||||
 | 
					    initrd.supportedFilesystems = [ "btrfs" ];
 | 
				
			||||||
    loader.efi.efiSysMountPoint = "/boot";
 | 
					    loader.efi.efiSysMountPoint = "/boot";
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  fileSystems = import ./fstab.nix;
 | 
					  fileSystems = import ./fstab.nix;
 | 
				
			||||||
  swapDevices = [ ];
 | 
					  swapDevices = [ ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    networking.interfaces.eno1.wakeOnLan.enable = true;
 | 
					  networking = {
 | 
				
			||||||
 | 
					    networkmanager.enable = true;
 | 
				
			||||||
 | 
					    useDHCP = lib.mkDefault true;
 | 
				
			||||||
 | 
					    interfaces.eno1.wakeOnLan.enable = true;
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  hardware.bluetooth.enable = true;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -15,9 +15,7 @@
 | 
				
			||||||
    ];
 | 
					    ];
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  networking = {
 | 
					  networking.firewall.allowedTCPPorts = [
 | 
				
			||||||
    firewall = {
 | 
					 | 
				
			||||||
      allowedTCPPorts = [
 | 
					 | 
				
			||||||
    8542
 | 
					    8542
 | 
				
			||||||
    8543
 | 
					    8543
 | 
				
			||||||
    8544
 | 
					    8544
 | 
				
			||||||
| 
						 | 
					@ -25,6 +23,4 @@
 | 
				
			||||||
    1313
 | 
					    1313
 | 
				
			||||||
    5201
 | 
					    5201
 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -9,7 +9,9 @@
 | 
				
			||||||
  config = {
 | 
					  config = {
 | 
				
			||||||
    nixpkgs.config = {
 | 
					    nixpkgs.config = {
 | 
				
			||||||
      # https://github.com/NixOS/nixpkgs/issues/197325#issuecomment-1579420085
 | 
					      # https://github.com/NixOS/nixpkgs/issues/197325#issuecomment-1579420085
 | 
				
			||||||
      allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) config.allowedUnfreePackages;
 | 
					      allowUnfreePredicate = lib.mkDefault (
 | 
				
			||||||
 | 
					        pkg: builtins.elem (lib.getName pkg) config.allowedUnfreePackages
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										20
									
								
								nixosModules/amd-graphics.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								nixosModules/amd-graphics.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,20 @@
 | 
				
			||||||
 | 
					{ pkgs, ... }:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  boot.kernelModules = [ "amdgpu" ];
 | 
				
			||||||
 | 
					  services.xserver.videoDrivers = [ "amdgpu" ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  hardware = {
 | 
				
			||||||
 | 
					    graphics.enable = true;
 | 
				
			||||||
 | 
					    amdgpu = {
 | 
				
			||||||
 | 
					      opencl.enable = true;
 | 
				
			||||||
 | 
					      amdvlk = {
 | 
				
			||||||
 | 
					        # TODO: this creates black borders around GNOME apps
 | 
				
			||||||
 | 
					        # enable = true;
 | 
				
			||||||
 | 
					        # support32Bit.enable = config.hardware.graphics.enable32Bit;
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					      overdrive.enable = true;
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  environment.systemPackages = with pkgs; [ nvtopPackages.amd ];
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,4 @@
 | 
				
			||||||
 | 
					{ pkgs, ... }:
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  i18n = {
 | 
					  i18n = {
 | 
				
			||||||
    defaultLocale = "en_US.UTF-8";
 | 
					    defaultLocale = "en_US.UTF-8";
 | 
				
			||||||
| 
						 | 
					@ -21,4 +22,10 @@
 | 
				
			||||||
    "en-US"
 | 
					    "en-US"
 | 
				
			||||||
    "de"
 | 
					    "de"
 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  environment.systemPackages = [
 | 
				
			||||||
 | 
					    pkgs.hunspell
 | 
				
			||||||
 | 
					    pkgs.hunspellDicts.de-de
 | 
				
			||||||
 | 
					    pkgs.hunspellDicts.en-us
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										11
									
								
								nixosModules/firmware-updates.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								nixosModules/firmware-updates.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,11 @@
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  hardware = {
 | 
				
			||||||
 | 
					    enableRedistributableFirmware = true;
 | 
				
			||||||
 | 
					    cpu = {
 | 
				
			||||||
 | 
					      amd.updateMicrocode = true;
 | 
				
			||||||
 | 
					      intel.updateMicrocode = true;
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  services.fwupd.enable = true;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,16 @@
 | 
				
			||||||
{ pkgs, ... }:
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					  pkgs,
 | 
				
			||||||
 | 
					  lib,
 | 
				
			||||||
 | 
					  config,
 | 
				
			||||||
 | 
					  ...
 | 
				
			||||||
 | 
					}:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  options.vinzenz = {
 | 
				
			||||||
 | 
					    keep-gnome-default-apps = lib.mkEnableOption "keep gnome default apps";
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  config = lib.mkMerge [
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
      services = {
 | 
					      services = {
 | 
				
			||||||
        xserver = {
 | 
					        xserver = {
 | 
				
			||||||
          # Enable the GNOME Desktop Environment.
 | 
					          # Enable the GNOME Desktop Environment.
 | 
				
			||||||
| 
						 | 
					@ -28,4 +39,27 @@
 | 
				
			||||||
        dconf.enable = true;
 | 
					        dconf.enable = true;
 | 
				
			||||||
        gpaste.enable = true;
 | 
					        gpaste.enable = true;
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    (lib.mkIf (!config.vinzenz.keep-gnome-default-apps) {
 | 
				
			||||||
 | 
					      environment.gnome.excludePackages = with pkgs; [
 | 
				
			||||||
 | 
					        cheese # photo booth
 | 
				
			||||||
 | 
					        epiphany # web browser
 | 
				
			||||||
 | 
					        evince # document viewer
 | 
				
			||||||
 | 
					        geary # email client
 | 
				
			||||||
 | 
					        gnome-maps
 | 
				
			||||||
 | 
					        gnome-weather
 | 
				
			||||||
 | 
					        gnome-tour
 | 
				
			||||||
 | 
					        sysprof
 | 
				
			||||||
 | 
					        orca # screen reader
 | 
				
			||||||
 | 
					        gnome-weather
 | 
				
			||||||
 | 
					        gnome-backgrounds
 | 
				
			||||||
 | 
					        gnome-user-docs
 | 
				
			||||||
 | 
					        yelp # help app
 | 
				
			||||||
 | 
					        gnome-music
 | 
				
			||||||
 | 
					        totem # video player
 | 
				
			||||||
 | 
					        snapshot # camera
 | 
				
			||||||
 | 
					        baobab # disk usage
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,5 @@
 | 
				
			||||||
{ pkgs, vinzenzNixosModules, ... }:
 | 
					{ pkgs, ... }:
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  imports = [ vinzenzNixosModules.allowed-unfree-list ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  config = {
 | 
					  config = {
 | 
				
			||||||
    hardware.graphics = {
 | 
					    hardware.graphics = {
 | 
				
			||||||
      extraPackages = with pkgs; [
 | 
					      extraPackages = with pkgs; [
 | 
				
			||||||
							
								
								
									
										11
									
								
								nixosModules/quiet-boot.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								nixosModules/quiet-boot.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,11 @@
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  boot = {
 | 
				
			||||||
 | 
					    kernelParams = [
 | 
				
			||||||
 | 
					      "quiet"
 | 
				
			||||||
 | 
					      "udev.log_level=3"
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					    consoleLogLevel = 0;
 | 
				
			||||||
 | 
					    initrd.verbose = false;
 | 
				
			||||||
 | 
					    plymouth.enable = true;
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,4 @@
 | 
				
			||||||
{ vinzenzNixosModules, ... }:
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  imports = [ vinzenzNixosModules.allowed-unfree-list ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  hardware.steam-hardware.enable = true;
 | 
					  hardware.steam-hardware.enable = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  programs = {
 | 
					  programs = {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										11
									
								
								nixosModules/systemd-boot.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								nixosModules/systemd-boot.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,11 @@
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  boot.loader = {
 | 
				
			||||||
 | 
					    timeout = 3;
 | 
				
			||||||
 | 
					    efi.canTouchEfiVariables = true;
 | 
				
			||||||
 | 
					    systemd-boot = {
 | 
				
			||||||
 | 
					      enable = true;
 | 
				
			||||||
 | 
					      editor = false; # do not allow changing kernel parameters
 | 
				
			||||||
 | 
					      consoleMode = "max";
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										19
									
								
								nixosModules/user-ronja.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								nixosModules/user-ronja.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,19 @@
 | 
				
			||||||
 | 
					{ pkgs, ... }:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  users.users.ronja = {
 | 
				
			||||||
 | 
					    isNormalUser = true;
 | 
				
			||||||
 | 
					    name = "ronja";
 | 
				
			||||||
 | 
					    description = "Ronja";
 | 
				
			||||||
 | 
					    home = "/home/ronja";
 | 
				
			||||||
 | 
					    extraGroups = [
 | 
				
			||||||
 | 
					      "networkmanager"
 | 
				
			||||||
 | 
					      "wheel"
 | 
				
			||||||
 | 
					      "games"
 | 
				
			||||||
 | 
					      "podman"
 | 
				
			||||||
 | 
					      "openvscode-server"
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					    shell = pkgs.zsh;
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  nix.settings.trusted-users = [ "ronja" ];
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										35
									
								
								nixosModules/user-vinzenz.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								nixosModules/user-vinzenz.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,35 @@
 | 
				
			||||||
 | 
					{ pkgs, ... }:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  users.users.vinzenz = {
 | 
				
			||||||
 | 
					    isNormalUser = true;
 | 
				
			||||||
 | 
					    name = "vinzenz";
 | 
				
			||||||
 | 
					    description = "Vinzenz";
 | 
				
			||||||
 | 
					    home = "/home/vinzenz";
 | 
				
			||||||
 | 
					    extraGroups = [
 | 
				
			||||||
 | 
					      "networkmanager"
 | 
				
			||||||
 | 
					      "wheel"
 | 
				
			||||||
 | 
					      "games"
 | 
				
			||||||
 | 
					      "dialout"
 | 
				
			||||||
 | 
					      "podman"
 | 
				
			||||||
 | 
					      "nginx"
 | 
				
			||||||
 | 
					      "adbusers"
 | 
				
			||||||
 | 
					      "kvm"
 | 
				
			||||||
 | 
					      "input"
 | 
				
			||||||
 | 
					      "video"
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					    shell = pkgs.zsh;
 | 
				
			||||||
 | 
					    autoSubUidGidRange = true;
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  nix.settings.trusted-users = [ "vinzenz" ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  allowedUnfreePackages = [
 | 
				
			||||||
 | 
					    "rider"
 | 
				
			||||||
 | 
					    "pycharm-professional"
 | 
				
			||||||
 | 
					    "jetbrains-toolbox"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    "anydesk"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    "vscode-extension-ms-dotnettools-csharp"
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										28
									
								
								nixosModules/vinzenz-desktop-settings.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								nixosModules/vinzenz-desktop-settings.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,28 @@
 | 
				
			||||||
 | 
					{ pkgs, ... }:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  programs.firefox.enable = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  environment.systemPackages = with pkgs; [
 | 
				
			||||||
 | 
					    lm_sensors
 | 
				
			||||||
 | 
					    libreoffice-qt6
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  fonts = {
 | 
				
			||||||
 | 
					    enableDefaultPackages = true;
 | 
				
			||||||
 | 
					    fontconfig.defaultFonts.monospace = [ "FiraCode Nerd Font" ];
 | 
				
			||||||
 | 
					    packages = with pkgs; [
 | 
				
			||||||
 | 
					      nerd-fonts.fira-code
 | 
				
			||||||
 | 
					      roboto-mono
 | 
				
			||||||
 | 
					      recursive
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  hardware.logitech.wireless = {
 | 
				
			||||||
 | 
					    enable = true;
 | 
				
			||||||
 | 
					    enableGraphical = true;
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # RDP connections
 | 
				
			||||||
 | 
					  services.gnome.gnome-remote-desktop.enable = true;
 | 
				
			||||||
 | 
					  networking.firewall.allowedTCPPorts = [ 3389 ];
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										22
									
								
								nixosModules/wine-gaming.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								nixosModules/wine-gaming.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,22 @@
 | 
				
			||||||
 | 
					{ pkgs, ... }:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  hardware = {
 | 
				
			||||||
 | 
					    graphics = {
 | 
				
			||||||
 | 
					      enable32Bit = true;
 | 
				
			||||||
 | 
					      extraPackages = with pkgs; [ mangohud ];
 | 
				
			||||||
 | 
					      extraPackages32 = with pkgs; [ mangohud ];
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    xpadneo.enable = true;
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  environment.systemPackages = with pkgs; [
 | 
				
			||||||
 | 
					    wineWowPackages.stagingFull
 | 
				
			||||||
 | 
					    wineWowPackages.fonts
 | 
				
			||||||
 | 
					    winetricks
 | 
				
			||||||
 | 
					    dxvk
 | 
				
			||||||
 | 
					    mangohud
 | 
				
			||||||
 | 
					    vulkan-tools
 | 
				
			||||||
 | 
					    glxinfo
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue