initial check-in
This commit is contained in:
		
						commit
						38f35f3568
					
				
					 2 changed files with 344 additions and 0 deletions
				
			
		
							
								
								
									
										303
									
								
								configuration.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										303
									
								
								configuration.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,303 @@ | ||||||
|  | # Help is available in the configuration.nix(5) man page | ||||||
|  | # and in the NixOS manual (accessible by running ‘nixos-help’). | ||||||
|  | { | ||||||
|  |   config, | ||||||
|  |   pkgs, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   imports = [ | ||||||
|  |     # Include the results of the hardware scan. | ||||||
|  |     ./hardware-configuration.nix | ||||||
|  |     # enable home manager | ||||||
|  |     <home-manager/nixos> | ||||||
|  |   ]; | ||||||
|  | 
 | ||||||
|  |   nixpkgs.config = { | ||||||
|  |     # override insync build version | ||||||
|  |     packageOverrides = pkgs: { | ||||||
|  |       my = import (builtins.fetchTarball https://github.com/kaesaecracker/nixpkgs/archive/db254c650b7f5b6657c6579afba1568f7f997195.tar.gz) { | ||||||
|  |         config = config.nixpkgs.config; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     allowUnfree = true; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   boot = { | ||||||
|  |     # supportedFilesystems = [ "btrfs" ]; | ||||||
|  |     loader = { | ||||||
|  |       systemd-boot.enable = true; | ||||||
|  |       efi = { | ||||||
|  |         canTouchEfiVariables = true; | ||||||
|  |         efiSysMountPoint = "/boot/efi"; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   networking = { | ||||||
|  |     hostName = "vinzenz-lpt"; | ||||||
|  |     # wireless.enable = true;  # Enables wireless support via wpa_supplicant. | ||||||
|  | 
 | ||||||
|  |     # Configure network proxy if necessary | ||||||
|  |     # proxy.default = "http://user:password@proxy:port/"; | ||||||
|  |     # proxy.noProxy = "127.0.0.1,localhost,internal.domain"; | ||||||
|  | 
 | ||||||
|  |     # Enable networking | ||||||
|  |     networkmanager.enable = true; | ||||||
|  | 
 | ||||||
|  |     firewall = { | ||||||
|  |       enable = true; | ||||||
|  |       allowedTCPPortRanges = [ | ||||||
|  |         { | ||||||
|  |           from = 1714; | ||||||
|  |           to = 1764; | ||||||
|  |         } # KDE Connect | ||||||
|  |       ]; | ||||||
|  |       allowedUDPPortRanges = [ | ||||||
|  |         { | ||||||
|  |           from = 1714; | ||||||
|  |           to = 1764; | ||||||
|  |         } # KDE Connect | ||||||
|  |       ]; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   time.timeZone = "Europe/Berlin"; | ||||||
|  | 
 | ||||||
|  |   i18n = { | ||||||
|  |     defaultLocale = "en_US.UTF-8"; | ||||||
|  | 
 | ||||||
|  |     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"; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   services = { | ||||||
|  |     xserver = { | ||||||
|  |       # Enable the X11 windowing system / wayland depending on DE | ||||||
|  |       enable = true; | ||||||
|  | 
 | ||||||
|  |       # Enable the GNOME Desktop Environment. | ||||||
|  |       displayManager.gdm.enable = true; | ||||||
|  |       desktopManager.gnome.enable = true; | ||||||
|  | 
 | ||||||
|  |       # Configure keymap in X11 | ||||||
|  |       layout = "de"; | ||||||
|  |       xkbVariant = ""; | ||||||
|  | 
 | ||||||
|  |       # Enable touchpad support (enabled default in most desktopManager). | ||||||
|  |       # libinput.enable = true; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     # Enable CUPS to print documents. | ||||||
|  |     printing.enable = true; | ||||||
|  | 
 | ||||||
|  |     # Enable the OpenSSH daemon. | ||||||
|  |     openssh = { | ||||||
|  |       enable = true; | ||||||
|  |       permitRootLogin = "no"; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     gnome = { | ||||||
|  |       tracker-miners.enable = false; | ||||||
|  |       tracker.enable = false; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   # Configure console keymap | ||||||
|  |   console.keyMap = "de"; | ||||||
|  | 
 | ||||||
|  |   # Enable sound with pipewire. | ||||||
|  |   sound.enable = true; | ||||||
|  |   hardware.pulseaudio.enable = false; | ||||||
|  |   security.rtkit.enable = true; | ||||||
|  |   services.pipewire = { | ||||||
|  |     enable = true; | ||||||
|  |     alsa.enable = true; | ||||||
|  |     alsa.support32Bit = true; | ||||||
|  |     pulse.enable = true; | ||||||
|  |     # If you want to use JACK applications, uncomment this | ||||||
|  |     #jack.enable = true; | ||||||
|  | 
 | ||||||
|  |     # use the example session manager (no others are packaged yet so this is enabled by default, | ||||||
|  |     # no need to redefine it in your config for now) | ||||||
|  |     #media-session.enable = true; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   # Some programs need SUID wrappers, can be configured further or are | ||||||
|  |   # started in user sessions. | ||||||
|  |   # programs.mtr.enable = true; | ||||||
|  |   # programs.gnupg.agent = { | ||||||
|  |   #   enable = true; | ||||||
|  |   #   enableSSHSupport = true; | ||||||
|  |   # }; | ||||||
|  | 
 | ||||||
|  |   system = { | ||||||
|  |     # This value determines the NixOS release from which the default | ||||||
|  |     # settings for stateful data, like file locations and database versions | ||||||
|  |     # on your system were taken. It‘s perfectly fine and recommended to leave | ||||||
|  |     # this value at the release version of the first install of this system. | ||||||
|  |     # Before changing this value read the documentation for this option | ||||||
|  |     # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). | ||||||
|  |     stateVersion = "22.11"; # Did you read the comment? | ||||||
|  | 
 | ||||||
|  |     # enable auto updates | ||||||
|  |     autoUpgrade.enable = true; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   nix.gc = { | ||||||
|  |     automatic = true; | ||||||
|  |     dates = "00:30"; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   programs.git = { | ||||||
|  |     enable = true; | ||||||
|  |     package = pkgs.gitFull; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   environment = { | ||||||
|  |     # List packages installed in system profile. | ||||||
|  |     systemPackages = with pkgs; [ | ||||||
|  |       #  The Nano editor is also installed by default | ||||||
|  |     ]; | ||||||
|  | 
 | ||||||
|  |     # remove gnome default apps | ||||||
|  |     gnome.excludePackages = with pkgs.gnome; [ | ||||||
|  |       cheese # photo booth | ||||||
|  |       epiphany # web browser | ||||||
|  |       evince # document viewer | ||||||
|  |       geary # email client | ||||||
|  |       seahorse # password manager | ||||||
|  |       gnome-clocks | ||||||
|  |       gnome-maps | ||||||
|  |       gnome-weather | ||||||
|  |       gnome-music | ||||||
|  |       pkgs.gnome-connections | ||||||
|  |     ]; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   # Define user account | ||||||
|  |   users.users.vinzenz = { | ||||||
|  |     isNormalUser = true; | ||||||
|  |     description = "Vinzenz Schroeter"; | ||||||
|  |     extraGroups = ["networkmanager" "wheel"]; | ||||||
|  |     shell = pkgs.zsh; | ||||||
|  |     # openssh.authorizedKeys.keys = [ "ssh-dss AAAAB3NzaC1kc3MAAACBAPIkGWVEt4..." ]; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   # home manager | ||||||
|  |   home-manager.useUserPackages = true; | ||||||
|  |   home-manager.useGlobalPkgs = true; | ||||||
|  |   home-manager.users.vinzenz = { | ||||||
|  |     config, | ||||||
|  |     pkgs, | ||||||
|  |     ... | ||||||
|  |   }: { | ||||||
|  |     #imports = [ "${builtins.fetchTarball https://github.com/schuelermine/xhmm/archive/1608fa757cbd8fb4f11435a50610e44de3fc2223.tar.gz}/console/nano.nix" ]; | ||||||
|  | 
 | ||||||
|  |     home = { | ||||||
|  |       username = "vinzenz"; | ||||||
|  |       homeDirectory = "/home/vinzenz"; | ||||||
|  |       stateVersion = "22.11"; | ||||||
|  |       #editor = "nano"; | ||||||
|  | 
 | ||||||
|  |       sessionVariables = { | ||||||
|  |         EDITOR = "nano"; | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       packages = with pkgs; [ | ||||||
|  |         firefox | ||||||
|  |         htop | ||||||
|  |         btop | ||||||
|  |         iotop | ||||||
|  |         radeontop | ||||||
|  |         powerline | ||||||
|  |         powerline-fonts | ||||||
|  |         thefuck | ||||||
|  |         keepassxc | ||||||
|  |         steam | ||||||
|  |         wine-staging | ||||||
|  |         nix-zsh-completions | ||||||
|  |         tldr | ||||||
|  |         my.insync-v3 | ||||||
|  |         jetbrains.rider | ||||||
|  |         alejandra | ||||||
|  |         gnome-secrets | ||||||
|  |         amberol | ||||||
|  |         dotnet-sdk_7 | ||||||
|  |         # gnome workbench | ||||||
|  |         tdesktop | ||||||
|  |         lutris | ||||||
|  |       ]; | ||||||
|  | 
 | ||||||
|  |       file.".nanorc".text = '' | ||||||
|  |         set linenumbers | ||||||
|  |         set mouse | ||||||
|  |       ''; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     services = { | ||||||
|  |       kdeconnect = { | ||||||
|  |         enable = true; | ||||||
|  |         indicator = true; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     programs = { | ||||||
|  |       home-manager.enable = true; | ||||||
|  |       zsh = { | ||||||
|  |         enable = true; | ||||||
|  |         shellAliases = { | ||||||
|  |           my-update = "sudo nixos-rebuild switch"; | ||||||
|  |           my-config = "sudo nano /etc/nixos/configuration.nix"; | ||||||
|  |           my-fmt = "sudo alejandra /etc/nixos/configuration.nix"; | ||||||
|  |         }; | ||||||
|  |         history = { | ||||||
|  |           size = 10000; | ||||||
|  |           path = "${config.xdg.dataHome}/zsh/history"; | ||||||
|  |         }; | ||||||
|  |         oh-my-zsh = { | ||||||
|  |           enable = true; | ||||||
|  |           theme = "agnoster"; | ||||||
|  |           plugins = ["git" "sudo" "docker" "systemadmin" "thefuck" "nix-zsh-completions"]; | ||||||
|  |         }; | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       git = { | ||||||
|  |         enable = true; | ||||||
|  |         userName = "Vinzenz Schroeter"; | ||||||
|  |         userEmail = "vinzenz.f.s@gmail.com"; | ||||||
|  | 
 | ||||||
|  |         #package = pkgs.gitFull; | ||||||
|  |         #config.credential.helper = "libsecret"; | ||||||
|  | 
 | ||||||
|  |         aliases = { | ||||||
|  |           prettylog = "log --pretty=oneline --graph"; | ||||||
|  |         }; | ||||||
|  |         extraConfig = { | ||||||
|  |           pull = { | ||||||
|  |             ff = "only"; | ||||||
|  |           }; | ||||||
|  |           init = { | ||||||
|  |             defaultBranch = "main"; | ||||||
|  |           }; | ||||||
|  |         }; | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       vscode = { | ||||||
|  |         enable = true; | ||||||
|  |         package = pkgs.vscodium; | ||||||
|  |         enableUpdateCheck = false; | ||||||
|  |         extensions = [pkgs.vscode-extensions.bbenoist.nix]; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | } | ||||||
							
								
								
									
										41
									
								
								hardware-configuration.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								hardware-configuration.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,41 @@ | ||||||
|  | # Do not modify this file!  It was generated by ‘nixos-generate-config’ | ||||||
|  | # and may be overwritten by future invocations.  Please make changes | ||||||
|  | # to /etc/nixos/configuration.nix instead. | ||||||
|  | { config, lib, pkgs, modulesPath, ... }: | ||||||
|  | 
 | ||||||
|  | { | ||||||
|  |   imports = | ||||||
|  |     [ (modulesPath + "/installer/scan/not-detected.nix") | ||||||
|  |     ]; | ||||||
|  | 
 | ||||||
|  |   boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" "sdhci_pci" ]; | ||||||
|  |   boot.initrd.kernelModules = [ ]; | ||||||
|  |   boot.kernelModules = [ "kvm-intel" ]; | ||||||
|  |   boot.extraModulePackages = [ ]; | ||||||
|  | 
 | ||||||
|  |   fileSystems."/" = | ||||||
|  |     { device = "/dev/disk/by-uuid/34cb86c4-8823-4785-9672-92ef0bcd5eaf"; | ||||||
|  |       fsType = "btrfs"; | ||||||
|  |       options = [ "subvol=@" ]; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |   fileSystems."/boot/efi" = | ||||||
|  |     { device = "/dev/disk/by-uuid/2381-1CD2"; | ||||||
|  |       fsType = "vfat"; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |   swapDevices = | ||||||
|  |     [ { device = "/dev/disk/by-uuid/f5932f70-60e4-4abe-b23d-2cab3c095c7d"; } | ||||||
|  |     ]; | ||||||
|  | 
 | ||||||
|  |   # 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.wlp3s0.useDHCP = lib.mkDefault true; | ||||||
|  | 
 | ||||||
|  |   nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; | ||||||
|  |   hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; | ||||||
|  | } | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Vinzenz Schroeter
						Vinzenz Schroeter