forked from fabian/nix
		
	add desktop platform
This commit is contained in:
		
							parent
							
								
									a598918c63
								
							
						
					
					
						commit
						106bc1348d
					
				
					 26 changed files with 2602 additions and 13 deletions
				
			
		
							
								
								
									
										1295
									
								
								flake.lock
									
										
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										1295
									
								
								flake.lock
									
										
									
										generated
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
							
								
								
									
										23
									
								
								flake.nix
									
										
									
									
									
								
							
							
						
						
									
										23
									
								
								flake.nix
									
										
									
									
									
								
							|  | @ -57,7 +57,11 @@ | ||||||
|         inherit system; |         inherit system; | ||||||
| 
 | 
 | ||||||
|         config = import ./pkgs/config nixpkgs.lib; |         config = import ./pkgs/config nixpkgs.lib; | ||||||
|         overlays = [nur.overlay self.overlays.default]; |         overlays = [ | ||||||
|  |           self.overlays.default | ||||||
|  |           nur.overlay | ||||||
|  |           nixGL.overlay | ||||||
|  |         ]; | ||||||
|       }; |       }; | ||||||
| 
 | 
 | ||||||
|     pkgs = importPkgs nixpkgs; |     pkgs = importPkgs nixpkgs; | ||||||
|  | @ -101,8 +105,8 @@ | ||||||
| 
 | 
 | ||||||
|       homeConfigurations = let |       homeConfigurations = let | ||||||
|         registry = {...}: { |         registry = {...}: { | ||||||
|           config.nix.registry = mapAttrs (_: |           config.nix.registry = | ||||||
|             value { |             mapAttrs (_: value: { | ||||||
|               flake = value; |               flake = value; | ||||||
|             }) |             }) | ||||||
|             flakes; |             flakes; | ||||||
|  | @ -114,17 +118,18 @@ | ||||||
| 
 | 
 | ||||||
|             modules = [ |             modules = [ | ||||||
|               ./home |               ./home | ||||||
|               platforms |               platform | ||||||
|               registry |               registry | ||||||
|               hm-isolation.homeManagerModule |               hm-isolation.homeManagerModule | ||||||
|             ]; |             ]; | ||||||
|  | 
 | ||||||
|  |             extraSpecialArgs = { | ||||||
|  |               inherit flakes; | ||||||
|  |             }; | ||||||
|           }; |           }; | ||||||
| 
 | 
 | ||||||
|         platformHome = name: platform: let |         platformHome = name: platform: | ||||||
|           value = home platform; |           nameValuePair name (home platform); | ||||||
|         in { |  | ||||||
|           inherit name value; |  | ||||||
|         }; |  | ||||||
|       in |       in | ||||||
|         mapAttrs' platformHome (importAll {root = ./home/platforms;}); |         mapAttrs' platformHome (importAll {root = ./home/platforms;}); | ||||||
|     }; |     }; | ||||||
|  |  | ||||||
							
								
								
									
										57
									
								
								home/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								home/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,57 @@ | ||||||
|  | #TODO: keys will not be shared in all platforms | ||||||
|  | { | ||||||
|  |   flakes, | ||||||
|  |   config, | ||||||
|  |   pkgs, | ||||||
|  |   lib, | ||||||
|  |   ... | ||||||
|  | }: | ||||||
|  | with lib; { | ||||||
|  |   xdg.enable = true; | ||||||
|  | 
 | ||||||
|  |   programs = { | ||||||
|  |     zsh = { | ||||||
|  |       enable = true; | ||||||
|  |       syntaxHighlighting.enable = true; | ||||||
|  |       initExtra = import ./zshrc.nix pkgs; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     git = { | ||||||
|  |       enable = true; | ||||||
|  |       userEmail = "fabian@posixlycorrect.com"; | ||||||
|  |       userName = "Fabian Montero"; | ||||||
|  |       signing = { | ||||||
|  |         key = "7AA277E604A4173916BBB4E91FFAC35E1798174F"; | ||||||
|  |         signByDefault = true; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  |     gpg = { | ||||||
|  |       enable = true; | ||||||
|  |       settings = { | ||||||
|  |         default-key = "7AA277E604A4173916BBB4E91FFAC35E1798174F"; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   services.gpg-agent = { | ||||||
|  |     enable = true; | ||||||
|  |     enableZshIntegration = true; | ||||||
|  |     pinentryPackage = pkgs.pinentry-emacs; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   accounts.email.accounts = { | ||||||
|  |     "fabian@posixlycorrect.com" = { | ||||||
|  |       address = "fabian@posixlycorrect.com"; | ||||||
|  |       userName = "fabianmontero@fastmail.com"; | ||||||
|  |       realName = "fabian"; | ||||||
|  |       primary = true; | ||||||
|  |       flavor = "fastmail.com"; | ||||||
|  | 
 | ||||||
|  |       gpg = { | ||||||
|  |         encryptByDefault = true; | ||||||
|  |         signByDefault = true; | ||||||
|  |         key = "7AA277E604A4173916BBB4E91FFAC35E1798174F"; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | } | ||||||
							
								
								
									
										39
									
								
								home/platforms/fabian@posixlycorrect/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								home/platforms/fabian@posixlycorrect/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,39 @@ | ||||||
|  | { | ||||||
|  |   flakes, | ||||||
|  |   config, | ||||||
|  |   pkgs, | ||||||
|  |   lib, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   imports = [ | ||||||
|  |     ./lib | ||||||
|  |     ./systemd | ||||||
|  |     ./gui | ||||||
|  |     ./isolation.nix | ||||||
|  |   ]; | ||||||
|  | 
 | ||||||
|  |   nix.registry = { | ||||||
|  |     "system".to = { | ||||||
|  |       type = "path"; | ||||||
|  |       path = "/home/fabian/nix"; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "nixpkgs".flake = flakes.nixpkgs; | ||||||
|  |     "unstable".flake = flakes.unstable; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   home = { | ||||||
|  |     stateVersion = "21.11"; # No tocar esto | ||||||
|  |     username = "fabian"; | ||||||
|  |     homeDirectory = "/home/fabian"; | ||||||
|  |     sessionVariables = { | ||||||
|  |       "EDITOR" = "nvim"; | ||||||
|  |       "TERMINAL" = "kitty"; | ||||||
|  |     }; | ||||||
|  |     keyboard = { | ||||||
|  |       layout = "us"; | ||||||
|  |       variant = "altgr-intl"; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  |   programs.home-manager.enable = true; | ||||||
|  | } | ||||||
							
								
								
									
										35
									
								
								home/platforms/fabian@posixlycorrect/gui/autorandr.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								home/platforms/fabian@posixlycorrect/gui/autorandr.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,35 @@ | ||||||
|  | { | ||||||
|  |   config, | ||||||
|  |   lib, | ||||||
|  |   pkgs, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   programs.autorandr = { | ||||||
|  |     enable = true; | ||||||
|  |     profiles."posixlycorrect" = { | ||||||
|  |       fingerprint = { | ||||||
|  |         DP-1 = "00ffffffffffff003669a03bd4040000231e0104a5341d783bd005ac5048a627125054bfcf00814081809500714f81c0b30001010101023a801871382d40582c450009252100001e0882805070384d400820f80c09252100001a000000fd003090b4b422010a202020202020000000fc004d53492047323443340a20202001a2020320f14d010304131f120211900e0f1d1e230907078301000065030c001000866f80a0703840403020350009252100001a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e9"; | ||||||
|  |         DP-2 = "00ffffffffffff0009d1e77845540000061f0104a5351e783a0565a756529c270f5054a56b80d1c0b300a9c08180810081c001010101023a801871382d40582c45000f282100001e000000ff0039324d30303033323031510a20000000fd00324c1e5311010a202020202020000000fc0042656e51204757323438300a20019b02031cf14f901f041303120211011406071516052309070783010000023a801871382d40582c45000f282100001f011d8018711c1620582c25000f282100009f011d007251d01e206e2855000f282100001e8c0ad08a20e02d10103e96000f28210000180000000000000000000000000000000000000000000000000000008d"; | ||||||
|  |       }; | ||||||
|  |       config = { | ||||||
|  |         DP-1 = { | ||||||
|  |           enable = true; | ||||||
|  |           primary = true; | ||||||
|  |           position = "0x0"; | ||||||
|  |           mode = "1920x1080"; | ||||||
|  |           rate = "143.85"; | ||||||
|  |           rotate = "normal"; | ||||||
|  |         }; | ||||||
|  | 
 | ||||||
|  |         DP-2 = { | ||||||
|  |           enable = true; | ||||||
|  |           primary = false; | ||||||
|  |           position = "1920x0"; | ||||||
|  |           mode = "1920x1080"; | ||||||
|  |           rate = "59.94"; | ||||||
|  |           rotate = "normal"; | ||||||
|  |         }; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | } | ||||||
							
								
								
									
										20
									
								
								home/platforms/fabian@posixlycorrect/gui/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								home/platforms/fabian@posixlycorrect/gui/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,20 @@ | ||||||
|  | { | ||||||
|  |   config, | ||||||
|  |   pkgs, | ||||||
|  |   lib, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   imports = [ | ||||||
|  |     ./autorandr.nix | ||||||
|  |     ./fonts.nix | ||||||
|  |     ./i3.nix | ||||||
|  |     ./polybar.nix | ||||||
|  |     ./startx.nix | ||||||
|  |   ]; | ||||||
|  | 
 | ||||||
|  |   services = { | ||||||
|  |     picom.enable = true; | ||||||
|  |     dunst.enable = true; | ||||||
|  |     betterlockscreen.enable = true; | ||||||
|  |   }; | ||||||
|  | } | ||||||
							
								
								
									
										12
									
								
								home/platforms/fabian@posixlycorrect/gui/fonts.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								home/platforms/fabian@posixlycorrect/gui/fonts.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,12 @@ | ||||||
|  | { | ||||||
|  |   config, | ||||||
|  |   lib, | ||||||
|  |   pkgs, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   fonts.fontconfig.enable = true; | ||||||
|  | 
 | ||||||
|  |   home.packages = with pkgs; [ | ||||||
|  |     jetbrains-mono | ||||||
|  |   ]; | ||||||
|  | } | ||||||
							
								
								
									
										12
									
								
								home/platforms/fabian@posixlycorrect/gui/gtk.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								home/platforms/fabian@posixlycorrect/gui/gtk.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,12 @@ | ||||||
|  | #TODO: do i really need to take all these args? | ||||||
|  | { | ||||||
|  |   config, | ||||||
|  |   lib, | ||||||
|  |   pkgs, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   home.packages = with pkgs; [ | ||||||
|  |     gruvbox-dark-icons-gtk | ||||||
|  |     libsForQt5.breeze-gtk | ||||||
|  |   ]; | ||||||
|  | } | ||||||
							
								
								
									
										104
									
								
								home/platforms/fabian@posixlycorrect/gui/i3.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										104
									
								
								home/platforms/fabian@posixlycorrect/gui/i3.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,104 @@ | ||||||
|  | { | ||||||
|  |   config, | ||||||
|  |   lib, | ||||||
|  |   pkgs, | ||||||
|  |   ... | ||||||
|  | }: | ||||||
|  | with lib; { | ||||||
|  |   xsession.windowManager.i3 = { | ||||||
|  |     enable = true; | ||||||
|  |     package = pkgs.i3-gaps; | ||||||
|  | 
 | ||||||
|  |     config = let | ||||||
|  |       mod = "Mod4"; | ||||||
|  |     in { | ||||||
|  |       modifier = mod; | ||||||
|  | 
 | ||||||
|  |       fonts = { | ||||||
|  |         names = ["JetBrains Mono"]; | ||||||
|  |         style = "Regular"; | ||||||
|  |         size = 8.0; | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       gaps = { | ||||||
|  |         inner = 10; | ||||||
|  |         outer = -10; | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       window = { | ||||||
|  |         hideEdgeBorders = "both"; | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       colors = { | ||||||
|  |         focused = { | ||||||
|  |           background = "#222222"; | ||||||
|  |           border = "#4c7899"; | ||||||
|  |           childBorder = "#222222"; | ||||||
|  |           indicator = "#292d2e"; | ||||||
|  |           text = "#888888"; | ||||||
|  |         }; | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       # mkOptionDefault hace que se ponga la config por default | ||||||
|  |       # y se sobreescriba las cosas que pongo acá | ||||||
|  |       # NO QUITARLO. ver man home-configuration.nix | ||||||
|  |       keybindings = mkOptionDefault { | ||||||
|  |         "${mod}+Return" = "exec ${pkgs.kitty}/bin/kitty ${pkgs.tmux}/bin/tmux"; | ||||||
|  |         "${mod}+Tab" = "focus right"; | ||||||
|  |         "${mod}+Shift+Tab" = "focus left"; | ||||||
|  |         "${mod}+Shift+s" = "exec ${pkgs.maim}/bin/maim -s -u | ${pkgs.xclip}/bin/xclip -selection clipboard -t image/png -i"; | ||||||
|  |         "${mod}+Shift+w" = "move workspace to output right"; | ||||||
|  |         "${mod}+l" = "exec ${pkgs.betterlockscreen}/bin/betterlockscreen -l"; | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       startup = [ | ||||||
|  |         { | ||||||
|  |           command = "${pkgs.xss-lock}/bin/xss-lock --transfer-sleep-lock -- ${pkgs.i3lock}/bin/i3lock --nofork"; | ||||||
|  |           notification = false; | ||||||
|  |         } | ||||||
|  |         { | ||||||
|  |           command = "${pkgs.networkmanagerapplet}/bin/nm-applet"; | ||||||
|  |           notification = false; | ||||||
|  |         } | ||||||
|  |         # sería nice hostear esta imagen en el server y fetchearla si no existe | ||||||
|  |         { | ||||||
|  |           command = "${pkgs.feh}/bin/feh --bg-fill ${config.home.homeDirectory}/Pictures/wallpapers/jupiter.png"; | ||||||
|  |           notification = false; | ||||||
|  |           always = true; | ||||||
|  |         } | ||||||
|  |         { | ||||||
|  |           command = "${pkgs.i3-gaps}/bin/i3-msg 'workspace 1; exec ${pkgs.firefox}/bin/firefox'"; | ||||||
|  |         } | ||||||
|  |         { | ||||||
|  |           command = "${pkgs.i3-gaps}/bin/i3-msg 'workspace 2; exec ${pkgs.tdesktop}/bin/telegram-desktop'"; | ||||||
|  |         } | ||||||
|  |         #{ | ||||||
|  |         #  command = "${pkgs.i3-gaps}/bin/i3-msg 'workspace 2; exec ${pkgs.element-desktop}/bin/element-desktop'"; | ||||||
|  |         #} | ||||||
|  |         { | ||||||
|  |           command = "${pkgs.systemd}/bin/systemctl --user restart polybar.service"; | ||||||
|  |           notification = false; | ||||||
|  |           always = true; | ||||||
|  |         } | ||||||
|  |         { | ||||||
|  |           command = "${pkgs.autorandr}/bin/autorandr -c"; | ||||||
|  |           notification = false; | ||||||
|  |           always = true; | ||||||
|  |         } | ||||||
|  |       ]; | ||||||
|  | 
 | ||||||
|  |       workspaceOutputAssign = [ | ||||||
|  |         { | ||||||
|  |           output = "DP-1"; | ||||||
|  |           workspace = "1"; | ||||||
|  |         } | ||||||
|  |         { | ||||||
|  |           output = "DP-2"; | ||||||
|  |           workspace = "10"; | ||||||
|  |         } | ||||||
|  |       ]; | ||||||
|  | 
 | ||||||
|  |       bars = []; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | } | ||||||
							
								
								
									
										459
									
								
								home/platforms/fabian@posixlycorrect/gui/polybar.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										459
									
								
								home/platforms/fabian@posixlycorrect/gui/polybar.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,459 @@ | ||||||
|  | { | ||||||
|  |   config, | ||||||
|  |   lib, | ||||||
|  |   pkgs, | ||||||
|  |   ... | ||||||
|  | }: | ||||||
|  | with lib; { | ||||||
|  |   services.polybar = { | ||||||
|  |     enable = true; | ||||||
|  |     package = pkgs.polybarFull; | ||||||
|  |     script = '' | ||||||
|  |       # Terminate already running bar instances | ||||||
|  |       killall -q polybar | ||||||
|  | 
 | ||||||
|  |       # Wait until the processes have been shut down | ||||||
|  |       while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done | ||||||
|  | 
 | ||||||
|  |       # Launch Polybar, using default config location ~/.config/polybar/config | ||||||
|  |       polybar -r main & polybar -r secondary & | ||||||
|  |     ''; | ||||||
|  | 
 | ||||||
|  |     settings = { | ||||||
|  |       "colors" = { | ||||||
|  |         # background = "\${xrdb:color0:#222}"; | ||||||
|  |         background = "#AA000000"; | ||||||
|  |         background-alt = "#00000000"; | ||||||
|  |         # foreground = "\${xrdb:color7:#222}"; | ||||||
|  |         foreground = "#ffffff"; | ||||||
|  |         foreground-alt = "#ffffff"; | ||||||
|  |         primary = "#ffffff"; | ||||||
|  |         secondary = "#e60053"; | ||||||
|  |         alert = "#bd2c40"; | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       "bar/main" = { | ||||||
|  |         monitor = "DP-1"; | ||||||
|  |         width = "100%"; | ||||||
|  |         height = 30; | ||||||
|  |         offset-x = "0%"; | ||||||
|  |         offset-y = "0%"; | ||||||
|  |         radius = 0.0; | ||||||
|  |         fixed-center = false; | ||||||
|  | 
 | ||||||
|  |         background = "\${colors.background}"; | ||||||
|  |         foreground = "\${colors.foreground}"; | ||||||
|  | 
 | ||||||
|  |         line-size = 1; | ||||||
|  |         line-color = "#f0000000"; | ||||||
|  | 
 | ||||||
|  |         border-size = 0; | ||||||
|  |         border-color = "#00000000"; | ||||||
|  | 
 | ||||||
|  |         padding-left = 0; | ||||||
|  |         padding-right = 0; | ||||||
|  | 
 | ||||||
|  |         module-margin-left = 1; | ||||||
|  |         module-margin-right = 1; | ||||||
|  | 
 | ||||||
|  |         # font-0 = "fixed:pixelsize=10;1"; | ||||||
|  |         font-0 = "JetBrains Mono Light:size=10;0"; | ||||||
|  |         font-1 = "unifont:fontformat=truetype:size=8:antialias=false;0"; | ||||||
|  |         font-2 = "siji:pixelsize=10;1"; | ||||||
|  |         # font-2 = "FontAwesome5Free:style=Regular:size=10;4"; | ||||||
|  | 
 | ||||||
|  |         modules-left = "i3"; | ||||||
|  |         modules-center = "xwindow"; | ||||||
|  |         modules-right = "xkeyboard pulseaudio filesystem memory cpu temperature gputemperature nvmetemperature wlan eth date semanatec"; | ||||||
|  |         separator = "|"; | ||||||
|  | 
 | ||||||
|  |         tray-position = "right"; | ||||||
|  |         tray-padding = 2; | ||||||
|  | 
 | ||||||
|  |         # To allow other windows to be placed above the bar, or to avoid having the bar visible when in fullscreen mode, | ||||||
|  |         # you need to use the following two parameters. Note that it will tell the window manager to back off so no | ||||||
|  |         # area will be reserved, etc. | ||||||
|  |         # | ||||||
|  |         # wm-restack = "i3"; | ||||||
|  |         # override-redirect = true; | ||||||
|  | 
 | ||||||
|  |         cursor-click = "pointer"; | ||||||
|  |         cursor-scroll = "ns-resize"; | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       "bar/secondary" = { | ||||||
|  |         monitor = "DP-2"; | ||||||
|  |         "inherit" = "bar/main"; | ||||||
|  | 
 | ||||||
|  |         modules-left = "i3"; | ||||||
|  |         modules-center = "xwindow"; | ||||||
|  |         modules-right = "xkeyboard pulseaudio date"; | ||||||
|  |         tray-position = "none"; | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       "module/xwindow" = { | ||||||
|  |         type = "internal/xwindow"; | ||||||
|  |         label = "%title:0:30:...%"; | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       "module/xkeyboard" = { | ||||||
|  |         type = "internal/xkeyboard"; | ||||||
|  |         blacklist-0 = "num lock"; | ||||||
|  | 
 | ||||||
|  |         format-prefix = ""; | ||||||
|  |         format-prefix-foreground = "\${colors.foreground-alt}"; | ||||||
|  | 
 | ||||||
|  |         label-layout = "%layout%"; | ||||||
|  | 
 | ||||||
|  |         label-indicator-padding = 2; | ||||||
|  |         label-indicator-margin = 1; | ||||||
|  |         label-indicator-background = "\${colors.secondary}"; | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       "module/filesystem" = { | ||||||
|  |         type = "internal/fs"; | ||||||
|  |         interval = 10; | ||||||
|  | 
 | ||||||
|  |         mount-0 = "/"; | ||||||
|  | 
 | ||||||
|  |         label-mounted = "%{F#0a81f5}%mountpoint%%{F-}: %used%/%total%"; | ||||||
|  |         label-unmounted = ""; | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       "module/i3" = { | ||||||
|  |         type = "internal/i3"; | ||||||
|  |         format = "<label-state> <label-mode>"; | ||||||
|  |         index-sort = true; | ||||||
|  |         wrapping-scroll = false; | ||||||
|  | 
 | ||||||
|  |         # Only show workspaces on the same output as the bar | ||||||
|  |         # pin-workspaces = true | ||||||
|  | 
 | ||||||
|  |         label-mode-padding = 1; | ||||||
|  |         label-mode-foreground = "#000"; | ||||||
|  |         label-mode-background = "\${colors.primary}"; | ||||||
|  | 
 | ||||||
|  |         # focused = Active workspace on focused monitor | ||||||
|  |         label-focused = "%index%"; | ||||||
|  |         label-focused-background = "\${colors.background}"; | ||||||
|  |         label-focused-underline = "\${colors.primary}"; | ||||||
|  |         label-focused-padding = 1; | ||||||
|  | 
 | ||||||
|  |         # unfocused = Inactive workspace on any monitor | ||||||
|  |         label-unfocused = "%index%"; | ||||||
|  |         label-unfocused-padding = 1; | ||||||
|  | 
 | ||||||
|  |         # visible = Active workspace on unfocused monitor | ||||||
|  |         label-visible = "%index%"; | ||||||
|  |         label-visible-background = "\${self.label-focused-background}"; | ||||||
|  |         label-visible-underline = "\${self.label-focused-underline}"; | ||||||
|  |         label-visible-padding = "\${self.label-focused-padding}"; | ||||||
|  | 
 | ||||||
|  |         # urgent = Workspace with urgency hint set | ||||||
|  |         label-urgent = "%index%"; | ||||||
|  |         label-urgent-background = "\${colors.alert}"; | ||||||
|  |         label-urgent-padding = 1; | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       "module/xbacklight" = { | ||||||
|  |         type = "internal/xbacklight"; | ||||||
|  | 
 | ||||||
|  |         format = "<label> <bar>"; | ||||||
|  |         label = "BL"; | ||||||
|  | 
 | ||||||
|  |         bar-width = 10; | ||||||
|  |         bar-indicator = "|"; | ||||||
|  |         bar-indicator-foreground = "#fff"; | ||||||
|  |         bar-indicator-font = 2; | ||||||
|  |         bar-fill = "─"; | ||||||
|  |         bar-fill-font = 2; | ||||||
|  |         bar-fill-foreground = "#9f78e1"; | ||||||
|  |         bar-empty = "─"; | ||||||
|  |         bar-empty-font = 2; | ||||||
|  |         bar-empty-foreground = "\${colors.foreground-alt}"; | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       "module/backlight-acpi" = { | ||||||
|  |         "inherit" = "module/xbacklight"; | ||||||
|  |         type = "internal/backlight"; | ||||||
|  |         card = "intel_backlight"; | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       "module/cpu" = { | ||||||
|  |         type = "internal/cpu"; | ||||||
|  |         interval = 2; | ||||||
|  |         format-prefix = "cpu "; | ||||||
|  |         format-prefix-foreground = "\${colors.foreground-alt}"; | ||||||
|  |         label = "%percentage:2%%"; | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       "module/memory" = { | ||||||
|  |         type = "internal/memory"; | ||||||
|  |         interval = 2; | ||||||
|  |         format-prefix = "mem "; | ||||||
|  |         format-prefix-foreground = "\${colors.foreground-alt}"; | ||||||
|  |         label = "%percentage_used%%"; | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       "module/wlan" = { | ||||||
|  |         type = "internal/network"; | ||||||
|  |         interface = "wlp7s0"; | ||||||
|  |         interval = 3.0; | ||||||
|  | 
 | ||||||
|  |         format-connected = "<ramp-signal> <label-connected>"; | ||||||
|  |         label-connected = "%essid%"; | ||||||
|  | 
 | ||||||
|  |         format-disconnected = ""; | ||||||
|  |         # format-disconnected = "<label-disconnected>"; | ||||||
|  |         # format-disconnected-underline = "\${self.format-connected-underline}"; | ||||||
|  |         # label-disconnected = "%ifname% disconnected"; | ||||||
|  |         # label-disconnected-foreground = "\${colors.foreground-alt}"; | ||||||
|  | 
 | ||||||
|  |         ramp-signal-0 = ""; | ||||||
|  |         ramp-signal-1 = ""; | ||||||
|  |         ramp-signal-2 = ""; | ||||||
|  |         ramp-signal-3 = ""; | ||||||
|  |         ramp-signal-4 = ""; | ||||||
|  |         ramp-signal-foreground = "\${colors.foreground-alt}"; | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       "module/eth" = { | ||||||
|  |         type = "internal/network"; | ||||||
|  |         interface = "enp8s0"; | ||||||
|  |         interval = 3.0; | ||||||
|  | 
 | ||||||
|  |         format-connected-prefix = ""; | ||||||
|  |         format-connected-prefix-foreground = "\${colors.foreground-alt}"; | ||||||
|  |         label-connected = "%local_ip%"; | ||||||
|  | 
 | ||||||
|  |         format-disconnected = ""; | ||||||
|  |         # format-disconnected = "<label-disconnected>"; | ||||||
|  |         # format-disconnected-underline = "\${self.format-connected-underline}"; | ||||||
|  |         # label-disconnected = "%ifname% disconnected"; | ||||||
|  |         # label-disconnected-foreground = "\${colors.foreground-alt}"; | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       "module/date" = { | ||||||
|  |         type = "internal/date"; | ||||||
|  |         interval = 1; | ||||||
|  | 
 | ||||||
|  |         date = " %d/%m/%Y"; | ||||||
|  |         date-alt = " %c"; | ||||||
|  | 
 | ||||||
|  |         time = "%H:%M"; | ||||||
|  |         time-alt = " [%s]"; | ||||||
|  | 
 | ||||||
|  |         format-prefix = ""; | ||||||
|  |         format-prefix-foreground = "\${colors.foreground-alt}"; | ||||||
|  | 
 | ||||||
|  |         label = "%date% %time%"; | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       #      "module/semanatec" = { | ||||||
|  |       #        type = "custom/script" | ||||||
|  |       #        exec = "/home/fabian/bin/semanatec/target/release/semanatec" | ||||||
|  |       #        interval = 3600 | ||||||
|  |       #        format-prefix = "" | ||||||
|  |       #      }; | ||||||
|  | 
 | ||||||
|  |       "module/pulseaudio" = { | ||||||
|  |         type = "internal/pulseaudio"; | ||||||
|  | 
 | ||||||
|  |         format-volume = "<label-volume>"; | ||||||
|  |         label-volume = "vol %percentage%%"; | ||||||
|  |         label-volume-foreground = "\${root.foreground}"; | ||||||
|  | 
 | ||||||
|  |         label-muted = "vol 0%"; | ||||||
|  |         label-muted-foreground = "\${root.foreground}"; | ||||||
|  | 
 | ||||||
|  |         bar-volume-width = 10; | ||||||
|  |         bar-volume-foreground-0 = "#55aa55"; | ||||||
|  |         bar-volume-foreground-1 = "#55aa55"; | ||||||
|  |         bar-volume-foreground-2 = "#55aa55"; | ||||||
|  |         bar-volume-foreground-3 = "#55aa55"; | ||||||
|  |         bar-volume-foreground-4 = "#55aa55"; | ||||||
|  |         bar-volume-foreground-5 = "#f5a70a"; | ||||||
|  |         bar-volume-foreground-6 = "#ff5555"; | ||||||
|  |         bar-volume-gradient = false; | ||||||
|  |         bar-volume-indicator = "|"; | ||||||
|  |         bar-volume-indicator-font = 2; | ||||||
|  |         bar-volume-fill = "─"; | ||||||
|  |         bar-volume-fill-font = 2; | ||||||
|  |         bar-volume-empty = "─"; | ||||||
|  |         bar-volume-empty-font = 2; | ||||||
|  |         bar-volume-empty-foreground = "\${colors.foreground-alt}"; | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       "module/alsa" = { | ||||||
|  |         type = "internal/alsa"; | ||||||
|  | 
 | ||||||
|  |         format-volume = "<label-volume> <bar-volume>"; | ||||||
|  |         label-volume = "VOL"; | ||||||
|  |         label-volume-foreground = "\${root.foreground}"; | ||||||
|  | 
 | ||||||
|  |         format-muted-prefix = "vol "; | ||||||
|  |         format-muted-foreground = "\${colors.foreground-alt}"; | ||||||
|  |         label-muted = "sound muted"; | ||||||
|  | 
 | ||||||
|  |         bar-volume-width = 10; | ||||||
|  |         bar-volume-foreground-0 = "#55aa55"; | ||||||
|  |         bar-volume-foreground-1 = "#55aa55"; | ||||||
|  |         bar-volume-foreground-2 = "#55aa55"; | ||||||
|  |         bar-volume-foreground-3 = "#55aa55"; | ||||||
|  |         bar-volume-foreground-4 = "#55aa55"; | ||||||
|  |         bar-volume-foreground-5 = "#f5a70a"; | ||||||
|  |         bar-volume-foreground-6 = "#ff5555"; | ||||||
|  |         bar-volume-gradient = false; | ||||||
|  |         bar-volume-indicator = "|"; | ||||||
|  |         bar-volume-indicator-font = 2; | ||||||
|  |         bar-volume-fill = "─"; | ||||||
|  |         bar-volume-fill-font = 2; | ||||||
|  |         bar-volume-empty = "─"; | ||||||
|  |         bar-volume-empty-font = 2; | ||||||
|  |         bar-volume-empty-foreground = "\${colors.foreground-alt}"; | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       "module/battery" = { | ||||||
|  |         type = "internal/battery"; | ||||||
|  |         battery = "BAT0"; | ||||||
|  |         adapter = "ADP1"; | ||||||
|  |         full-at = 98; | ||||||
|  | 
 | ||||||
|  |         format-charging = "<animation-charging> <label-charging>"; | ||||||
|  |         format-charging-underline = "#ffb52a"; | ||||||
|  | 
 | ||||||
|  |         format-discharging = "<animation-discharging> <label-discharging>"; | ||||||
|  |         format-discharging-underline = "\${self.format-charging-underline}"; | ||||||
|  | 
 | ||||||
|  |         format-full-prefix = " "; | ||||||
|  |         format-full-prefix-foreground = "\${colors.foreground-alt}"; | ||||||
|  |         format-full-underline = "\${self.format-charging-underline}"; | ||||||
|  | 
 | ||||||
|  |         ramp-capacity-0 = ""; | ||||||
|  |         ramp-capacity-1 = ""; | ||||||
|  |         ramp-capacity-2 = ""; | ||||||
|  |         ramp-capacity-foreground = "\${colors.foreground-alt}"; | ||||||
|  | 
 | ||||||
|  |         animation-charging-0 = ""; | ||||||
|  |         animation-charging-1 = ""; | ||||||
|  |         animation-charging-2 = ""; | ||||||
|  |         animation-charging-foreground = "\${colors.foreground-alt}"; | ||||||
|  |         animation-charging-framerate = 750; | ||||||
|  | 
 | ||||||
|  |         animation-discharging-0 = ""; | ||||||
|  |         animation-discharging-1 = ""; | ||||||
|  |         animation-discharging-2 = ""; | ||||||
|  |         animation-discharging-foreground = "\${colors.foreground-alt}"; | ||||||
|  |         animation-discharging-framerate = 750; | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       "module/temperature" = { | ||||||
|  |         type = "internal/temperature"; | ||||||
|  |         warn-temperature = 60; | ||||||
|  |         hwmon-path = "/sys/devices/pci0000:00/0000:00:18.3/hwmon/hwmon1/temp2_input"; | ||||||
|  | 
 | ||||||
|  |         format = "<ramp> <label>"; | ||||||
|  |         format-warn = "<ramp> <label-warn>"; | ||||||
|  | 
 | ||||||
|  |         label = "cpu %temperature-c%"; | ||||||
|  |         label-warn = "cpu %temperature-c%"; | ||||||
|  |         label-warn-foreground = "\${colors.secondary}"; | ||||||
|  | 
 | ||||||
|  |         ramp-0 = ""; | ||||||
|  |         ramp-1 = ""; | ||||||
|  |         ramp-2 = ""; | ||||||
|  |         ramp-foreground = "\${colors.foreground-alt}"; | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       "module/gputemperature" = { | ||||||
|  |         type = "internal/temperature"; | ||||||
|  |         warn-temperature = 60; | ||||||
|  |         hwmon-path = "/sys/devices/pci0000:00/0000:00:03.1/0000:09:00.0/hwmon/hwmon3/temp1_input"; | ||||||
|  | 
 | ||||||
|  |         format = "<ramp> <label>"; | ||||||
|  |         format-warn = "<ramp> <label-warn>"; | ||||||
|  | 
 | ||||||
|  |         label = "gpu %temperature-c%"; | ||||||
|  |         label-warn = "gpu %temperature-c%"; | ||||||
|  |         label-warn-foreground = "\${colors.secondary}"; | ||||||
|  | 
 | ||||||
|  |         ramp-0 = ""; | ||||||
|  |         ramp-1 = ""; | ||||||
|  |         ramp-2 = ""; | ||||||
|  |         ramp-foreground = "\${colors.foreground-alt}"; | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       "module/nvmetemperature" = { | ||||||
|  |         type = "internal/temperature"; | ||||||
|  |         warn-temperature = 60; | ||||||
|  |         hwmon-path = "/sys/devices/pci0000:00/0000:00:01.1/0000:01:00.0/hwmon/hwmon0/temp1_input"; | ||||||
|  | 
 | ||||||
|  |         format = "<ramp> <label>"; | ||||||
|  |         format-warn = "<ramp> <label-warn>"; | ||||||
|  | 
 | ||||||
|  |         label = "M.2 %temperature-c%"; | ||||||
|  |         label-warn = "M.2 %temperature-c%"; | ||||||
|  |         label-warn-foreground = "\${colors.secondary}"; | ||||||
|  | 
 | ||||||
|  |         ramp-0 = ""; | ||||||
|  |         ramp-1 = ""; | ||||||
|  |         ramp-2 = ""; | ||||||
|  |         ramp-foreground = "\${colors.foreground-alt}"; | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       "module/powermenu" = { | ||||||
|  |         type = "custom/menu"; | ||||||
|  | 
 | ||||||
|  |         expand-right = true; | ||||||
|  | 
 | ||||||
|  |         format-spacing = 1; | ||||||
|  | 
 | ||||||
|  |         label-open = ""; | ||||||
|  |         label-open-foreground = "\${colors.secondary}"; | ||||||
|  |         label-close = " cancel"; | ||||||
|  |         label-close-foreground = "\${colors.secondary}"; | ||||||
|  |         label-separator = "|"; | ||||||
|  |         label-separator-foreground = "\${colors.foreground-alt}"; | ||||||
|  | 
 | ||||||
|  |         menu-0-0 = "reboot"; | ||||||
|  |         menu-0-0-exec = "menu-open-1"; | ||||||
|  |         menu-0-1 = "power off"; | ||||||
|  |         menu-0-1-exec = "menu-open-2"; | ||||||
|  | 
 | ||||||
|  |         menu-1-0 = "cancel"; | ||||||
|  |         menu-1-0-exec = "menu-open-0"; | ||||||
|  |         menu-1-1 = "reboot"; | ||||||
|  |         menu-1-1-exec = "sudo reboot"; | ||||||
|  | 
 | ||||||
|  |         menu-2-0 = "power off"; | ||||||
|  |         menu-2-0-exec = "sudo poweroff"; | ||||||
|  |         menu-2-1 = "cancel"; | ||||||
|  |         menu-2-1-exec = "menu-open-0"; | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       "module/sink_changer" = { | ||||||
|  |         type = "custom/script"; | ||||||
|  |         exec = "/home/fabian/bin/polybar_scripts/info.sh"; | ||||||
|  |         label = "%output%"; | ||||||
|  |         click-left = "/home/fabian/bin/polybar_scripts/sink_changer.sh"; | ||||||
|  |         # format-prefix = " "; | ||||||
|  |         interval = "0"; | ||||||
|  |         # format-prefix-foreground = "${colors.foreground-alt}"; | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       "settings" = { | ||||||
|  |         screenchange-reload = true; | ||||||
|  |         # compositing-background = "xor"; | ||||||
|  |         # compositing-background = "screen"; | ||||||
|  |         # compositing-foreground = "source"; | ||||||
|  |         # compositing-border = "over"; | ||||||
|  |         # pseudo-transparency = false; | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       "global/wm" = { | ||||||
|  |         margin-top = 5; | ||||||
|  |         margin-bottom = 5; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | } | ||||||
							
								
								
									
										16
									
								
								home/platforms/fabian@posixlycorrect/gui/startx.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								home/platforms/fabian@posixlycorrect/gui/startx.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,16 @@ | ||||||
|  | { | ||||||
|  |   config, | ||||||
|  |   lib, | ||||||
|  |   pkgs, | ||||||
|  |   ... | ||||||
|  | }: | ||||||
|  | with lib; { | ||||||
|  |   xsession.enable = true; | ||||||
|  | 
 | ||||||
|  |   home.file.".xinitrc".source = let | ||||||
|  |     content = '' | ||||||
|  |       exec ~/.xsession | ||||||
|  |     ''; | ||||||
|  |   in | ||||||
|  |     pkgs.writeShellScript "xinitrc" content; | ||||||
|  | } | ||||||
							
								
								
									
										22
									
								
								home/platforms/fabian@posixlycorrect/isolation.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								home/platforms/fabian@posixlycorrect/isolation.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,22 @@ | ||||||
|  | { | ||||||
|  |   pkgs, | ||||||
|  |   config, | ||||||
|  |   lib, | ||||||
|  |   ... | ||||||
|  | }: | ||||||
|  | with lib; { | ||||||
|  |   home.isolation = { | ||||||
|  |     enable = true; | ||||||
|  |     btrfsSupport = true; | ||||||
|  |     defaults = { | ||||||
|  |       static = true; | ||||||
|  |       bindHome = "home/"; | ||||||
|  |       persist = { | ||||||
|  |         base = "shenvs"; | ||||||
|  |         btrfs = true; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     modulesUnder = ./shenvs; | ||||||
|  |   }; | ||||||
|  | } | ||||||
							
								
								
									
										52
									
								
								home/platforms/fabian@posixlycorrect/lib/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								home/platforms/fabian@posixlycorrect/lib/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,52 @@ | ||||||
|  | { | ||||||
|  |   config, | ||||||
|  |   lib, | ||||||
|  |   pkgs, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   imports = [ | ||||||
|  |     ./steam | ||||||
|  |     ./terminal | ||||||
|  |   ]; | ||||||
|  | 
 | ||||||
|  |   home.packages = with pkgs; [ | ||||||
|  |     calc | ||||||
|  |     chromium | ||||||
|  |     darktable | ||||||
|  |     deluge | ||||||
|  |     discord | ||||||
|  |     file | ||||||
|  |     firefox | ||||||
|  |     gcc | ||||||
|  |     gperftools | ||||||
|  |     gwenview | ||||||
|  |     htop | ||||||
|  |     killall | ||||||
|  |     libreoffice-fresh | ||||||
|  |     lutris | ||||||
|  |     man-pages | ||||||
|  |     man-pages-posix | ||||||
|  |     mpv | ||||||
|  |     neovim | ||||||
|  |     obs-studio | ||||||
|  |     openrct2 | ||||||
|  |     pavucontrol | ||||||
|  |     pdfarranger | ||||||
|  |     prismlauncher | ||||||
|  |     qpdfview | ||||||
|  |     runelite | ||||||
|  |     spotify | ||||||
|  |     tdesktop | ||||||
|  |     tree | ||||||
|  |     units | ||||||
|  |     unzip | ||||||
|  |     usbutils | ||||||
|  |     virt-manager | ||||||
|  |     vlc | ||||||
|  |     vpsfree-client | ||||||
|  |     vscodium-fhs | ||||||
|  |     zip | ||||||
|  |     zola | ||||||
|  |     zoom-us | ||||||
|  |   ]; | ||||||
|  | } | ||||||
							
								
								
									
										14
									
								
								home/platforms/fabian@posixlycorrect/lib/steam/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								home/platforms/fabian@posixlycorrect/lib/steam/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,14 @@ | ||||||
|  | { | ||||||
|  |   pkgs, | ||||||
|  |   lib, | ||||||
|  |   config, | ||||||
|  |   ... | ||||||
|  | }: | ||||||
|  | with lib; { | ||||||
|  |   home.packages = [ | ||||||
|  |     (pkgs.callPackage ./package.nix {}) | ||||||
|  |     pkgs.protonup | ||||||
|  |     pkgs.winetricks | ||||||
|  |     pkgs.protontricks | ||||||
|  |   ]; | ||||||
|  | } | ||||||
|  | @ -0,0 +1,9 @@ | ||||||
|  | { | ||||||
|  |   writeShellScriptBin, | ||||||
|  |   steam-run, | ||||||
|  |   steam, | ||||||
|  |   ... | ||||||
|  | }: | ||||||
|  | writeShellScriptBin "steam" '' | ||||||
|  |   exec ${steam-run}/bin/steam-run ${steam}/bin/steam -console | ||||||
|  | '' | ||||||
|  | @ -0,0 +1,35 @@ | ||||||
|  | { | ||||||
|  |   config, | ||||||
|  |   lib, | ||||||
|  |   pkgs, | ||||||
|  |   ... | ||||||
|  | }: | ||||||
|  | with lib; let | ||||||
|  |   cfg = config.local.apps.terminal; | ||||||
|  | in { | ||||||
|  |   options.local.apps.terminal.enable = mkEnableOption "Terminal emulator settings"; | ||||||
|  |   config.programs = mkIf cfg.enable { | ||||||
|  |     kitty = { | ||||||
|  |       enable = true; | ||||||
|  |       extraConfig = import ./kitty.conf.nix; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     tmux = { | ||||||
|  |       enable = true; | ||||||
|  |       aggressiveResize = true; | ||||||
|  |       clock24 = true; | ||||||
|  |       escapeTime = 10; | ||||||
|  |       terminal = "xterm-256color"; | ||||||
|  |       keyMode = "emacs"; | ||||||
|  | 
 | ||||||
|  |       extraConfig = '' | ||||||
|  |         set -g mouse on | ||||||
|  |         set -ga update-environment " LIFT_PID" | ||||||
|  |         set -g set-titles on | ||||||
|  |         set -g renumber-windows on | ||||||
|  |         set -sa terminal-overrides ',xterm-termite:RGB' | ||||||
|  |         set -g status-right "#{?window_bigger,[#{window_offset_x}#,#{window_offset_y}] ,} %H:%M %d-%b-%y" | ||||||
|  |       ''; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | } | ||||||
|  | @ -0,0 +1,87 @@ | ||||||
|  | '' | ||||||
|  |   # Fonts | ||||||
|  |   font_family      JetBrains Mono Medium | ||||||
|  |   bold_font        JetBrains Mono Bold | ||||||
|  |   italic_font      JetBrains Mono Italic | ||||||
|  |   bold_italic_font JetBrains Mono Bold Italic | ||||||
|  | 
 | ||||||
|  |   font_size 15 | ||||||
|  |   disable_ligatures cursor | ||||||
|  | 
 | ||||||
|  |   initial_window_width  1200 | ||||||
|  |   initial_window_height 600 | ||||||
|  | 
 | ||||||
|  |   # Cursor | ||||||
|  |   cursor_shape beam | ||||||
|  |   cursor_beam_thickness 1.9 | ||||||
|  |   cursor_stop_blinking_after 0 | ||||||
|  | 
 | ||||||
|  |   # Audio | ||||||
|  |   enable_audio_bell no | ||||||
|  | 
 | ||||||
|  |   # Tabs | ||||||
|  |   tab_bar_style separator | ||||||
|  |   tab_separator " | " | ||||||
|  |   tab_title_template "{index}: {title}" | ||||||
|  | 
 | ||||||
|  |   # Color | ||||||
|  |   # special | ||||||
|  |   foreground       #ffffff | ||||||
|  |   foreground_bold  #ffffff | ||||||
|  |   cursor           #ffffff | ||||||
|  |   background       #000000 | ||||||
|  |   background_opacity 1 | ||||||
|  | 
 | ||||||
|  |   # Shortcuts | ||||||
|  |   map ctrl+shift+c copy_to_clipboard | ||||||
|  |   map ctrl+shift+v paste_from_clipboard | ||||||
|  |   map ctrl+shift+s paste_from_selection | ||||||
|  |   map shift+insert paste_from_selection | ||||||
|  | 
 | ||||||
|  |   map ctrl+shift+up scroll_line_up | ||||||
|  |   map ctrl+shift+down scroll_line_down | ||||||
|  |   map ctrl+shift+page_up scroll_page_up | ||||||
|  |   map ctrl+shift+page_down scroll_page_down | ||||||
|  |   map ctrl+shift+home scroll_home | ||||||
|  |   map ctrl+shift+end scroll_end | ||||||
|  | 
 | ||||||
|  |   map ctrl+shift+enter new_window | ||||||
|  |   map ctrl+alt+enter    launch --cwd=current | ||||||
|  |   map ctrl+shift+w close_window | ||||||
|  |   map ctrl+shift+] next_window | ||||||
|  |   map ctrl+shift+[ previous_window | ||||||
|  |   map ctrl+shift+1 first_window | ||||||
|  |   map ctrl+shift+2 second_window | ||||||
|  |   map ctrl+shift+3 third_window | ||||||
|  |   map ctrl+shift+4 fourth_window | ||||||
|  |   map ctrl+shift+5 fifth_window | ||||||
|  |   map ctrl+shift+6 sixth_window | ||||||
|  |   map ctrl+shift+7 seventh_window | ||||||
|  |   map ctrl+shift+8 eighth_window | ||||||
|  |   map ctrl+shift+9 ninth_window | ||||||
|  |   map ctrl+shift+0 tenth_window | ||||||
|  | 
 | ||||||
|  |   map ctrl+shift+right next_tab | ||||||
|  |   map ctrl+shift+left previous_tab | ||||||
|  |   map ctrl+shift+t new_tab | ||||||
|  |   map ctrl+shift+q close_tab | ||||||
|  |   map ctrl+shift+. move_tab_forward | ||||||
|  |   map ctrl+shift+, move_tab_backward | ||||||
|  |   map ctrl+shift+alt+t set_tab_title | ||||||
|  |   map ctrl+alt+1 goto_tab 1 | ||||||
|  |   map ctrl+alt+2 goto_tab 2 | ||||||
|  |   map ctrl+alt+3 goto_tab 3 | ||||||
|  |   map ctrl+alt+4 goto_tab 4 | ||||||
|  |   map ctrl+alt+5 goto_tab 5 | ||||||
|  |   map ctrl+alt+6 goto_tab 6 | ||||||
|  |   map ctrl+alt+7 goto_tab 7 | ||||||
|  |   map ctrl+alt+8 goto_tab 8 | ||||||
|  |   map ctrl+alt+9 goto_tab 9 | ||||||
|  |   map ctrl+alt+0 goto_tab 10 | ||||||
|  | 
 | ||||||
|  |   map ctrl+shift+equal change_font_size all +1.0 | ||||||
|  |   map ctrl+shift+minus change_font_size all -1.0 | ||||||
|  |   map ctrl+shift+backspace change_font_size all 0 | ||||||
|  | 
 | ||||||
|  |   map ctrl+shift+delete clear_terminal reset active | ||||||
|  | '' | ||||||
							
								
								
									
										13
									
								
								home/platforms/fabian@posixlycorrect/shenvs/c.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								home/platforms/fabian@posixlycorrect/shenvs/c.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,13 @@ | ||||||
|  | {pkgs, ...}: { | ||||||
|  |   static = true; | ||||||
|  | 
 | ||||||
|  |   packages = with pkgs; [ | ||||||
|  |     binutils | ||||||
|  |     cmake | ||||||
|  |     curl | ||||||
|  |     gdb | ||||||
|  |     gnumake | ||||||
|  |     rustup | ||||||
|  |     valgrind | ||||||
|  |   ]; | ||||||
|  | } | ||||||
							
								
								
									
										11
									
								
								home/platforms/fabian@posixlycorrect/shenvs/python.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								home/platforms/fabian@posixlycorrect/shenvs/python.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,11 @@ | ||||||
|  | {pkgs, ...}: { | ||||||
|  |   static = true; | ||||||
|  | 
 | ||||||
|  |   packages = with pkgs; [ | ||||||
|  |     pipenv | ||||||
|  |     (python310.withPackages (packages: | ||||||
|  |       with packages; [ | ||||||
|  |         setuptools | ||||||
|  |       ])) | ||||||
|  |   ]; | ||||||
|  | } | ||||||
							
								
								
									
										10
									
								
								home/platforms/fabian@posixlycorrect/systemd/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								home/platforms/fabian@posixlycorrect/systemd/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,10 @@ | ||||||
|  | { | ||||||
|  |   lib, | ||||||
|  |   pkgs, | ||||||
|  |   ... | ||||||
|  | }: | ||||||
|  | with lib; { | ||||||
|  |   systemd.user.tmpfiles.rules = [ | ||||||
|  |     "d %t/tmp 0700 fabian fabian 24h" | ||||||
|  |   ]; | ||||||
|  | } | ||||||
							
								
								
									
										136
									
								
								home/zshrc.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										136
									
								
								home/zshrc.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,136 @@ | ||||||
|  | { | ||||||
|  |   maim, | ||||||
|  |   redshift, | ||||||
|  |   xclip, | ||||||
|  |   ... | ||||||
|  | }: '' | ||||||
|  |   # The following lines were added by compinstall | ||||||
|  | 
 | ||||||
|  |   zstyle ':completion:*' auto-description 'specify: %d' | ||||||
|  |   zstyle ':completion:*' completer _expand _complete _ignored _correct _approximate | ||||||
|  |   zstyle ':completion:*' expand prefix suffix | ||||||
|  |   zstyle ':completion:*' ignore-parents parent | ||||||
|  |   zstyle ':completion:*' insert-unambiguous true | ||||||
|  |   zstyle ':completion:*' list-colors "" | ||||||
|  |   zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for more, or the character to insert%s | ||||||
|  |   zstyle ':completion:*' list-suffixes true | ||||||
|  |   zstyle ':completion:*' matcher-list "" 'm:{[:lower:]}={[:upper:]} m:{[:lower:][:upper:]}={[:upper:][:lower:]}' 'r:|[._-]=** r:|=** l:|=*' | ||||||
|  |   zstyle ':completion:*' menu select=1 | ||||||
|  |   zstyle ':completion:*' original true | ||||||
|  |   zstyle ':completion:*' preserve-prefix '//[^/]##/' | ||||||
|  |   zstyle ':completion:*' verbose true | ||||||
|  |   zstyle :compinstall filename '/home/fabian/.zshrc' | ||||||
|  | 
 | ||||||
|  |   autoload -Uz compinit | ||||||
|  |   compinit | ||||||
|  |   # End of lines added by compinstall | ||||||
|  |   # Lines configured by zsh-newuser-install | ||||||
|  |   HISTFILE=~/.histfile | ||||||
|  |   HISTSIZE=1000 | ||||||
|  |   SAVEHIST=1000 | ||||||
|  |   setopt autocd extendedglob nomatch | ||||||
|  |   unsetopt beep notify | ||||||
|  |   bindkey -v | ||||||
|  |   # End of lines configured by zsh-newuser-install | ||||||
|  | 
 | ||||||
|  |   # Prompt | ||||||
|  |   setopt prompt_subst | ||||||
|  |   autoload -Uz vcs_info | ||||||
|  |   precmd_vcs_info() { vcs_info } | ||||||
|  |   precmd_functions+=( precmd_vcs_info ) | ||||||
|  | 
 | ||||||
|  |   zstyle ':vcs_info:*' disable bzr cdv darcs mtn svk tla cvs svn | ||||||
|  |   zstyle ':vcs_info:*' enable git | ||||||
|  |   zstyle ':vcs_info:git+set-message:*' hooks format_msg | ||||||
|  | 
 | ||||||
|  |   function +vi-format_msg { | ||||||
|  |   local branch=$(git branch --show-current) | ||||||
|  | 
 | ||||||
|  |   if [[ -z "$branch" ]] ; then | ||||||
|  |   	branch=$(git rev-parse --short HEAD) | ||||||
|  |   fi | ||||||
|  | 
 | ||||||
|  |   local color="" | ||||||
|  | 
 | ||||||
|  |   if [[ -z $(git status --porcelain 2>/dev/null) ]]; | ||||||
|  |   then | ||||||
|  |   	color="%F{blue}" | ||||||
|  |   fi | ||||||
|  | 
 | ||||||
|  |   if [[ $(git status --porcelain 2>/dev/null | grep "^A \|^M " | wc -l) > 0 ]]; | ||||||
|  |   	then | ||||||
|  |   	color="%F{green}" | ||||||
|  |   fi | ||||||
|  | 
 | ||||||
|  |   if [[ $(git status --porcelain 2>/dev/null | grep "^??\|^AM\|^.D" | wc -l) > 0 ]] | ||||||
|  |   then | ||||||
|  |   	color="%F{red}" | ||||||
|  |   fi | ||||||
|  | 
 | ||||||
|  |   ret=1 | ||||||
|  |   hook_com[message]="$color($branch)%f " | ||||||
|  | 
 | ||||||
|  |   return 0 | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   PROMPT='%B[%~] ''${vcs_info_msg_0_}%b' | ||||||
|  | 
 | ||||||
|  |   # Aliases and binds | ||||||
|  |   alias ls='ls --color -F' | ||||||
|  |   alias l='ls --color -FhAltr' | ||||||
|  |   alias x='killall --ignore-case --user=$(whoami) --interactive' | ||||||
|  |   alias sc='${maim}/bin/maim -s -u | ${xclip}/bin/xclip -selection clipboard -t image/png -i' | ||||||
|  |   alias tree='tree -CF' | ||||||
|  |   alias lock="betterlockscreen -l" | ||||||
|  |   alias nightmode="${redshift}/bin/redshift -P -O 1000" | ||||||
|  |   alias lightmode="${redshift}/bin/redshift -P -O 6500" | ||||||
|  |   alias inbox="echo >> $HOME/gtd/inbox" | ||||||
|  |   alias nixoide="nix repl '<nixpkgs>'" | ||||||
|  |   alias vps="ssh -A vps" | ||||||
|  |   bindkey -e | ||||||
|  |   bindkey ";5D" backward-word | ||||||
|  |   bindkey ";5C" forward-word | ||||||
|  |   bindkey "\e[3~" delete-char | ||||||
|  | 
 | ||||||
|  |   function use() { | ||||||
|  |     local pkg | ||||||
|  |     pkg="$1" | ||||||
|  |     shift | ||||||
|  |     echo "nix shell nixpkgs#$pkg" | ||||||
|  |     nix shell "nixpkgs#$pkg" "$@" | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   function unuse() { | ||||||
|  |     local pkg | ||||||
|  |     pkg="$1" | ||||||
|  |     shift | ||||||
|  |     echo "nix shell unstable#$pkg --impure" | ||||||
|  |     nix shell "unstable#$pkg" "$@"  --impure | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   function spawn () { | ||||||
|  |     if [ ! -x "$(command -v $1)" ] | ||||||
|  |       then | ||||||
|  |          echo "spawn: no such program: $1" >&2 | ||||||
|  |          return 1 | ||||||
|  |      fi | ||||||
|  |      $@ > /dev/null 0>&1 2>&1 & | ||||||
|  |      disown | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   autoload -Uz up-line-or-beginning-search | ||||||
|  |   zle -N up-line-or-beginning-search | ||||||
|  |   autoload -Uz down-line-or-beginning-search | ||||||
|  |   zle -N down-line-or-beginning-search | ||||||
|  |   bindkey '\eOA' up-line-or-beginning-search | ||||||
|  |   bindkey '\e[A' up-line-or-beginning-search | ||||||
|  |   bindkey '\eOB' down-line-or-beginning-search | ||||||
|  |   bindkey '\e[B' down-line-or-beginning-search | ||||||
|  | 
 | ||||||
|  |   # Env | ||||||
|  |   export TERM=xterm-256color | ||||||
|  |   export EDITOR=nvim | ||||||
|  |   export VISUAL=nvim | ||||||
|  |   export PATH="$PATH:$HOME/.local/bin:$HOME/.cargo/bin" | ||||||
|  |   export NIXPKGS_ALLOW_UNFREE=1 | ||||||
|  | '' | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| lib: | lib: | ||||||
| with lib; { | with lib; { | ||||||
|   android_sdk.accept_license = true; |   android_sdk.accept_license = true; #TODO: what the fuck is this | ||||||
|   allowUnfreePredicate = pkg: import ./unfree.nix lib (getName pkg); |   allowUnfreePredicate = pkg: import ./unfree.nix lib (getName pkg); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -2,12 +2,10 @@ lib: name: | ||||||
| with lib; | with lib; | ||||||
|   elem name [ |   elem name [ | ||||||
|     "discord" |     "discord" | ||||||
|     "rar" |  | ||||||
|     "spotify" |     "spotify" | ||||||
|     "spotify-unwrapped" |     "spotify-unwrapped" | ||||||
|     "steam" |     "steam" | ||||||
|     "steam-original" |     "steam-original" | ||||||
|     "steam-run" |     "steam-run" | ||||||
|     "teams" |  | ||||||
|     "zoom" |     "zoom" | ||||||
|   ] |   ] | ||||||
|  |  | ||||||
							
								
								
									
										1
									
								
								sys/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								sys/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1 @@ | ||||||
|  | {} | ||||||
							
								
								
									
										104
									
								
								sys/platforms/posixlycorrect/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										104
									
								
								sys/platforms/posixlycorrect/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,104 @@ | ||||||
|  | # Edet this configuration file to define what should be installed on | ||||||
|  | # your system.  Help is available in the configuration.nix(5) man page | ||||||
|  | # and in the NixOS manual (accessible by running ‘nixos-help’). | ||||||
|  | { | ||||||
|  |   config, | ||||||
|  |   pkgs, | ||||||
|  |   lib, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   imports = [ | ||||||
|  |     # Include the results of the hardware scan. | ||||||
|  |     ./hardware-configuration.nix | ||||||
|  |   ]; | ||||||
|  | 
 | ||||||
|  |   # Use the systemd-boot EFI boot loader. | ||||||
|  |   boot.loader.systemd-boot.enable = true; | ||||||
|  |   boot.loader.efi.canTouchEfiVariables = true; | ||||||
|  |   boot.tmp.useTmpfs = true; | ||||||
|  |   boot.kernelPackages = pkgs.linuxPackages_latest; | ||||||
|  | 
 | ||||||
|  |   networking.hostName = "posixlycorrect"; | ||||||
|  |   networking.networkmanager.enable = true; | ||||||
|  | 
 | ||||||
|  |   # Set your time zone. | ||||||
|  |   time.timeZone = "America/Costa_Rica"; | ||||||
|  | 
 | ||||||
|  |   # The global useDHCP flag is deprecated, therefore explicitly set to false here. | ||||||
|  |   # Per-interface useDHCP will be mandatory in the future, so this generated config | ||||||
|  |   # replicates the default behaviour. | ||||||
|  |   networking.useDHCP = false; | ||||||
|  |   networking.interfaces.enp7s0.useDHCP = true; | ||||||
|  |   networking.interfaces.wlp6s0.useDHCP = true; | ||||||
|  | 
 | ||||||
|  |   # Select internationalisation properties. | ||||||
|  |   i18n.defaultLocale = "en_US.UTF-8"; | ||||||
|  |   console = { | ||||||
|  |     font = "Lat2-Terminus16"; | ||||||
|  |     keyMap = "us"; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   # Enable the X11 windowing system. | ||||||
|  |   services.xserver = { | ||||||
|  |     enable = true; | ||||||
|  |     xkb.layout = "us"; | ||||||
|  |     displayManager.startx.enable = true; | ||||||
|  |   }; | ||||||
|  |   services.libinput.enable = true; | ||||||
|  | 
 | ||||||
|  |   hardware.opengl.enable = true; | ||||||
|  | 
 | ||||||
|  |   # Enable sound. | ||||||
|  |   sound.enable = true; | ||||||
|  |   hardware.pulseaudio.enable = true; | ||||||
|  | 
 | ||||||
|  |   programs.zsh.enable = true; | ||||||
|  |   environment.pathsToLink = ["/share/zsh"]; | ||||||
|  | 
 | ||||||
|  |   users = { | ||||||
|  |     users.fabian = { | ||||||
|  |       isNormalUser = true; | ||||||
|  |       uid = 1002; # nunca cambiar mi ID de usuario | ||||||
|  |       group = "fabian"; | ||||||
|  |       shell = pkgs.zsh; | ||||||
|  |       extraGroups = ["users" "wheel" "networkmanager" "dialout" "libvirtd"]; | ||||||
|  |     }; | ||||||
|  |     groups.fabian.gid = 1002; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   services.udev.packages = [ | ||||||
|  |     pkgs.android-udev-rules | ||||||
|  |   ]; | ||||||
|  | 
 | ||||||
|  |   users.users.temp = { | ||||||
|  |     isNormalUser = true; | ||||||
|  |     extraGroups = ["wheel"]; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   virtualisation.libvirtd.qemu.package = pkgs.qemu_kvm; | ||||||
|  |   virtualisation.libvirtd.qemu.ovmf.enable = true; | ||||||
|  |   virtualisation.libvirtd.qemu.ovmf.packages = [pkgs.OVMFFull.fd]; | ||||||
|  |   virtualisation.libvirtd.enable = true; | ||||||
|  |   programs.dconf.enable = true; | ||||||
|  |   # boot.kernelModules = [ "vfio" "vfio_iommu_type1" "vfio_pci" "vfio_virqfd" ]; | ||||||
|  |   # boot.kernelParams = [ "amd_iommu=on" "iommu=pt" "vfio-pci.ids=1002:699f,1002:aae0" "video=efifb:off" ]; | ||||||
|  |   virtualisation.libvirtd.onBoot = "start"; | ||||||
|  | 
 | ||||||
|  |   nix = { | ||||||
|  |     package = pkgs.nixFlakes; | ||||||
|  |     extraOptions = '' | ||||||
|  |       experimental-features = nix-command flakes repl-flake | ||||||
|  |     ''; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   hardware.opengl.driSupport32Bit = true; | ||||||
|  | 
 | ||||||
|  |   services.openssh.enable = true; | ||||||
|  | 
 | ||||||
|  |   services.earlyoom = { | ||||||
|  |     enable = true; | ||||||
|  |     enableNotifications = true; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   system.stateVersion = "21.11"; # No tocar esto | ||||||
|  | } | ||||||
							
								
								
									
										43
									
								
								sys/platforms/posixlycorrect/hardware-configuration.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								sys/platforms/posixlycorrect/hardware-configuration.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,43 @@ | ||||||
|  | { | ||||||
|  |   config, | ||||||
|  |   lib, | ||||||
|  |   pkgs, | ||||||
|  |   modulesPath, | ||||||
|  |   ... | ||||||
|  | }: let | ||||||
|  |   subvol = subvol: { | ||||||
|  |     device = "/dev/disk/by-uuid/645fdba0-5c03-4285-926b-facded1ee259"; | ||||||
|  |     fsType = "btrfs"; | ||||||
|  |     options = ["subvol=${subvol}" "compress=zstd" "noatime" "ssd"]; | ||||||
|  |   }; | ||||||
|  | in { | ||||||
|  |   imports = [ | ||||||
|  |     (modulesPath + "/installer/scan/not-detected.nix") | ||||||
|  |   ]; | ||||||
|  | 
 | ||||||
|  |   boot.initrd = { | ||||||
|  |     availableKernelModules = ["xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod"]; | ||||||
|  |     luks.devices."toplevel" = { | ||||||
|  |       device = "/dev/disk/by-uuid/58277baa-90d4-4a5e-a658-1b918b89130a"; | ||||||
|  |       preLVM = false; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   fileSystems = { | ||||||
|  |     "/" = subvol "root"; | ||||||
|  |     "/toplevel" = subvol "/"; | ||||||
|  |     "/boot" = { | ||||||
|  |       device = "/dev/disk/by-uuid/B007-B007"; | ||||||
|  |       fsType = "vfat"; | ||||||
|  |       options = ["umask=027"]; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "/extern" = { | ||||||
|  |       device = "/dev/disk/by-uuid/7d8d3ec9-b456-4e2a-9396-551dcaf7705b"; | ||||||
|  |       fsType = "btrfs"; | ||||||
|  |       options = ["noatime" "compress=zstd"]; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; | ||||||
|  | } | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue