Adding new laptop
This commit is contained in:
		
							parent
							
								
									d1996c1918
								
							
						
					
					
						commit
						6c4e1825e0
					
				
					 2 changed files with 318 additions and 0 deletions
				
			
		
							
								
								
									
										281
									
								
								nixos/henna/configuration.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										281
									
								
								nixos/henna/configuration.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,281 @@ | |||
| { config, pkgs, ... }: { | ||||
|   imports = [ # Include the results of the hardware scan. | ||||
|     ./hardware-configuration.nix | ||||
|   ]; | ||||
| 
 | ||||
|   hardware.opengl.enable = true; | ||||
|   hardware.opengl.driSupport = true; | ||||
|   hardware.opengl.driSupport32Bit = true; | ||||
|   hardware.opengl.extraPackages = with pkgs; [ | ||||
|     mesa.drivers | ||||
|     rocm-opencl-icd | ||||
|     rocm-opencl-runtime | ||||
|   ]; | ||||
| 
 | ||||
|   boot = { | ||||
|     loader = { | ||||
|       grub = { | ||||
|         enable = true; | ||||
|         device = "/dev/sda"; | ||||
|         memtest86.enable = true; | ||||
|         enableCryptodisk = true; | ||||
|       }; | ||||
|     }; | ||||
|     kernelParams = [ | ||||
|       "radeon.si_support=0" | ||||
|       "radeon.cik_support=0" | ||||
|       "amdgpu.si_support=1" | ||||
|       "amdgpu.cik_support=1" | ||||
|     ]; | ||||
|     extraModulePackages = with config.boot.kernelPackages; [ | ||||
|         v4l2loopback.out | ||||
|     ]; | ||||
|     kernelModules = [ | ||||
|       "v4l2loopback" | ||||
|     ]; | ||||
|     initrd.kernelModules = [ | ||||
|       "nouveau" | ||||
|     ]; | ||||
| 
 | ||||
|     initrd.luks.devices."luks-2bd7a13f-62b5-4c44-822b-e836ebb84c01".keyFile = "/crypto_keyfile.bin"; | ||||
|     # Enable swap on luks | ||||
|     initrd.luks.devices."luks-aa357d98-202a-46e5-9171-fbe19261cec6".device = "/dev/disk/by-uuid/aa357d98-202a-46e5-9171-fbe19261cec6"; | ||||
|     initrd.luks.devices."luks-aa357d98-202a-46e5-9171-fbe19261cec6".keyFile = "/crypto_keyfile.bin"; | ||||
| 
 | ||||
|     initrd.secrets = { | ||||
|       "/crypto_keyfile.bin" = null; | ||||
|     }; | ||||
|     extraModprobeConfig = '' | ||||
|     options v4l2loopback exclusive_caps=1 card_label="Virtual Camera" | ||||
|   ''; | ||||
|   }; | ||||
| 
 | ||||
|   networking.hostName = "henna"; | ||||
|   networking.networkmanager.enable = true; | ||||
|   time.timeZone = "Europe/Helsinki"; | ||||
|   i18n.defaultLocale = "fi_FI.UTF-8"; | ||||
|   i18n.extraLocaleSettings = { | ||||
|     LC_ADDRESS = "fi_FI.UTF-8"; | ||||
|     LC_IDENTIFICATION = "fi_FI.UTF-8"; | ||||
|     LC_MEASUREMENT = "fi_FI.UTF-8"; | ||||
|     LC_MONETARY = "fi_FI.UTF-8"; | ||||
|     LC_NAME = "fi_FI.UTF-8"; | ||||
|     LC_NUMERIC = "fi_FI.UTF-8"; | ||||
|     LC_PAPER = "fi_FI.UTF-8"; | ||||
|     LC_TELEPHONE = "fi_FI.UTF-8"; | ||||
|     LC_TIME = "fi_FI.UTF-8"; | ||||
|   }; | ||||
| 
 | ||||
|   services.xserver = { | ||||
|     enable = true; | ||||
|     layout = "fi"; | ||||
|     xkbVariant = "nodeadkeys"; | ||||
|     libinput = { | ||||
|       enable = true; | ||||
|       mouse = { | ||||
|         accelProfile = "flat"; | ||||
|         accelSpeed = ".5"; # -1..1 | ||||
|       }; | ||||
|       touchpad = { | ||||
|         accelProfile = "flat"; | ||||
|       }; | ||||
|     }; | ||||
|     deviceSection = '' | ||||
|       Option "VariableRefresh" "True" | ||||
|     ''; | ||||
|     displayManager = { | ||||
|       lightdm.enable = true; | ||||
|       #autoLogin.enable = true; | ||||
|       #autoLogin.user = "jt"; | ||||
|       defaultSession = "none+i3"; | ||||
|     }; | ||||
|     windowManager = { | ||||
|       i3 = { | ||||
|         enable = true; | ||||
|         extraPackages = with pkgs; [ | ||||
|           dmenu | ||||
|           rofi | ||||
|           dunst | ||||
|           imagemagick | ||||
|           xclip | ||||
|           i3status | ||||
|           i3lock | ||||
|           lxappearance | ||||
|         ]; | ||||
|       }; | ||||
|     }; | ||||
|     desktopManager = { | ||||
|       xterm.enable = false; | ||||
|       xfce = { | ||||
|         enable = true; | ||||
|         enableScreensaver = false; | ||||
|         thunarPlugins = [ pkgs.xfce.thunar-archive-plugin ]; | ||||
|       }; | ||||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|   # Configure console keymap | ||||
|   console.keyMap = "fi"; | ||||
| 
 | ||||
|   # Enable CUPS to print documents. | ||||
|   services.printing.enable = true; | ||||
|   services.avahi = { | ||||
|     enable = true; | ||||
|     nssmdns = true; | ||||
|   }; | ||||
| 
 | ||||
|   services.gvfs = { | ||||
|     enable = true; | ||||
|     package = pkgs.gnome3.gvfs; | ||||
|   }; | ||||
| 
 | ||||
|   # 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; | ||||
|     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; | ||||
|   }; | ||||
| 
 | ||||
|   services.openssh.enable = true; | ||||
|   services.gnome.gnome-keyring.enable = true; | ||||
|   services.udev.packages = with pkgs; [ logitech-udev-rules ]; | ||||
|   networking.firewall.enable = false; | ||||
|   services.trezord.enable = true; | ||||
| 
 | ||||
|   virtualisation = { | ||||
|     podman = { | ||||
|       enable = true; | ||||
|       dockerCompat = true; | ||||
|       defaultNetwork.dnsname.enable = true; | ||||
|     }; | ||||
|     libvirtd.enable = true; | ||||
|     spiceUSBRedirection.enable = true; | ||||
|   }; | ||||
| 
 | ||||
|   #fonts.fontDir.enable = true; | ||||
|   #fonts.enableDefaultFonts = true; | ||||
|   fonts.fontconfig.defaultFonts.monospace = [ "Fira Code" ]; | ||||
|   fonts.fonts = with pkgs; [ | ||||
|     fira-code | ||||
|     fira-code-symbols | ||||
|     emacs-all-the-icons-fonts | ||||
|     glasstty-ttf | ||||
|     #symbola | ||||
|     #fantasque-sans-mono | ||||
|     #noto-fonts | ||||
|     #noto-fonts-cjk | ||||
|     #noto-fonts-emoji | ||||
|   ]; | ||||
| 
 | ||||
|   nix.settings.auto-optimise-store = true; | ||||
|   nixpkgs.config.allowUnfree = true; | ||||
|   #programs.steam = { | ||||
|   #  enable = true; | ||||
|   #  remotePlay.openFirewall = | ||||
|   #    true; # Open ports in the firewall for Steam Remote Play | ||||
|   #  dedicatedServer.openFirewall = | ||||
|   #    true; # Open ports in the firewall for Source Dedicated Server | ||||
|   #}; | ||||
|   programs.bash ={ | ||||
|     shellAliases = { | ||||
|       cross="NIX_STORE=/nix/store cross"; | ||||
|     }; | ||||
|   }; | ||||
|   programs.dconf.enable = true; | ||||
|   programs.iftop.enable = true; | ||||
|   programs.iotop.enable = true; | ||||
|   programs.htop.enable = true; | ||||
|   programs.tmux.enable = true; | ||||
|   programs.seahorse.enable = true; | ||||
|   environment.systemPackages = with pkgs; [ | ||||
|     wget | ||||
|     emacs | ||||
|     nano | ||||
|     polkit_gnome | ||||
|     pavucontrol | ||||
|     pasystray | ||||
|     xarchiver | ||||
|     gparted | ||||
|     parted | ||||
|     unrar | ||||
|     unzip | ||||
|     zip | ||||
|     p7zip | ||||
|     graphite-gtk-theme | ||||
|     tela-circle-icon-theme | ||||
|     qemu_full | ||||
|     virt-manager | ||||
|     python3 | ||||
|     gxkb | ||||
|   ]; | ||||
| 
 | ||||
|   security.polkit.enable = true; | ||||
| 
 | ||||
|   # Define a user account. Don't forget to set a password with passwd . | ||||
|   users.users.jt = { | ||||
|     isNormalUser = true; | ||||
|     description = "Jarkko Toivanen"; | ||||
|     extraGroups = [ "networkmanager" "wheel" "dialout" "libvirtd" "docker" ]; | ||||
|     packages = with pkgs; [ | ||||
|       #firefox | ||||
|       brave | ||||
|       wineWowPackages.stable | ||||
|       winetricks | ||||
|       #heroic | ||||
|       libreoffice | ||||
|       nextcloud-client | ||||
|       helvum | ||||
|       solaar | ||||
|       vlc | ||||
|       youtube-music | ||||
|       kate | ||||
|       kdenlive | ||||
|       gimp | ||||
|       #discord | ||||
|       #element-desktop | ||||
|       nheko | ||||
|       mumble | ||||
|       bitwarden | ||||
|       chiaki | ||||
|       prismlauncher | ||||
|       mangohud | ||||
|       #vulkan-tools | ||||
|       git | ||||
|       rustup | ||||
|       rust-analyzer | ||||
|       cargo-cross | ||||
|       gcc | ||||
|       obs-studio | ||||
|       appimage-run | ||||
|       steam-run-native | ||||
|       #thunderbird | ||||
|       #xmrig | ||||
|       exodus | ||||
|       ft2-clone | ||||
|     ]; | ||||
|   }; | ||||
| 
 | ||||
|   programs.gnupg.agent = { | ||||
|     enable = true; | ||||
|     pinentryFlavor = "gtk2"; | ||||
|     enableSSHSupport = true; | ||||
|   }; | ||||
| 
 | ||||
|   # 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 is 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). | ||||
|   system.stateVersion = "22.11"; # Did you read the comment? | ||||
| 
 | ||||
| } | ||||
							
								
								
									
										37
									
								
								nixos/henna/hardware-configuration.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								nixos/henna/hardware-configuration.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,37 @@ | |||
| # 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 = [ "uhci_hcd" "ehci_pci" "ahci" "usb_storage" "sd_mod" "sr_mod" "sdhci_pci" ]; | ||||
|   boot.initrd.kernelModules = [ ]; | ||||
|   boot.kernelModules = [ ]; | ||||
|   boot.extraModulePackages = [ ]; | ||||
| 
 | ||||
|   fileSystems."/" = | ||||
|     { device = "/dev/disk/by-uuid/884ee2db-1e35-4d38-86d7-6d7937129df6"; | ||||
|       fsType = "ext4"; | ||||
|     }; | ||||
| 
 | ||||
|   boot.initrd.luks.devices."luks-2bd7a13f-62b5-4c44-822b-e836ebb84c01".device = "/dev/disk/by-uuid/2bd7a13f-62b5-4c44-822b-e836ebb84c01"; | ||||
| 
 | ||||
|   swapDevices = | ||||
|     [ { device = "/dev/disk/by-uuid/36ae9159-8d42-4cf9-a7a4-37330a96b188"; } | ||||
|     ]; | ||||
| 
 | ||||
|   # 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.enp9s0.useDHCP = lib.mkDefault true; | ||||
|   # networking.interfaces.wlp7s0.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