major refactor (treewide amongst general cleaning based on my modified dots (with help from notashelf) - perks 1: it works
This commit is contained in:
		
					parent
					
						
							
								ea3485f5c5
							
						
					
				
			
			
				commit
				
					
						d666f30475
					
				
			
		
					 31 changed files with 2140 additions and 1145 deletions
				
			
		
							
								
								
									
										23
									
								
								.github/workflows/check.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								.github/workflows/check.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,23 @@ | ||||||
|  | name: Check Flake | ||||||
|  | 
 | ||||||
|  | on: | ||||||
|  |   workflow_dispatch: | ||||||
|  |   pull_request: | ||||||
|  |     paths: | ||||||
|  |       - "**.nix" | ||||||
|  |       - "**.lock" | ||||||
|  |       - ".github/workflows/check.yml" | ||||||
|  |   push: | ||||||
|  |     paths: | ||||||
|  |       - "**.nix" | ||||||
|  |       - "**.lock" | ||||||
|  |       - ".github/workflows/check.yml" | ||||||
|  | 
 | ||||||
|  | jobs: | ||||||
|  |   check: | ||||||
|  |     # uses the local reusable workflow | ||||||
|  |     uses: ./.github/workflows/nix.yml | ||||||
|  |     secrets: | ||||||
|  |       GH_TOKEN: "${{ secrets.GITHUB_TOKEN }}" | ||||||
|  |     with: | ||||||
|  |       command: nix flake check --accept-flake-config | ||||||
							
								
								
									
										33
									
								
								.github/workflows/nix.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								.github/workflows/nix.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,33 @@ | ||||||
|  | name: Nix Setup | ||||||
|  | 
 | ||||||
|  | on: | ||||||
|  |   workflow_call: | ||||||
|  |     inputs: | ||||||
|  |       command: | ||||||
|  |         required: false | ||||||
|  |         type: string | ||||||
|  |       platform: | ||||||
|  |         default: "ubuntu" | ||||||
|  |         required: false | ||||||
|  |         type: string | ||||||
|  |     secrets: | ||||||
|  |       GH_TOKEN: | ||||||
|  |         required: true | ||||||
|  | 
 | ||||||
|  | jobs: | ||||||
|  |   nix: | ||||||
|  |     runs-on: "${{ inputs.platform }}-latest" | ||||||
|  |     steps: | ||||||
|  |       - name: Checkout | ||||||
|  |         uses: actions/checkout@v4 | ||||||
|  |         with: | ||||||
|  |           token: "${{ secrets.GH_TOKEN }}" | ||||||
|  | 
 | ||||||
|  |       - name: Install Nix | ||||||
|  |         uses: DeterminateSystems/nix-installer-action@main | ||||||
|  | 
 | ||||||
|  |       - name: Nix Magic Cache | ||||||
|  |         uses: DeterminateSystems/magic-nix-cache-action@main | ||||||
|  | 
 | ||||||
|  |       - name: "Run Input: ${{ inputs.command }}" | ||||||
|  |         run: "${{ inputs.command }}" | ||||||
							
								
								
									
										1
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							|  | @ -1 +0,0 @@ | ||||||
| .vscode/ |  | ||||||
							
								
								
									
										15
									
								
								common/arrpc.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								common/arrpc.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,15 @@ | ||||||
|  | { | ||||||
|  |   inputs, | ||||||
|  |   pkgs, | ||||||
|  |   home, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   imports = [ | ||||||
|  |     inputs.arrpc.homeManagerModules.default | ||||||
|  |   ]; | ||||||
|  | 
 | ||||||
|  |   home.packages = [pkgs.webcord-vencord]; | ||||||
|  | 
 | ||||||
|  |   # provided by the arrpc-flake home-manager module | ||||||
|  |   services.arrpc.enable = true; | ||||||
|  | } | ||||||
							
								
								
									
										225
									
								
								common/foot.ini
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										225
									
								
								common/foot.ini
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,225 @@ | ||||||
|  | # -*- conf -*- | ||||||
|  | 
 | ||||||
|  | # shell=$SHELL (if set, otherwise user's default shell from /etc/passwd) | ||||||
|  | # term=foot (or xterm-256color if built with -Dterminfo=disabled) | ||||||
|  | # login-shell=no | ||||||
|  | 
 | ||||||
|  | # app-id=foot # globally set wayland app-id. Default values are "foot" and "footclient" for desktop and server mode | ||||||
|  | # title=foot | ||||||
|  | # locked-title=no | ||||||
|  | 
 | ||||||
|  |  font=monospace:size=14 | ||||||
|  | # font-bold=<bold variant of regular font> | ||||||
|  | # font-italic=<italic variant of regular font> | ||||||
|  | # font-bold-italic=<bold+italic variant of regular font> | ||||||
|  | # font-size-adjustment=0.5 | ||||||
|  | # line-height=<font metrics> | ||||||
|  | # letter-spacing=0 | ||||||
|  | # horizontal-letter-offset=0 | ||||||
|  | # vertical-letter-offset=0 | ||||||
|  | # underline-offset=<font metrics> | ||||||
|  | # underline-thickness=<font underline thickness> | ||||||
|  | # box-drawings-uses-font-glyphs=no | ||||||
|  | # dpi-aware=no | ||||||
|  | 
 | ||||||
|  | # initial-window-size-pixels=700x500  # Or, | ||||||
|  | # initial-window-size-chars=<COLSxROWS> | ||||||
|  | # initial-window-mode=windowed | ||||||
|  | # pad=0x0                             # optionally append 'center' | ||||||
|  | # resize-delay-ms=100 | ||||||
|  | 
 | ||||||
|  | # notify=notify-send -a ${app-id} -i ${app-id} ${title} ${body} | ||||||
|  | 
 | ||||||
|  | # bold-text-in-bright=no | ||||||
|  | # word-delimiters=,│`|:"'()[]{}<> | ||||||
|  | # selection-target=primary | ||||||
|  | # workers=<number of logical CPUs> | ||||||
|  | # utmp-helper=/usr/lib/utempter/utempter  # When utmp backend is ‘libutempter’ (Linux) | ||||||
|  | # utmp-helper=/usr/libexec/ulog-helper    # When utmp backend is ‘ulog’ (FreeBSD) | ||||||
|  | 
 | ||||||
|  | [environment] | ||||||
|  | # name=value | ||||||
|  | 
 | ||||||
|  | [bell] | ||||||
|  | # urgent=no | ||||||
|  | # notify=no | ||||||
|  | # visual=no | ||||||
|  | # command= | ||||||
|  | # command-focused=no | ||||||
|  | 
 | ||||||
|  | [scrollback] | ||||||
|  | # lines=1000 | ||||||
|  | # multiplier=3.0 | ||||||
|  | # indicator-position=relative | ||||||
|  | # indicator-format="" | ||||||
|  | 
 | ||||||
|  | [url] | ||||||
|  | # launch=xdg-open ${url} | ||||||
|  | # label-letters=sadfjklewcmpgh | ||||||
|  | # osc8-underline=url-mode | ||||||
|  | # protocols=http, https, ftp, ftps, file, gemini, gopher | ||||||
|  | # uri-characters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="'()[] | ||||||
|  | 
 | ||||||
|  | [cursor] | ||||||
|  | # style=block | ||||||
|  | # color=<inverse foreground/background> | ||||||
|  | # blink=no | ||||||
|  | # beam-thickness=1.5 | ||||||
|  | # underline-thickness=<font underline thickness> | ||||||
|  | 
 | ||||||
|  | [mouse] | ||||||
|  | # hide-when-typing=no | ||||||
|  | # alternate-scroll-mode=yes | ||||||
|  | 
 | ||||||
|  | [touch] | ||||||
|  | # long-press-delay=400 | ||||||
|  | 
 | ||||||
|  | [colors] | ||||||
|  |  alpha=0.8 | ||||||
|  |  background=1E1E2E | ||||||
|  |  foreground=CDD6F4 | ||||||
|  | # flash=7f7f00 | ||||||
|  | # flash-alpha=0.5 | ||||||
|  | 
 | ||||||
|  | ## Normal/regular colors (color palette 0-7) | ||||||
|  | # regular0=242424  # black | ||||||
|  | # regular1=f62b5a  # red | ||||||
|  | # regular2=47b413  # green | ||||||
|  | # regular3=e3c401  # yellow | ||||||
|  | # regular4=24acd4  # blue | ||||||
|  | # regular5=f2affd  # magenta | ||||||
|  | # regular6=13c299  # cyan | ||||||
|  | # regular7=e6e6e6  # white | ||||||
|  | 
 | ||||||
|  | ## Bright colors (color palette 8-15) | ||||||
|  | # bright0=616161   # bright black | ||||||
|  | # bright1=ff4d51   # bright red | ||||||
|  | # bright2=35d450   # bright green | ||||||
|  | # bright3=e9e836   # bright yellow | ||||||
|  | # bright4=5dc5f8   # bright blue | ||||||
|  | # bright5=feabf2   # bright magenta | ||||||
|  | # bright6=24dfc4   # bright cyan | ||||||
|  | # bright7=ffffff   # bright white | ||||||
|  | 
 | ||||||
|  | ## dimmed colors (see foot.ini(5) man page) | ||||||
|  | # dim0=<not set> | ||||||
|  | # ... | ||||||
|  | # dim7=<not-set> | ||||||
|  | 
 | ||||||
|  | ## The remaining 256-color palette | ||||||
|  | # 16 = <256-color palette #16> | ||||||
|  | # ... | ||||||
|  | # 255 = <256-color palette #255> | ||||||
|  | 
 | ||||||
|  | ## Misc colors | ||||||
|  | # selection-foreground=<inverse foreground/background> | ||||||
|  | # selection-background=<inverse foreground/background> | ||||||
|  | # jump-labels=<regular0> <regular3>          # black-on-yellow | ||||||
|  | # scrollback-indicator=<regular0> <bright4>  # black-on-bright-blue | ||||||
|  | # search-box-no-match=<regular0> <regular1>  # black-on-red | ||||||
|  | # search-box-match=<regular0> <regular3>     # black-on-yellow | ||||||
|  | # urls=<regular3> | ||||||
|  | 
 | ||||||
|  | [csd] | ||||||
|  | # preferred=server | ||||||
|  | # size=26 | ||||||
|  | # font=<primary font> | ||||||
|  | # color=<foreground color> | ||||||
|  | # hide-when-maximized=no | ||||||
|  | # double-click-to-maximize=yes | ||||||
|  | # border-width=0 | ||||||
|  | # border-color=<csd.color> | ||||||
|  | # button-width=26 | ||||||
|  | # button-color=<background color> | ||||||
|  | # button-minimize-color=<regular4> | ||||||
|  | # button-maximize-color=<regular2> | ||||||
|  | # button-close-color=<regular1> | ||||||
|  | 
 | ||||||
|  | [key-bindings] | ||||||
|  | # scrollback-up-page=Shift+Page_Up | ||||||
|  | # scrollback-up-half-page=none | ||||||
|  | # scrollback-up-line=none | ||||||
|  | # scrollback-down-page=Shift+Page_Down | ||||||
|  | # scrollback-down-half-page=none | ||||||
|  | # scrollback-down-line=none | ||||||
|  | # scrollback-home=none | ||||||
|  | # scrollback-end=none | ||||||
|  | # clipboard-copy=Control+Shift+c XF86Copy | ||||||
|  | # clipboard-paste=Control+Shift+v XF86Paste | ||||||
|  | # primary-paste=Shift+Insert | ||||||
|  | # search-start=Control+Shift+r | ||||||
|  | # font-increase=Control+plus Control+equal Control+KP_Add | ||||||
|  | # font-decrease=Control+minus Control+KP_Subtract | ||||||
|  | # font-reset=Control+0 Control+KP_0 | ||||||
|  | # spawn-terminal=Control+Shift+n | ||||||
|  | # minimize=none | ||||||
|  | # maximize=none | ||||||
|  | # fullscreen=none | ||||||
|  | # pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none | ||||||
|  | # pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none | ||||||
|  | # pipe-selected=[xargs -r firefox] none | ||||||
|  | # show-urls-launch=Control+Shift+o | ||||||
|  | # show-urls-copy=none | ||||||
|  | # show-urls-persistent=none | ||||||
|  | # prompt-prev=Control+Shift+z | ||||||
|  | # prompt-next=Control+Shift+x | ||||||
|  | # unicode-input=Control+Shift+u | ||||||
|  | # noop=none | ||||||
|  | 
 | ||||||
|  | [search-bindings] | ||||||
|  | # cancel=Control+g Control+c Escape | ||||||
|  | # commit=Return | ||||||
|  | # find-prev=Control+r | ||||||
|  | # find-next=Control+s | ||||||
|  | # cursor-left=Left Control+b | ||||||
|  | # cursor-left-word=Control+Left Mod1+b | ||||||
|  | # cursor-right=Right Control+f | ||||||
|  | # cursor-right-word=Control+Right Mod1+f | ||||||
|  | # cursor-home=Home Control+a | ||||||
|  | # cursor-end=End Control+e | ||||||
|  | # delete-prev=BackSpace | ||||||
|  | # delete-prev-word=Mod1+BackSpace Control+BackSpace | ||||||
|  | # delete-next=Delete | ||||||
|  | # delete-next-word=Mod1+d Control+Delete | ||||||
|  | # extend-char=Shift+Right | ||||||
|  | # extend-to-word-boundary=Control+w Control+Shift+Right | ||||||
|  | # extend-to-next-whitespace=Control+Shift+w | ||||||
|  | # extend-line-down=Shift+Down | ||||||
|  | # extend-backward-char=Shift+Left | ||||||
|  | # extend-backward-to-word-boundary=Control+Shift+Left | ||||||
|  | # extend-backward-to-next-whitespace=none | ||||||
|  | # extend-line-up=Shift+Up | ||||||
|  | # clipboard-paste=Control+v Control+Shift+v Control+y XF86Paste | ||||||
|  | # primary-paste=Shift+Insert | ||||||
|  | # unicode-input=none | ||||||
|  | # scrollback-up-page=Shift+Page_Up | ||||||
|  | # scrollback-up-half-page=none | ||||||
|  | # scrollback-up-line=none | ||||||
|  | # scrollback-down-page=Shift+Page_Down | ||||||
|  | # scrollback-down-half-page=none | ||||||
|  | # scrollback-down-line=none | ||||||
|  | # scrollback-home=none | ||||||
|  | # scrollback-end=none | ||||||
|  | 
 | ||||||
|  | [url-bindings] | ||||||
|  | # cancel=Control+g Control+c Control+d Escape | ||||||
|  | # toggle-url-visible=t | ||||||
|  | 
 | ||||||
|  | [text-bindings] | ||||||
|  | # \x03=Mod4+c  # Map Super+c -> Ctrl+c | ||||||
|  | 
 | ||||||
|  | [mouse-bindings] | ||||||
|  | # scrollback-up-mouse=BTN_BACK | ||||||
|  | # scrollback-down-mouse=BTN_FORWARD | ||||||
|  | # selection-override-modifiers=Shift | ||||||
|  | # primary-paste=BTN_MIDDLE | ||||||
|  | # select-begin=BTN_LEFT | ||||||
|  | # select-begin-block=Control+BTN_LEFT | ||||||
|  | # select-extend=BTN_RIGHT | ||||||
|  | # select-extend-character-wise=Control+BTN_RIGHT | ||||||
|  | # select-word=BTN_LEFT-2 | ||||||
|  | # select-word-whitespace=Control+BTN_LEFT-2 | ||||||
|  | # select-quote = BTN_LEFT-3 | ||||||
|  | # select-row=BTN_LEFT-4 | ||||||
|  | 
 | ||||||
|  | # vim: ft=dosini | ||||||
							
								
								
									
										17
									
								
								common/gita.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								common/gita.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,17 @@ | ||||||
|  | _: { | ||||||
|  |   # enable programs | ||||||
|  |   programs = { | ||||||
|  |     git = { | ||||||
|  |       enable = true; | ||||||
|  |       userName = "rubiigen"; | ||||||
|  |       userEmail = "alyxwren@proton.me"; | ||||||
|  |       extraConfig = { | ||||||
|  |         commit.gpgsign = true; | ||||||
|  |         gpg.format = "ssh"; | ||||||
|  |         user.signingkey = "~/.ssh/id_ed25519.pub"; | ||||||
|  |         init.defaultBranch = "master"; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  |     # ... add more programs as you see fit | ||||||
|  |   }; | ||||||
|  | } | ||||||
							
								
								
									
										17
									
								
								common/gitm.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								common/gitm.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,17 @@ | ||||||
|  | _: { | ||||||
|  |   # enable programs | ||||||
|  |   programs = { | ||||||
|  |     git = { | ||||||
|  |       enable = true; | ||||||
|  |       userName = "beanigen"; | ||||||
|  |       userEmail = "beanigit@protonmail.com"; | ||||||
|  |       extraConfig = { | ||||||
|  |         commit.gpgsign = true; | ||||||
|  |         gpg.format = "ssh"; | ||||||
|  |         user.signingkey = "~/.ssh/id_ed25519.pub"; | ||||||
|  |         init.defaultBranch = "master"; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  |     # ... add more programs as you see fit | ||||||
|  |   }; | ||||||
|  | } | ||||||
							
								
								
									
										23
									
								
								common/nvim-flake.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								common/nvim-flake.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,23 @@ | ||||||
|  | {inputs, ...}: {  | ||||||
|  | 
 | ||||||
|  |   imports = [ inputs.neovim-flake.homeManagerModules.default ]; | ||||||
|  |   # enable programs | ||||||
|  |   programs = { | ||||||
|  |     neovim-flake = { | ||||||
|  |       enable = true; | ||||||
|  |       settings = { | ||||||
|  |         vim.languages = { | ||||||
|  | 	        nix.enable = true; | ||||||
|  |           nix.lsp.enable = true; | ||||||
|  | 	        ts.enable = true; | ||||||
|  | 	        python.enable = true; | ||||||
|  | 	        html.enable = true; | ||||||
|  |         }; | ||||||
|  |         vim.lsp = { | ||||||
|  |           enable = true; | ||||||
|  |         }; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  |     # ... add more programs as you see fit | ||||||
|  |   }; | ||||||
|  | } | ||||||
							
								
								
									
										8
									
								
								common/programs.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								common/programs.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,8 @@ | ||||||
|  | _: { | ||||||
|  |   # enable programs | ||||||
|  |   programs = { | ||||||
|  |     foot.enable = true; | ||||||
|  |     wezterm.enable = true; | ||||||
|  |     # ... add more programs as you see fit | ||||||
|  |   }; | ||||||
|  | } | ||||||
							
								
								
									
										6
									
								
								common/toggle-keyboard.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										6
									
								
								common/toggle-keyboard.sh
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,6 @@ | ||||||
|  | if pgrep -x "wvkbd-mobintl" > /dev/null | ||||||
|  | then | ||||||
|  |     pkill wvkbd | ||||||
|  | else | ||||||
|  |     wvkbd-mobintl -L 325 & | ||||||
|  | fi | ||||||
							
								
								
									
										174
									
								
								common/waybar-style.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										174
									
								
								common/waybar-style.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,174 @@ | ||||||
|  | '' | ||||||
|  |   * { | ||||||
|  |       border: none; | ||||||
|  |       font-family: "JetbrainsMono Nerd Font", "Font Awesome 5" ; | ||||||
|  |       font-size: 14px; | ||||||
|  |       border-radius: 12px; /* Controls Rounding */ | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   #window { | ||||||
|  |       /*font-weight: bold;*/ | ||||||
|  |       margin-top: 2px; | ||||||
|  |       padding-left: 10px; | ||||||
|  |       padding-right: 10px; | ||||||
|  |       padding-bottom: 2px; | ||||||
|  |       border-radius: 8px; | ||||||
|  |       transition: none; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |   window#waybar { | ||||||
|  |       background: #000000; | ||||||
|  |       padding: 2px 2px 2px 0px; | ||||||
|  |       margin: 7; | ||||||
|  |       /* background: transparent; */ | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   window#waybar.empty { | ||||||
|  |       animation: fadeIn 5s; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   # tray { | ||||||
|  |       padding: 0 10px; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   window#waybar.hidden { | ||||||
|  |       opacity: 0.2; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |   /*-----module groups----*/ | ||||||
|  |   .modules-right { | ||||||
|  |       /* margin: 0 -12px 0 0; */ | ||||||
|  |       padding-right:7px; | ||||||
|  |       margin: 4px; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   .mnodules-center { | ||||||
|  |       /* background: transparent; */ | ||||||
|  |       margin: 0 0 0 0; | ||||||
|  | 
 | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   .modules-left { | ||||||
|  |       /* margin: 0 -12px 0 0; */ | ||||||
|  |       padding-left:7px; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   tooltip { | ||||||
|  |     background: #060606; | ||||||
|  |     color: #ffffff; | ||||||
|  |     border-radius: 10; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   #workspaces { | ||||||
|  |       padding: 0 10px; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   /*-----modules indv----*/ | ||||||
|  |   #workspaces button { | ||||||
|  |       font-weight: bold; | ||||||
|  |       padding-right: 0px; | ||||||
|  |       /* padding-right: 7px */ | ||||||
|  |   } | ||||||
|  |   #workspaces button:hover { | ||||||
|  |       font-weight: bold; | ||||||
|  |       padding-right: 0px; | ||||||
|  |       /* padding-right: 7px */ | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   #workspaces button.focused { | ||||||
|  |       font-weight: bold; | ||||||
|  |       padding-right: 0px; | ||||||
|  |       /* padding-right: 7px */ | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   #workspaces button.active { | ||||||
|  |       font-weight: bold; | ||||||
|  |       /* background-color: #ffffff; */ | ||||||
|  |       /* padding-right: 7px */ | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   #custom-sep_l { | ||||||
|  |   	color: #ffffff; | ||||||
|  |           margin: 0px 10px 0px 10px; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   #custom-sep_r { | ||||||
|  |       color: #ffffff; | ||||||
|  |       padding-left: 4px; | ||||||
|  |       padding-right: 4px; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   #custom-sep { | ||||||
|  |       color: #ffffff; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   #custom-empty { | ||||||
|  |       color: #ffffff; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   #clock { | ||||||
|  |   	font-weight: bold; | ||||||
|  |       padding: 0px 4px | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   #battery, #cpu, #memory, #temperature, #network, #pulseaudio, #custom-media, #backlight { | ||||||
|  |       padding: 0 10px; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   #custom-updates { | ||||||
|  |       padding: 0px 0px | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   #keyboard-state { | ||||||
|  |     padding-left: 0px; | ||||||
|  |     padding-right: 0px; | ||||||
|  |    } | ||||||
|  | 
 | ||||||
|  |   #mode, | ||||||
|  |   #custom-power { | ||||||
|  |       padding: 0 10px; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   #custom-launcher { | ||||||
|  |       font-weight: bold; | ||||||
|  |       /* padding-right: 7px */ | ||||||
|  |   } | ||||||
|  |   #custom-menu { | ||||||
|  |       font-weight: bold; | ||||||
|  |       /* padding-right: 7px; */ | ||||||
|  |   } | ||||||
|  |   #idle_inhibitor { | ||||||
|  |       padding: 0 5px; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   #mode { | ||||||
|  |       color: #cc3436; | ||||||
|  |       font-weight: bold; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   /*-----Indicators----*/ | ||||||
|  |   #network.disconnected { | ||||||
|  |   	color: #ff5454; | ||||||
|  |   } | ||||||
|  |   #network.disabled { | ||||||
|  |   	color: #e3c78a; | ||||||
|  |   } | ||||||
|  |   #idle_inhibitor.activated { | ||||||
|  |       color: #2dcc36; | ||||||
|  |   } | ||||||
|  |   #pulseaudio.muted { | ||||||
|  |       color: #aaaaaa; | ||||||
|  |   } | ||||||
|  |   #battery.charging { | ||||||
|  |       color: #8cc85f; | ||||||
|  |   } | ||||||
|  |   #battery.warning:not(.charging) { | ||||||
|  |   	color: #e3c78a; | ||||||
|  |   } | ||||||
|  |   #battery.critical:not(.charging) { | ||||||
|  |       color: #ff5454; | ||||||
|  |   } | ||||||
|  |   #temperature.critical { | ||||||
|  |       color: #ff5454; | ||||||
|  |   } | ||||||
|  | '' | ||||||
							
								
								
									
										213
									
								
								common/waybar.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										213
									
								
								common/waybar.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,213 @@ | ||||||
|  | { | ||||||
|  |   mainBar = { | ||||||
|  |     margin-top = 7; | ||||||
|  |     margin-left = 7; | ||||||
|  |     margin-right = 7; | ||||||
|  |     layer = "top"; | ||||||
|  |     position = "top"; | ||||||
|  |     fixed-center = true; | ||||||
|  | 
 | ||||||
|  |     modules-left = [ | ||||||
|  |       "custom/wvkbd" | ||||||
|  |       "custom/nwggrid" | ||||||
|  |       "hyprland/workspaces" | ||||||
|  |       "tray" | ||||||
|  |       "custom/power" | ||||||
|  |     ]; | ||||||
|  | 
 | ||||||
|  |     modules-center = [ | ||||||
|  |       "clock" | ||||||
|  |       "sep" | ||||||
|  |       "custom/notification" | ||||||
|  |     ]; | ||||||
|  | 
 | ||||||
|  |     modules-right = [ | ||||||
|  |       "battery" | ||||||
|  |       "cpu" | ||||||
|  |       "temperature" | ||||||
|  |       "backlight" | ||||||
|  |       "disk" | ||||||
|  |       "memory" | ||||||
|  |       "pulseaudio" | ||||||
|  |       "network" | ||||||
|  |     ]; | ||||||
|  | 
 | ||||||
|  |     "custom/sep_r" = { | ||||||
|  |       format = " "; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "custom/sep" = { | ||||||
|  |       format = " "; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "custom/sep_l" = { | ||||||
|  |       format = " "; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "custom/wvkbd" = { | ||||||
|  |       format = "    "; | ||||||
|  |       on-click = "~/.config/nixos/homes/common/toggle-keyboard.sh"; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "custom/nwggrid" = { | ||||||
|  |       format = "    "; | ||||||
|  |       on-click = "nwggrid"; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "backlight" = { | ||||||
|  |       device = "acpi_video1"; | ||||||
|  |       format = "{icon}{percent}%"; | ||||||
|  |       format-icons = [" " " " " " " " " " " " " " " " " "]; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "custom/notification" = { | ||||||
|  |       tooltip = true; | ||||||
|  |       format = "{icon}"; | ||||||
|  |       format-icons = { | ||||||
|  |         "notification" = "  <span foreground='white'><sup> </sup></span>"; | ||||||
|  |         "none" = "  "; | ||||||
|  |         "dnd-notification" = "  <span foreground='white'><sup> </sup></span>"; | ||||||
|  |         "dnd-none" = "  "; | ||||||
|  |       }; | ||||||
|  |       return-type = "json"; | ||||||
|  |       exec-if = "which swaync-client"; | ||||||
|  |       exec = "swaync-client -swb"; | ||||||
|  |       on-click = "swaync-client -t -sw"; | ||||||
|  |       on-click-middle = "swaync-client -d -sw"; | ||||||
|  |       on-click-right = "swaync-client -C"; | ||||||
|  |       escape = true; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "hyprland/workspaces" = { | ||||||
|  |       disable-scroll = false; | ||||||
|  |       all-outputs = true; | ||||||
|  |       format = "{icon}"; | ||||||
|  |       "on-scroll-up" = "hyprctl dispatch workspace e+1"; | ||||||
|  |       "on-scroll-down" = "hyprctl dispatch workspace e-1"; | ||||||
|  |       "on-click" = "activate"; | ||||||
|  |       active-only = true; | ||||||
|  |       format-icons = { | ||||||
|  |         "1" = "I"; | ||||||
|  |         "2" = "II"; | ||||||
|  |         "3" = "III"; | ||||||
|  |         "4" = "IV"; | ||||||
|  |         "5" = "V"; | ||||||
|  |         "6" = "VI"; | ||||||
|  |         "7" = "VII"; | ||||||
|  |         "8" = "VIII"; | ||||||
|  |         "9" = "IX"; | ||||||
|  |         "10" = "X"; | ||||||
|  |         "11" = "XI"; | ||||||
|  |         "12" = "XII"; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "hyprland/language" = { | ||||||
|  |       format = "{}"; | ||||||
|  |       format-tr = "TR"; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "temperature" = { | ||||||
|  |       critical-threshold = 85; | ||||||
|  |       format-critical = "{temperatureC}°C {icon}"; | ||||||
|  |       format = "{icon} {temperatureC}°C"; | ||||||
|  |       format-icons = [" " "" " "]; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "hyprland/window" = { | ||||||
|  |       format = "{}"; | ||||||
|  |       seperate-outputs = true; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "keyboard-state" = { | ||||||
|  |       interval = 1; | ||||||
|  |       numlock = false; | ||||||
|  |       capslock = false; | ||||||
|  |       format = "{icon}"; | ||||||
|  |       format-icons = { | ||||||
|  |         "locked" = " "; | ||||||
|  |         "unlocked" = ""; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "idle_inhibitor" = { | ||||||
|  |       format = "{icon}"; | ||||||
|  |       format-icons = { | ||||||
|  |         "activated" = ""; | ||||||
|  |         "deactivated" = ""; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "tray" = { | ||||||
|  |       icon-size = 16; | ||||||
|  |       spacing = 6; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "clock" = { | ||||||
|  |       timezone = "Europe/London"; | ||||||
|  |       format = "{:  %H:%M}"; | ||||||
|  |       format-alt = "{:  %H:%M    %d/%m/%Y}"; | ||||||
|  |       tooltip-format = "{:  %H:%M    %d/%m/%Y}"; | ||||||
|  |       today-format = "<span color='#aaaaaa'><b><u>{}</u></b></span>"; | ||||||
|  |       calendar-weeks-pos = "right"; | ||||||
|  |       format-calendar = "<span color='#aaaaaa'><b><u>{}</u></b></span>"; | ||||||
|  |       format-calendar-weeks = "<span color='#aaaaaa'><b><u>{}</u></b></span>"; | ||||||
|  |       format-calendar-weekdays = "<span color='#ffffff'><b>{}</b></span>"; | ||||||
|  |       interval = 10; | ||||||
|  |       on-click-middle = "kalendar"; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "cpu" = { | ||||||
|  |       format = " {usage}%"; | ||||||
|  |       tooltip = false; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "memory" = { | ||||||
|  |       format = " {}%"; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "battery" = { | ||||||
|  |       states = { | ||||||
|  |         "good" = 80; | ||||||
|  |         "warning" = 30; | ||||||
|  |         "critical" = 5; | ||||||
|  |       }; | ||||||
|  |       format = "{icon}{capacity}%  "; | ||||||
|  |       format-charging = " {capacity}%  "; | ||||||
|  |       format-plugged = " {capacity}%  "; | ||||||
|  |       format-alt = "{icon}{time}"; | ||||||
|  |       format-icons = ["  " "  " "  " "  " "  "]; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "network" = { | ||||||
|  |       format-wifi = "  Connected"; | ||||||
|  |       format-ethernet = "  Connected"; | ||||||
|  |       format-disconnected = "  Disconnected"; | ||||||
|  |       tooltip-format-wifi = "{essid} | Signal Strenght: {signalStrength}% | Down Speed: {bandwidthDownBits}, Up Speed: {bandwidthUpBits}"; | ||||||
|  |       tooltip-format = "{ifname} via {gwaddr} "; | ||||||
|  |       tooltip-format-ethernet = "{ipaddr}  "; | ||||||
|  |       format-linked = "{ifname} (No IP) "; | ||||||
|  |       format-alt = "{ifname}: {ipaddr}/{cidr}"; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "pulseaudio" = { | ||||||
|  |       on-click = "pavucontrol"; | ||||||
|  |       format = "{icon}{volume}%"; | ||||||
|  |       format-icons = { | ||||||
|  |         "default" = [" " " " " "]; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "disk" = { | ||||||
|  |       interval = 90; | ||||||
|  |       format = " {free} (/)"; | ||||||
|  |       tooltip-format = "{used} / {total} ({percentage_used}%)"; | ||||||
|  |       path = "/"; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "custom/power" = { | ||||||
|  |       format = " "; | ||||||
|  |       on-click = "hyprctl dispatch exit"; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | } | ||||||
							
								
								
									
										230
									
								
								common/waybarAU.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										230
									
								
								common/waybarAU.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,230 @@ | ||||||
|  | { | ||||||
|  |   mainBar = { | ||||||
|  |     margin-top = 7; | ||||||
|  |     margin-left = 7; | ||||||
|  |     margin-right = 7; | ||||||
|  |     layer = "top"; | ||||||
|  |     position = "top"; | ||||||
|  |     fixed-center = true; | ||||||
|  | 
 | ||||||
|  |     modules-left = [ | ||||||
|  |       "custom/wvkbd" | ||||||
|  |       "custom/nwggrid" | ||||||
|  |       "hyprland/workspaces" | ||||||
|  |       "tray" | ||||||
|  |       "custom/power" | ||||||
|  |     ]; | ||||||
|  | 
 | ||||||
|  |     modules-center = [ | ||||||
|  |       "clock" | ||||||
|  |       "sep" | ||||||
|  |       "custom/notification" | ||||||
|  |     ]; | ||||||
|  | 
 | ||||||
|  |     modules-right = [ | ||||||
|  |       "battery" | ||||||
|  |       "battery#bat2" | ||||||
|  |       "cpu" | ||||||
|  |       "temperature" | ||||||
|  |       "backlight" | ||||||
|  |       "disk" | ||||||
|  |       "memory" | ||||||
|  |       "pulseaudio" | ||||||
|  |       "network" | ||||||
|  |     ]; | ||||||
|  | 
 | ||||||
|  |     "custom/sep_r" = { | ||||||
|  |       format = " "; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "custom/sep" = { | ||||||
|  |       format = " "; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "custom/sep_l" = { | ||||||
|  |       format = " "; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "custom/wvkbd" = { | ||||||
|  |       format = "  "; | ||||||
|  |       on-click = "~/.config/nixos/homes/common/toggle-keyboard.sh"; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "custom/nwggrid" = { | ||||||
|  |       format = "   "; | ||||||
|  |       on-click = "nwggrid"; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "backlight" = { | ||||||
|  |       device = "acpi_video1"; | ||||||
|  |       format = "{icon}{percent}%"; | ||||||
|  |       format-icons = [" " " " " " " " " " " " " " " " " "]; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "custom/notification" = { | ||||||
|  |       tooltip = true; | ||||||
|  |       format = "{icon}"; | ||||||
|  |       format-icons = { | ||||||
|  |         "notification" = "  <span foreground='white'><sup> </sup></span>"; | ||||||
|  |         "none" = "  "; | ||||||
|  |         "dnd-notification" = "  <span foreground='white'><sup> </sup></span>"; | ||||||
|  |         "dnd-none" = "  "; | ||||||
|  |       }; | ||||||
|  |       return-type = "json"; | ||||||
|  |       exec-if = "which swaync-client"; | ||||||
|  |       exec = "swaync-client -swb"; | ||||||
|  |       on-click = "swaync-client -t -sw"; | ||||||
|  |       on-click-middle = "swaync-client -d -sw"; | ||||||
|  |       on-click-right = "swaync-client -C"; | ||||||
|  |       escape = true; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "hyprland/workspaces" = { | ||||||
|  |       disable-scroll = false; | ||||||
|  |       all-outputs = true; | ||||||
|  |       format = "{icon}"; | ||||||
|  |       "on-scroll-up" = "hyprctl dispatch workspace e+1"; | ||||||
|  |       "on-scroll-down" = "hyprctl dispatch workspace e-1"; | ||||||
|  |       "on-click" = "activate"; | ||||||
|  |       active-only = true; | ||||||
|  |       format-icons = { | ||||||
|  |         "1" = "I"; | ||||||
|  |         "2" = "II"; | ||||||
|  |         "3" = "III"; | ||||||
|  |         "4" = "IV"; | ||||||
|  |         "5" = "V"; | ||||||
|  |         "6" = "VI"; | ||||||
|  |         "7" = "VII"; | ||||||
|  |         "8" = "VIII"; | ||||||
|  |         "9" = "IX"; | ||||||
|  |         "10" = "X"; | ||||||
|  |         "11" = "XI"; | ||||||
|  |         "12" = "XII"; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "hyprland/language" = { | ||||||
|  |       format = "{}"; | ||||||
|  |       format-tr = "TR"; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "temperature" = { | ||||||
|  |       critical-threshold = 85; | ||||||
|  |       format-critical = "{temperatureC}°C {icon}"; | ||||||
|  |       format = "{icon} {temperatureC}°C"; | ||||||
|  |       format-icons = [" " "" " "]; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "hyprland/window" = { | ||||||
|  |       format = "{}"; | ||||||
|  |       seperate-outputs = true; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "keyboard-state" = { | ||||||
|  |       interval = 1; | ||||||
|  |       numlock = false; | ||||||
|  |       capslock = false; | ||||||
|  |       format = "{icon}"; | ||||||
|  |       format-icons = { | ||||||
|  |         "locked" = " "; | ||||||
|  |         "unlocked" = ""; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "idle_inhibitor" = { | ||||||
|  |       format = "{icon}"; | ||||||
|  |       format-icons = { | ||||||
|  |         "activated" = ""; | ||||||
|  |         "deactivated" = ""; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "tray" = { | ||||||
|  |       icon-size = 16; | ||||||
|  |       spacing = 6; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "clock" = { | ||||||
|  |       timezone = "Australia/Perth"; | ||||||
|  |       format = "{:  %H:%M}"; | ||||||
|  |       format-alt = "{:  %H:%M    %d/%m/%Y}"; | ||||||
|  |       tooltip-format = "{:  %H:%M    %d/%m/%Y}"; | ||||||
|  |       today-format = "<span color='#aaaaaa'><b><u>{}</u></b></span>"; | ||||||
|  |       calendar-weeks-pos = "right"; | ||||||
|  |       format-calendar = "<span color='#aaaaaa'><b><u>{}</u></b></span>"; | ||||||
|  |       format-calendar-weeks = "<span color='#aaaaaa'><b><u>{}</u></b></span>"; | ||||||
|  |       format-calendar-weekdays = "<span color='#ffffff'><b>{}</b></span>"; | ||||||
|  |       interval = 10; | ||||||
|  |       on-click-middle = "kalendar"; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "cpu" = { | ||||||
|  |       format = " {usage}%"; | ||||||
|  |       tooltip = false; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "memory" = { | ||||||
|  |       format = " {}%"; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "battery" = { | ||||||
|  |       states = { | ||||||
|  |         "good" = 80; | ||||||
|  |         "warning" = 30; | ||||||
|  |         "critical" = 5; | ||||||
|  |       }; | ||||||
|  |       format = "{icon}{capacity}% "; | ||||||
|  |       format-charging = " {capacity}% "; | ||||||
|  |       format-plugged = " {capacity}% "; | ||||||
|  |       format-alt = "{icon}{time}"; | ||||||
|  |       format-icons = ["  " "  " "  " "  " "  "]; | ||||||
|  |       interval = 3; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "battery#bat2" = { | ||||||
|  |       states = { | ||||||
|  |         "good" = 80; | ||||||
|  |         "warning" = 30; | ||||||
|  |         "critical" = 5; | ||||||
|  |       }; | ||||||
|  |       format = "{icon}{capacity}% "; | ||||||
|  |       format-charging = " {capacity}% "; | ||||||
|  |       format-plugged = " {capacity}% "; | ||||||
|  |       format-alt = "{icon}{time}"; | ||||||
|  |       format-icons = ["  " "  " "  " "  " "  "]; | ||||||
|  |       interval = 3; | ||||||
|  |       bat = "BAT2"; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "network" = { | ||||||
|  |       format-wifi = "  Connected"; | ||||||
|  |       format-ethernet = "  Connected"; | ||||||
|  |       format-disconnected = "  Disconnected"; | ||||||
|  |       tooltip-format-wifi = "{essid} | Signal Strenght: {signalStrength}% | Down Speed: {bandwidthDownBits}, Up Speed: {bandwidthUpBits}"; | ||||||
|  |       tooltip-format = "{ifname} via {gwaddr} "; | ||||||
|  |       tooltip-format-ethernet = "{ipaddr}  "; | ||||||
|  |       format-linked = "{ifname} (No IP) "; | ||||||
|  |       format-alt = "{ifname}: {ipaddr}/{cidr}"; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "pulseaudio" = { | ||||||
|  |       on-click = "pavucontrol"; | ||||||
|  |       format = "{icon}{volume}%"; | ||||||
|  |       format-icons = { | ||||||
|  |         "default" = [" " " " " "]; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "disk" = { | ||||||
|  |       interval = 90; | ||||||
|  |       format = " {free} (/)"; | ||||||
|  |       tooltip-format = "{used} / {total} ({percentage_used}%)"; | ||||||
|  |       path = "/"; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "custom/power" = { | ||||||
|  |       format = " "; | ||||||
|  |       on-click = "hyprctl dispatch exit"; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | } | ||||||
							
								
								
									
										1035
									
								
								flake.lock
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										1035
									
								
								flake.lock
									
										
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
							
								
								
									
										146
									
								
								flake.nix
									
										
									
									
									
								
							
							
						
						
									
										146
									
								
								flake.nix
									
										
									
									
									
								
							|  | @ -1,22 +1,57 @@ | ||||||
| { | { | ||||||
|   description = "Your new nix config"; |   description = "Your new nix config"; | ||||||
|  |   outputs = { | ||||||
|  |     self, | ||||||
|  |     nixpkgs, | ||||||
|  |     ... | ||||||
|  |   }: let | ||||||
|  |     forAllSystems = nixpkgs.lib.genAttrs [ | ||||||
|  |       "aarch64-linux" | ||||||
|  |       "x86_64-linux" | ||||||
|  |       #"i686-linux" | ||||||
|  |       #"aarch64-darwin" | ||||||
|  |       #"x86_64-darwin" | ||||||
|  |     ]; | ||||||
|  |   in { | ||||||
|  |     # Entrypoint for NixOS configurations | ||||||
|  |     nixosConfigurations = import ./hosts {inherit self;}; | ||||||
|  | 
 | ||||||
|  |     # devshells that are provided by this flake | ||||||
|  |     # adding more packages to buildInputs makes them available | ||||||
|  |     # while inside the devshell - enetered via `nix develop` | ||||||
|  |     devShells = forAllSystems ( | ||||||
|  |       system: let | ||||||
|  |         pkgs = nixpkgs.legacyPackages.${system}; | ||||||
|  |       in { | ||||||
|  |         default = pkgs.mkShell { | ||||||
|  |           buildInputs = with pkgs; [ | ||||||
|  |             alejandra # opionated Nix formatter | ||||||
|  | 
 | ||||||
|  |             # example of bootstrapping self-contained shell | ||||||
|  |             # applications for your flake | ||||||
|  |             # this adds an `update` command to your shell | ||||||
|  |             # which'll update all inputs and commit | ||||||
|  |             (writeShellApplication { | ||||||
|  |               name = "update"; | ||||||
|  |               text = '' | ||||||
|  |                 nix flake update && git commit flake.lock -m "flake: bump inputs" | ||||||
|  |               ''; | ||||||
|  |             }) | ||||||
|  |           ]; | ||||||
|  |         }; | ||||||
|  |       } | ||||||
|  |     ); | ||||||
|  | 
 | ||||||
|  |     formatter = forAllSystems (system: nixpkgs.legacyPackages.${system}.alejandra); | ||||||
|  |   }; | ||||||
| 
 | 
 | ||||||
|   inputs = { |   inputs = { | ||||||
|     # Nixpkgs |     # Nixpkgs (unstable) | ||||||
|     nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; # based unstable packages |     nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; | ||||||
|     nixpkgs-master.url = "github:nixos/nixpkgs/master"; # cringe stable packages |  | ||||||
| 
 | 
 | ||||||
|     # Home manager |     # Home manager | ||||||
|     home-manager = { |     home-manager.url = "github:nix-community/home-manager/"; | ||||||
|       url = "github:nix-community/home-manager"; |     home-manager.inputs.nixpkgs.follows = "nixpkgs"; | ||||||
|       inputs.nixpkgs.follows = "nixpkgs"; |  | ||||||
|     }; |  | ||||||
| 
 |  | ||||||
|     # neovim-flake |  | ||||||
|     neovim-flake = { |  | ||||||
|       url = "github:notashelf/neovim-flake"; |  | ||||||
|       inputs.nixpkgs.follows = "nixpkgs"; |  | ||||||
|     }; |  | ||||||
| 
 | 
 | ||||||
|     # arrpc |     # arrpc | ||||||
|     arrpc = { |     arrpc = { | ||||||
|  | @ -24,80 +59,19 @@ | ||||||
|       inputs.nixpkgs.follows = "nixpkgs"; |       inputs.nixpkgs.follows = "nixpkgs"; | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     # hyprland |     # nixos-hardware | ||||||
|  |     nixos-hardware.url = "github:NixOS/nixos-hardware/master"; | ||||||
|  | 
 | ||||||
|  |     lanzaboote.url = "github:nix-community/lanzaboote"; | ||||||
|  | 
 | ||||||
|     hyprland.url = "github:hyprwm/Hyprland"; |     hyprland.url = "github:hyprwm/Hyprland"; | ||||||
|   }; |     hyprgrass = { | ||||||
| 
 |       url = "github:horriblename/hyprgrass"; | ||||||
|   outputs = { |       inputs.hyprland.follows = "hyprland"; | ||||||
|     self, |     }; | ||||||
|     nixpkgs, |     neovim-flake = { | ||||||
|     home-manager, |       url = "github:notashelf/neovim-flake"; | ||||||
|     hyprland, |       inputs.nixpkgs.follows = "nixpkgs"; | ||||||
|     ... |  | ||||||
|   } @ inputs: let |  | ||||||
|     inherit (self) outputs; |  | ||||||
|     forAllSystems = nixpkgs.lib.genAttrs [ |  | ||||||
|       "aarch64-linux" |  | ||||||
|       "i686-linux" |  | ||||||
|       "x86_64-linux" |  | ||||||
|       "aarch64-darwin" |  | ||||||
|       "x86_64-darwin" |  | ||||||
|     ]; |  | ||||||
|   in rec { |  | ||||||
|     # Your custom packages |  | ||||||
|     # Acessible through 'nix build', 'nix shell', etc |  | ||||||
|     packages = forAllSystems ( |  | ||||||
|       system: let |  | ||||||
|         pkgs = nixpkgs.legacyPackages.${system}; |  | ||||||
|       in |  | ||||||
|         import ./pkgs {inherit pkgs;} |  | ||||||
|     ); |  | ||||||
|     # Devshell for bootstrapping |  | ||||||
|     # Acessible through 'nix develop' or 'nix-shell' (legacy) |  | ||||||
|     devShells = forAllSystems ( |  | ||||||
|       system: let |  | ||||||
|         pkgs = nixpkgs.legacyPackages.${system}; |  | ||||||
|       in |  | ||||||
|         import ./shell.nix {inherit pkgs;} |  | ||||||
|     ); |  | ||||||
| 
 |  | ||||||
|     # Your custom packages and modifications, exported as overlays |  | ||||||
|     # overlays = import ./overlays {inherit inputs;}; # TODO: only use overlays when you understand what tthey do |  | ||||||
| 
 |  | ||||||
|     # Reusable nixos modules you might want to export |  | ||||||
|     # These are usually stuff you would upstream into nixpkgs |  | ||||||
|     # nixosModules = import ./modules/public/nixos; |  | ||||||
|     # Reusable home-manager modules you might want to export |  | ||||||
|     # These are usually stuff you would upstream into home-manager |  | ||||||
|     # homeManagerModules = import ./modules/public/home-manager; |  | ||||||
| 
 |  | ||||||
|     # NixOS configuration entrypoint |  | ||||||
|     # Available through 'nixos-rebuild --flake .#your-hostname' |  | ||||||
|     nixosConfigurations = import ./hosts {inherit nixpkgs self outputs;}; |  | ||||||
| 
 |  | ||||||
|     # Standalone home-manager configuration entrypoint |  | ||||||
|     # Available through 'home-manager --flake .#your-username@your-hostname' |  | ||||||
|     homeConfigurations = { |  | ||||||
|       "floppydisk@nixbox" = home-manager.lib.homeManagerConfiguration { |  | ||||||
|         pkgs = nixpkgs.legacyPackages.x86_64-linux; # Home-manager requires 'pkgs' instance |  | ||||||
|         extraSpecialArgs = {inherit inputs outputs;}; |  | ||||||
|         modules = [ |  | ||||||
|           hyprland.homeManagerModules.default |  | ||||||
|           {wayland.windowManager.hyprland.enable = true;} |  | ||||||
|           # > Our main home-manager configuration file < |  | ||||||
|           ./homes/floppydisk |  | ||||||
|         ]; |  | ||||||
|       }; |  | ||||||
|       "floppydisk@nixpad" = home-manager.lib.homeManagerConfiguration { |  | ||||||
|         pkgs = nixpkgs.legacyPackages.x86_64-linux; # Home-manager requires 'pkgs' instance |  | ||||||
|         extraSpecialArgs = {inherit inputs outputs;}; |  | ||||||
|         modules = [ |  | ||||||
|           hyprland.homeManagerModules.default |  | ||||||
|           {wayland.windowManager.hyprland.enable = true;} |  | ||||||
|           # > Our main home-manager configuration file < |  | ||||||
|           ./homes/floppydisk |  | ||||||
|         ]; |  | ||||||
|       }; |  | ||||||
|     }; |     }; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -1,19 +1,18 @@ | ||||||
| { | { | ||||||
|   inputs, |   inputs, | ||||||
|   self, |   self, | ||||||
|   outputs, |   config, | ||||||
|   ... |   ... | ||||||
| }: { | }: { | ||||||
|   home-manager = { |   home-manager = { | ||||||
|     useUserPackages = true; |     useUserPackages = true; | ||||||
|     useGlobalPkgs = true; |     useGlobalPkgs = true; | ||||||
|     extraSpecialArgs = { |     extraSpecialArgs = { | ||||||
|       inherit inputs self outputs; |       inherit inputs self; | ||||||
|     }; |     }; | ||||||
|     users = { |     users = { | ||||||
|       # TODO: "base" user that will be used by default is there is no defined |  | ||||||
|       # home directory for the user |  | ||||||
|       floppydisk = ./floppydisk; |       floppydisk = ./floppydisk; | ||||||
|  |       # more users can go here, the format is only for convenience | ||||||
|     }; |     }; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -1,6 +1,7 @@ | ||||||
| { | { | ||||||
|   inputs, |   inputs, | ||||||
|   pkgs, |   pkgs, | ||||||
|  |   home, | ||||||
|   ... |   ... | ||||||
| }: { | }: { | ||||||
|   imports = [ |   imports = [ | ||||||
|  |  | ||||||
|  | @ -1,228 +1,24 @@ | ||||||
| # This is your home-manager configuration file |  | ||||||
| # Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix) |  | ||||||
| { | { | ||||||
|   inputs, |  | ||||||
|   pkgs, |   pkgs, | ||||||
|  |   lib, | ||||||
|  |   inputs, | ||||||
|   ... |   ... | ||||||
| }: { | }: { | ||||||
|   # You can import other home-manager modules here |  | ||||||
|   imports = [ |   imports = [ | ||||||
|     # If you want to use modules your own flake exports (from modules/home-manager): |  | ||||||
|     # outputs.homeManagerModules.example |  | ||||||
| 
 |  | ||||||
|     # Or modules exported from other flakes (such as nix-colors): |  | ||||||
|     # inputs.nix-colors.homeManagerModules.default |  | ||||||
| 
 |  | ||||||
|     # You can also split up your configuration and import pieces of it here: |  | ||||||
|     ./neovim-flake.nix |  | ||||||
|     ./arrpc.nix |     ./arrpc.nix | ||||||
|  |     ./packages.nix # home.packages and similar stuff | ||||||
|  |     ./neovim-flake.nix | ||||||
|   ]; |   ]; | ||||||
| 
 | 
 | ||||||
|   home = { |   home = { | ||||||
|     username = "floppydisk"; |     username = "floppydisk"; | ||||||
|     homeDirectory = "/home/floppydisk"; |     homeDirectory = "/home/floppydisk"; | ||||||
|     file.".config/hypr/hyprpaper.conf".text = '' |     file.".config/lockonsleep/config.sh".source = ./lock.sh; | ||||||
|       preload = ${/. + ../../misc/wallpapers/oneshot-1.jpg} |  | ||||||
|       wallpaper = ,${/. + ../../misc/wallpapers/oneshot-1.jpg} |  | ||||||
|     ''; |  | ||||||
|     packages = with pkgs; [ |  | ||||||
|       # Utils |  | ||||||
|       handbrake |  | ||||||
|       thunderbird |  | ||||||
|       picard |  | ||||||
|       realvnc-vnc-viewer |  | ||||||
|       rpi-imager |  | ||||||
|       obs-studio |  | ||||||
|       yt-dlp |  | ||||||
|       _1password-gui |  | ||||||
|       _1password |  | ||||||
|       git-credential-1password |  | ||||||
|       firefox-devedition |  | ||||||
|       inputs.arrpc.packages.${pkgs.system}.arrpc |  | ||||||
|       rdesktop |  | ||||||
|       _3llo |  | ||||||
|       gimp |  | ||||||
|       qemu |  | ||||||
|       virt-manager |  | ||||||
|       exactaudiocopy |  | ||||||
|       fsv |  | ||||||
|       lsd |  | ||||||
|       lsdvd |  | ||||||
|       thefuck |  | ||||||
|       zip |  | ||||||
|       unzip |  | ||||||
|       notion-app-enhanced |  | ||||||
|       libresprite |  | ||||||
|       qbittorrent |  | ||||||
|       wine |  | ||||||
|       vifm |  | ||||||
|       cloudflared |  | ||||||
|       ansible |  | ||||||
|       just |  | ||||||
|       pwgen |  | ||||||
|       grafx2 |  | ||||||
|       libreoffice-fresh |  | ||||||
|       wiki-tui |  | ||||||
|       calcurse |  | ||||||
| 
 |  | ||||||
|       # Fetch |  | ||||||
|       neofetch |  | ||||||
|       yafetch |  | ||||||
|       cpufetch |  | ||||||
|       bunnyfetch |  | ||||||
|       nitch |  | ||||||
|       screenfetch |  | ||||||
|       starfetch |  | ||||||
| 
 |  | ||||||
|       # DevTools |  | ||||||
|       github-desktop |  | ||||||
|       gh |  | ||||||
|       codeql |  | ||||||
|       vscode |  | ||||||
|       jetbrains.ruby-mine |  | ||||||
|       jetbrains.rider |  | ||||||
|       jetbrains.phpstorm |  | ||||||
|       jetbrains.idea-ultimate |  | ||||||
|       jetbrains.webstorm |  | ||||||
|       lazygit |  | ||||||
|       wakatime |  | ||||||
|       mongodb-compass |  | ||||||
|       mongosh |  | ||||||
|       httpie |  | ||||||
|       ngrok |  | ||||||
|       mycli |  | ||||||
|       squirrel-sql |  | ||||||
|       figma-linux |  | ||||||
| 
 |  | ||||||
|       # Langs |  | ||||||
|       openscad |  | ||||||
|       nodejs_18 |  | ||||||
|       nodePackages.yarn |  | ||||||
|       nodePackages.ts-node |  | ||||||
|       nodePackages.pnpm |  | ||||||
|       php82 |  | ||||||
|       php82Packages.composer |  | ||||||
|       deno |  | ||||||
|       python310 |  | ||||||
|       python310Packages.pip |  | ||||||
|       python310Packages.discordpy |  | ||||||
|       dotnet-sdk |  | ||||||
|       jdk17 |  | ||||||
|       maven |  | ||||||
|       purescript |  | ||||||
|       lua |  | ||||||
|       flutter |  | ||||||
| 
 |  | ||||||
|       # Comms |  | ||||||
|       nheko |  | ||||||
|       element-desktop |  | ||||||
|       (discord.override { |  | ||||||
|         withOpenASAR = true; |  | ||||||
|         withVencord = true; |  | ||||||
|       }) |  | ||||||
|       caprine-bin |  | ||||||
|       teamspeak5_client |  | ||||||
| 
 |  | ||||||
|       # Gaming |  | ||||||
|       rpcs3 |  | ||||||
|       pcsxr |  | ||||||
|       pcsx2 |  | ||||||
|       steam |  | ||||||
|       gzdoom |  | ||||||
|       minecraft |  | ||||||
|       dolphin-emu |  | ||||||
|       prismlauncher |  | ||||||
|       fceux |  | ||||||
|       snes9x |  | ||||||
|       heroic |  | ||||||
|       openrct2 |  | ||||||
|       osu-lazer-bin |  | ||||||
| 
 |  | ||||||
|       # Media |  | ||||||
|       vlc |  | ||||||
|       libsForQt5.vvave |  | ||||||
|       tidal-hifi |  | ||||||
|       spotify-tui |  | ||||||
|       youtube-tui |  | ||||||
|       mpv |  | ||||||
| 
 |  | ||||||
|       # zsh Themes |  | ||||||
|       zsh-powerlevel10k |  | ||||||
|     ]; |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
|   # Add stuff for your user as you see fit: |  | ||||||
|   programs = { |  | ||||||
|     # Enable home-manager |  | ||||||
|     home-manager.enable = true; |  | ||||||
| 
 |  | ||||||
|     # Enable z-shell |  | ||||||
|     zsh = { |  | ||||||
|       enable = true; |  | ||||||
|       shellAliases = { |  | ||||||
|         ls = "lsd"; |  | ||||||
|         ll = "ls -l"; |  | ||||||
|         la = "ls -la"; |  | ||||||
|       }; |  | ||||||
|       history = { |  | ||||||
|         size = 10000; |  | ||||||
|         path = "$HOME/.config/zsh/history"; |  | ||||||
|       }; |  | ||||||
|       oh-my-zsh = { |  | ||||||
|         enable = true; |  | ||||||
|         plugins = [ |  | ||||||
|           "git" |  | ||||||
|           "thefuck" |  | ||||||
|         ]; |  | ||||||
|         custom = "$HOME/.oh-my-custom"; |  | ||||||
|         theme = "powerlevel10k/powerlevel10k"; |  | ||||||
|       }; |  | ||||||
|       plugins = [ |  | ||||||
|         { |  | ||||||
|           name = "powerlevel10k"; |  | ||||||
|           src = pkgs.zsh-powerlevel10k; |  | ||||||
|           file = "share/zsh-powerlevel10k/powerlevel10k.zsh-theme"; |  | ||||||
|         } |  | ||||||
|       ]; |  | ||||||
|       initExtra = '' |  | ||||||
|         source ~/.p10k.zsh |  | ||||||
|       ''; |  | ||||||
|     }; |  | ||||||
| 
 |  | ||||||
|     # enable git and configure users |  | ||||||
|     git = { |  | ||||||
|       enable = true; |  | ||||||
|       userName = "Frankie B."; |  | ||||||
|       userEmail = "git@diskfloppy.me"; |  | ||||||
|       extraConfig = { |  | ||||||
|         # Sign all commits using ssh key |  | ||||||
|         commit.gpgsign = true; |  | ||||||
|         gpg.format = "ssh"; |  | ||||||
|         user.signingkey = "~/.ssh/id_ed25519.pub"; |  | ||||||
|         init.defaultBranch = "master"; |  | ||||||
|       }; |  | ||||||
|     }; |  | ||||||
| 
 |  | ||||||
|     irssi = { |  | ||||||
|       enable = true; |  | ||||||
|       networks = { |  | ||||||
|         znc = { |  | ||||||
|           nick = "floppydisk"; |  | ||||||
|           server = { |  | ||||||
|             address = "irc.nick99nack.com"; |  | ||||||
|             port = 8888; |  | ||||||
|             autoConnect = true; |  | ||||||
|             ssl.enable = false; |  | ||||||
|           }; |  | ||||||
|         }; |  | ||||||
|       }; |  | ||||||
|     }; |  | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   wayland.windowManager.hyprland = { |   wayland.windowManager.hyprland = { | ||||||
|     enable = true; |     enable = true; | ||||||
|     systemdIntegration = true; |     systemd.enable = true; | ||||||
|     package = inputs.hyprland.packages.${pkgs.system}.hyprland; |  | ||||||
|     settings = import ./hyprland.nix; |     settings = import ./hyprland.nix; | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|  | @ -232,9 +28,73 @@ | ||||||
|     style = import ./waybar-style.nix; |     style = import ./waybar-style.nix; | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   # Nicely reload system units when changing configs |   services.udiskie.enable = true; | ||||||
|   systemd.user.startServices = "sd-switch"; | 
 | ||||||
|  |   programs.zsh = { | ||||||
|  |     enable = true; | ||||||
|  |     shellAliases = { | ||||||
|  |       ls = "lsd"; | ||||||
|  |       ll = "ls -l"; | ||||||
|  |       la = "ls -la"; | ||||||
|  |     }; | ||||||
|  |     history = { | ||||||
|  |       size = 10000; | ||||||
|  |       path = "$HOME/.config/zsh/history"; | ||||||
|  |     }; | ||||||
|  |     oh-my-zsh = { | ||||||
|  |       enable = true; | ||||||
|  |       plugins = [ | ||||||
|  |         "git" | ||||||
|  |         "thefuck" | ||||||
|  |        ]; | ||||||
|  |        custom = "$HOME/.oh-my-custom"; | ||||||
|  |        theme = "powerlevel10k/powerlevel10k"; | ||||||
|  |     }; | ||||||
|  |     plugins = [ | ||||||
|  |       { | ||||||
|  |          name = "powerlevel10k"; | ||||||
|  |          src = pkgs.zsh-powerlevel10k; | ||||||
|  |          file = "share/zsh-powerlevel10k/powerlevel10k.zsh-theme"; | ||||||
|  |       } | ||||||
|  |     ]; | ||||||
|  |     initExtra = '' | ||||||
|  |       source ~/.p10k.zsh | ||||||
|  |     ''; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   programs.git = { | ||||||
|  |     enable = true; | ||||||
|  |     userName = "Frankie B."; | ||||||
|  |     userEmail = "git@diskfloppy.me"; | ||||||
|  |     extraConfig = { | ||||||
|  |       commit.gpgsign = true; | ||||||
|  |       gpg.format = "ssh"; | ||||||
|  |       user.signingkey = "~/.ssh/id_ed25519.pub"; | ||||||
|  |       init.defaultBranch = "master"; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   programs.irssi = { | ||||||
|  |     enable = true; | ||||||
|  |     networks = { | ||||||
|  |       znc = { | ||||||
|  |         nick = "floppydisk"; | ||||||
|  |         server = { | ||||||
|  |           address = "irc.nick99nack.com"; | ||||||
|  |           port = 8888; | ||||||
|  |           autoConnect = true; | ||||||
|  |           ssl.enable = false; | ||||||
|  |         }; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   # let HM manage itself when in standalone mode | ||||||
|  |   programs.home-manager.enable = true; | ||||||
|  | 
 | ||||||
|  |   # Nicely reload system(d) units when changing configs | ||||||
|  |   systemd.user.startServices = lib.mkDefault "sd-switch"; | ||||||
| 
 | 
 | ||||||
|   # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion |   # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion | ||||||
|   home.stateVersion = "22.11"; |   home.stateVersion = "24.05"; | ||||||
| } | } | ||||||
|  |  | ||||||
							
								
								
									
										2
									
								
								homes/floppydisk/lock.sh
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								homes/floppydisk/lock.sh
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,2 @@ | ||||||
|  | exec swayidle -w \ | ||||||
|  | 	before-sleep 'gtklock -d -i' | ||||||
|  | @ -63,7 +63,7 @@ | ||||||
|           enable = true; |           enable = true; | ||||||
|           fillChar = null; |           fillChar = null; | ||||||
|           eolChar = null; |           eolChar = null; | ||||||
|           showCurrContext = true; |           scope.enabled = true; | ||||||
|         }; |         }; | ||||||
|         cursorline = { |         cursorline = { | ||||||
|           enable = true; |           enable = true; | ||||||
|  | @ -235,18 +235,18 @@ | ||||||
|         comment-nvim.enable = true; |         comment-nvim.enable = true; | ||||||
|       }; |       }; | ||||||
| 
 | 
 | ||||||
|       vim.presence = { |       #vim.presence = { | ||||||
|         presence-nvim = { |       #  presence-nvim = { | ||||||
|           enable = true; |       #    enable = true; | ||||||
|           auto_update = true; |       #    auto_update = true; | ||||||
|           image_text = "The Superior Text Editor"; |       #    image_text = "The Superior Text Editor"; | ||||||
|           client_id = "793271441293967371"; |       #    client_id = "793271441293967371"; | ||||||
|           main_image = "neovim"; |       #    main_image = "neovim"; | ||||||
|           rich_presence = { |       #    rich_presence = { | ||||||
|             editing_text = "Editing %s"; |       #      editing_text = "Editing %s"; | ||||||
|           }; |       #    }; | ||||||
|         }; |       #  }; | ||||||
|       }; |       #}; | ||||||
|     }; |     }; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
							
								
								
									
										124
									
								
								homes/floppydisk/packages.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										124
									
								
								homes/floppydisk/packages.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,124 @@ | ||||||
|  | { | ||||||
|  |  pkgs, ...}: { | ||||||
|  | 
 | ||||||
|  |   home.packages = with pkgs; [ | ||||||
|  |   # utils | ||||||
|  |   handbrake | ||||||
|  |   thunderbird | ||||||
|  |   picard | ||||||
|  |   realvnc-vnc-viewer | ||||||
|  |   rpi-imager | ||||||
|  |   obs-studio | ||||||
|  |   yt-dlp | ||||||
|  |   _1password-gui | ||||||
|  |   _1password | ||||||
|  |   git-credential-1password | ||||||
|  |   firefox-devedition | ||||||
|  |   rdesktop | ||||||
|  |   _3llo | ||||||
|  |   gimp | ||||||
|  |   qemu | ||||||
|  |   virt-manager | ||||||
|  |   exactaudiocopy | ||||||
|  |   fsv | ||||||
|  |   lsd | ||||||
|  |   lsdvd | ||||||
|  |   thefuck | ||||||
|  |   zip | ||||||
|  |   unzip | ||||||
|  |   notion-app-enhanced | ||||||
|  |   libresprite | ||||||
|  |   qbittorrent | ||||||
|  |   wine | ||||||
|  |   vifm | ||||||
|  |   cloudflared | ||||||
|  |   ansible | ||||||
|  |   just | ||||||
|  |   pwgen | ||||||
|  |   grafx2 | ||||||
|  |   libreoffice-fresh | ||||||
|  |   wiki-tui | ||||||
|  |   calcurse  | ||||||
|  | 
 | ||||||
|  |   # fetch | ||||||
|  |   neofetch | ||||||
|  |   yafetch | ||||||
|  |   cpufetch | ||||||
|  |   bunnyfetch | ||||||
|  |   nitch | ||||||
|  |   screenfetch | ||||||
|  |   starfetch | ||||||
|  | 
 | ||||||
|  |   # devtools | ||||||
|  |   github-desktop | ||||||
|  |   gh | ||||||
|  |   codeql | ||||||
|  |   vscode | ||||||
|  |   jetbrains.ruby-mine | ||||||
|  |   jetbrains.rider | ||||||
|  |   jetbrains.phpstorm | ||||||
|  |   jetbrains.idea-ultimate | ||||||
|  |   jetbrains.webstorm | ||||||
|  |   lazygit | ||||||
|  |   wakatime | ||||||
|  |   mongodb-compass | ||||||
|  |   mongosh | ||||||
|  |   httpie | ||||||
|  |   ngrok | ||||||
|  |   mycli | ||||||
|  |   squirrel-sql | ||||||
|  |   figma-linux | ||||||
|  | 
 | ||||||
|  |   # langs | ||||||
|  |   openscad | ||||||
|  |   nodejs_18 | ||||||
|  |   nodePackages.yarn | ||||||
|  |   nodePackages.ts-node | ||||||
|  |   nodePackages.pnpm | ||||||
|  |   php82 | ||||||
|  |   php82Packages.composer | ||||||
|  |   deno | ||||||
|  |   python310 | ||||||
|  |   python310Packages.pip | ||||||
|  |   python310Packages.discordpy | ||||||
|  |   dotnet-sdk | ||||||
|  |   jdk17 | ||||||
|  |   maven | ||||||
|  |   purescript | ||||||
|  |   lua | ||||||
|  |   flutter | ||||||
|  | 
 | ||||||
|  |   # comms | ||||||
|  |   nheko | ||||||
|  |   element-desktop | ||||||
|  |   vesktop | ||||||
|  |   caprine-bin | ||||||
|  |   teamspeak5_client | ||||||
|  | 
 | ||||||
|  |   # gaming | ||||||
|  |   rpcs3 | ||||||
|  |   pcsxr | ||||||
|  |   pcsx2 | ||||||
|  |   steam | ||||||
|  |   gzdoom | ||||||
|  |   minecraft | ||||||
|  |   dolphin-emu | ||||||
|  |   prismlauncher | ||||||
|  |   fceux | ||||||
|  |   snes9x | ||||||
|  |   heroic | ||||||
|  |   openrct2 | ||||||
|  |   osu-lazer-bin | ||||||
|  | 
 | ||||||
|  |   # media | ||||||
|  |   vlc | ||||||
|  |   libsForQt5.vvave | ||||||
|  |   tidal-hifi | ||||||
|  |   spotify-tui | ||||||
|  |   youtube-tui | ||||||
|  |   mpv | ||||||
|  | 
 | ||||||
|  |   # zsh themes | ||||||
|  |   zsh-powerlevel10k | ||||||
|  |   ]; | ||||||
|  | } | ||||||
|  | @ -1,35 +1,33 @@ | ||||||
| { | {self, ...}: let | ||||||
|   nixpkgs, |   # get inputs from self | ||||||
|   self, |   inherit (self) inputs; | ||||||
|   outputs, |   # get necessary inputs from self.inputs | ||||||
|   ... |   inherit (inputs) nixpkgs lanzaboote nixos-hardware; | ||||||
| }: let |   inherit (inputs.home-manager.nixosModules) home-manager;   | ||||||
|   inputs = self.inputs; |   # get lib from nixpkgs and create and alias  for lib.nixosSystem | ||||||
|  |   # for potential future overrides & abstractions | ||||||
|  |   inherit (nixpkgs) lib; | ||||||
|  |   mkSystem = lib.nixosSystem; | ||||||
| 
 | 
 | ||||||
|   home-manager = inputs.home-manager.nixosModules.home-manager; |   home = ../homes; | ||||||
|   homes = ../homes; | 
 | ||||||
|  |   # define a sharedArgs variable that we can simply inherit | ||||||
|  |   # across all hosts to avoid traversing the file whenever | ||||||
|  |   # we need to add a common specialArg | ||||||
|  |   # if a host needs a specific arg that others do not need | ||||||
|  |   # then we can merge into the old attribute set as such: | ||||||
|  |   # specialArgs = commonArgs // { newArg = "value"; }; | ||||||
|  | 
 | ||||||
|  |   commonArgs = {inherit self inputs;}; | ||||||
| in { | in { | ||||||
|   nixbox = nixpkgs.lib.nixosSystem { |   "nixpad" = mkSystem { | ||||||
|     specialArgs = {inherit inputs outputs;}; |     specialArgs = commonArgs; | ||||||
|     modules = [ |  | ||||||
|       # this list defines which files will be imported to be used as "modules" in the system config |  | ||||||
|       ./nixbox/configuration.nix |  | ||||||
| 
 |  | ||||||
|       # use the nixos-module for home-manager |  | ||||||
|       home-manager |  | ||||||
|       homes |  | ||||||
|     ]; |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
|   nixpad = nixpkgs.lib.nixosSystem { |  | ||||||
|     specialArgs = {inherit inputs outputs;}; |  | ||||||
|     modules = [ |     modules = [ | ||||||
|       # this list defines which files will be imported to be used as "modules" in the system config |       # this list defines which files will be imported to be used as "modules" in the system config | ||||||
|       ./nixpad/configuration.nix |       ./nixpad/configuration.nix | ||||||
| 
 |  | ||||||
|       # use the nixos-module for home-manager |       # use the nixos-module for home-manager | ||||||
|       home-manager |       home-manager | ||||||
|       homes |       home | ||||||
|     ]; |     ]; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -1,219 +0,0 @@ | ||||||
| # Edit 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, |  | ||||||
|   ... |  | ||||||
| }: { |  | ||||||
|   imports = [ |  | ||||||
|     # Include the results of the hardware scan. |  | ||||||
|     ./hardware-configuration.nix |  | ||||||
|   ]; |  | ||||||
| 
 |  | ||||||
|   # Bootloader. |  | ||||||
|   boot.loader.systemd-boot.enable = true; |  | ||||||
|   boot.loader.efi.canTouchEfiVariables = true; |  | ||||||
|   boot.loader.efi.efiSysMountPoint = "/boot/efi"; |  | ||||||
| 
 |  | ||||||
|   networking.hostName = "nixbox"; # Define your hostname. |  | ||||||
|   # networking.wireless.enable = true;  # Enables wireless support via wpa_supplicant. |  | ||||||
| 
 |  | ||||||
|   # Configure network proxy if necessary |  | ||||||
|   # networking.proxy.default = "http://user:password@proxy:port/"; |  | ||||||
|   # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; |  | ||||||
| 
 |  | ||||||
|   # Enable networking |  | ||||||
|   networking.networkmanager.enable = true; |  | ||||||
| 
 |  | ||||||
|   # Set your time zone. |  | ||||||
|   time.timeZone = "Europe/London"; |  | ||||||
| 
 |  | ||||||
|   # Select internationalisation properties. |  | ||||||
|   i18n.defaultLocale = "en_GB.UTF-8"; |  | ||||||
| 
 |  | ||||||
|   i18n.extraLocaleSettings = { |  | ||||||
|     LC_ADDRESS = "en_GB.UTF-8"; |  | ||||||
|     LC_IDENTIFICATION = "en_GB.UTF-8"; |  | ||||||
|     LC_MEASUREMENT = "en_GB.UTF-8"; |  | ||||||
|     LC_MONETARY = "en_GB.UTF-8"; |  | ||||||
|     LC_NAME = "en_GB.UTF-8"; |  | ||||||
|     LC_NUMERIC = "en_GB.UTF-8"; |  | ||||||
|     LC_PAPER = "en_GB.UTF-8"; |  | ||||||
|     LC_TELEPHONE = "en_GB.UTF-8"; |  | ||||||
|     LC_TIME = "en_GB.UTF-8"; |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
|   # Enable the X11 windowing system. |  | ||||||
|   services.xserver.enable = true; |  | ||||||
| 
 |  | ||||||
|   # Enable the flatpak service |  | ||||||
|   services.flatpak.enable = true; |  | ||||||
| 
 |  | ||||||
|   # Enable SDDM and set second display resolution/position |  | ||||||
|   services.xserver.displayManager = { |  | ||||||
|     sddm.enable = true; |  | ||||||
|     setupCommands = "xrandr --output HDMI-0 --mode 1280x1024 --output HDMI-0 --right-of DP-0"; |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
|   # Enable the KDE Plasma Desktop Environment. |  | ||||||
|   services.xserver.desktopManager.plasma5.enable = true; |  | ||||||
| 
 |  | ||||||
|   # Enable hyprland |  | ||||||
|   programs.hyprland = { |  | ||||||
|     enable = true; |  | ||||||
|     enableNvidiaPatches = true; |  | ||||||
|     xwayland.enable = true; |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
|   # Configure keymap in X11 |  | ||||||
|   services.xserver = { |  | ||||||
|     layout = "us"; |  | ||||||
|     xkbVariant = ""; |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
|   # Enable experimental features |  | ||||||
|   nix.settings.extra-experimental-features = ["flakes" "nix-command"]; |  | ||||||
| 
 |  | ||||||
|   # Enable automatic gc |  | ||||||
|   nix.gc = { |  | ||||||
|     automatic = true; |  | ||||||
|     dates = "weekly"; |  | ||||||
|     options = "--delete-older-than 30d"; |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
|   # I never want to touch this again |  | ||||||
|   security.rtkit.enable = true; |  | ||||||
|   services.pipewire = { |  | ||||||
|     enable = true; |  | ||||||
|     alsa.enable = true; |  | ||||||
|     alsa.support32Bit = true; |  | ||||||
|     pulse.enable = true; |  | ||||||
|     jack.enable = true; |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
|   services.xserver.videoDrivers = ["nvidia"]; |  | ||||||
|   hardware = { |  | ||||||
|     opengl = { |  | ||||||
|       enable = true; |  | ||||||
|       driSupport = true; |  | ||||||
|       driSupport32Bit = true; |  | ||||||
|     }; |  | ||||||
|     nvidia = { |  | ||||||
|       modesetting.enable = true; |  | ||||||
|       nvidiaSettings = true; |  | ||||||
|     }; |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
|   # Enable touchpad support (enabled default in most desktopManager). |  | ||||||
|   # services.xserver.libinput.enable = true; |  | ||||||
| 
 |  | ||||||
|   # Define a user account. Don't forget to set a password with ‘passwd’. |  | ||||||
|   users.users.floppydisk = { |  | ||||||
|     isNormalUser = true; |  | ||||||
|     description = "Frankie B."; |  | ||||||
|     extraGroups = ["networkmanager" "wheel"]; |  | ||||||
|     packages = with pkgs; [ |  | ||||||
|       kate |  | ||||||
|     ]; |  | ||||||
|     initialPassword = "changeme"; |  | ||||||
|     shell = pkgs.zsh; |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
|   # Allow unfree packages |  | ||||||
|   nixpkgs.config.allowUnfree = true; |  | ||||||
| 
 |  | ||||||
|   # security is for wusses |  | ||||||
|   nixpkgs.config.permittedInsecurePackages = [ |  | ||||||
|     "openssl-1.1.1u" |  | ||||||
|   ]; |  | ||||||
| 
 |  | ||||||
|   # Fonts |  | ||||||
|   fonts.packages = with pkgs; [ |  | ||||||
|     winePackages.fonts |  | ||||||
|   ]; |  | ||||||
| 
 |  | ||||||
|   # List packages installed in system profile. To search, run: |  | ||||||
|   # $ nix search wget |  | ||||||
|   environment.systemPackages = with pkgs; [ |  | ||||||
|     # Tools |  | ||||||
|     vim |  | ||||||
|     wget |  | ||||||
|     git |  | ||||||
|     gnupg |  | ||||||
|     pinentry |  | ||||||
|     kitty |  | ||||||
|     ntfs3g |  | ||||||
|     pulseaudioFull |  | ||||||
|     linuxKernel.packages.linux_zen.v4l2loopback |  | ||||||
|     pciutils |  | ||||||
|     usbutils |  | ||||||
|     isoimagewriter |  | ||||||
|     nvtop |  | ||||||
|     screen |  | ||||||
|     pavucontrol |  | ||||||
|     paprefs |  | ||||||
|     gcc |  | ||||||
| 
 |  | ||||||
|     # Fonts |  | ||||||
|     nerdfonts |  | ||||||
|     jetbrains-mono |  | ||||||
| 
 |  | ||||||
|     # other shit |  | ||||||
|     libnotify |  | ||||||
|     hyprpaper |  | ||||||
|     networkmanagerapplet |  | ||||||
|     grim |  | ||||||
|     slurp |  | ||||||
|     wl-clipboard |  | ||||||
|     font-awesome |  | ||||||
|     rofi |  | ||||||
|     wlogout |  | ||||||
|     swaynotificationcenter |  | ||||||
|     swaylock |  | ||||||
|     sway |  | ||||||
|     swayidle |  | ||||||
|     helvum |  | ||||||
|   ]; |  | ||||||
| 
 |  | ||||||
|   environment.sessionVariables = { |  | ||||||
|     WLR_NO_HARDWARE_CURSORS = "1"; |  | ||||||
|     NIXOS_OZONE_WL = "1"; |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
|   xdg.portal.enable = true; |  | ||||||
|   xdg.portal.extraPortals = [pkgs.xdg-desktop-portal-gtk]; |  | ||||||
| 
 |  | ||||||
|   programs.zsh.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; |  | ||||||
|   # }; |  | ||||||
| 
 |  | ||||||
|   # List services that you want to enable: |  | ||||||
| 
 |  | ||||||
|   # Enable the OpenSSH daemon. |  | ||||||
|   services.openssh.enable = true; |  | ||||||
| 
 |  | ||||||
|   # Enable printing |  | ||||||
|   services.printing.enable = true; |  | ||||||
|   services.printing.drivers = [pkgs.hplipWithPlugin]; |  | ||||||
| 
 |  | ||||||
|   # Open ports in the firewall. |  | ||||||
|   # networking.firewall.allowedTCPPorts = [ ... ]; |  | ||||||
|   # networking.firewall.allowedUDPPorts = [ ... ]; |  | ||||||
|   # Or disable the firewall altogether. |  | ||||||
|   networking.firewall.enable = false; |  | ||||||
| 
 |  | ||||||
|   # 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). |  | ||||||
|   system.stateVersion = "22.11"; # Did you read the comment? |  | ||||||
| } |  | ||||||
|  | @ -1,44 +0,0 @@ | ||||||
| # 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" "ahci" "usb_storage" "usbhid" "sd_mod"]; |  | ||||||
|   boot.initrd.kernelModules = []; |  | ||||||
|   boot.kernelModules = ["kvm-intel"]; |  | ||||||
|   boot.extraModulePackages = []; |  | ||||||
| 
 |  | ||||||
|   fileSystems."/" = { |  | ||||||
|     device = "/dev/disk/by-uuid/c694a72f-2faa-49f3-813f-b9b552143088"; |  | ||||||
|     fsType = "ext4"; |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
|   fileSystems."/boot/efi" = { |  | ||||||
|     device = "/dev/disk/by-uuid/BA8E-DAAA"; |  | ||||||
|     fsType = "vfat"; |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
|   swapDevices = [ |  | ||||||
|     {device = "/dev/disk/by-uuid/f30ab1ac-66a5-4389-b4fe-a52f53255ec6";} |  | ||||||
|   ]; |  | ||||||
| 
 |  | ||||||
|   # 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.enp3s0.useDHCP = lib.mkDefault true; |  | ||||||
| 
 |  | ||||||
|   nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; |  | ||||||
|   powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; |  | ||||||
|   hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; |  | ||||||
| } |  | ||||||
|  | @ -1,35 +1,118 @@ | ||||||
| # Edit this configuration file to define what should be installed on | # This is your system's configuration file. | ||||||
| # your system.  Help is available in the configuration.nix(5) man page | # Use this to configure your system environment (it replaces /etc/nixos/configuration.nix) | ||||||
| # and in the NixOS manual (accessible by running ‘nixos-help’). |  | ||||||
| { | { | ||||||
|  |   inputs, | ||||||
|  |   lib, | ||||||
|   config, |   config, | ||||||
|   pkgs, |   pkgs, | ||||||
|   ... |   ... | ||||||
| }: { | }: { | ||||||
|  |   # You can import other NixOS modules here | ||||||
|   imports = [ |   imports = [ | ||||||
|     # Include the results of the hardware scan. |  | ||||||
|     ./hardware-configuration.nix |     ./hardware-configuration.nix | ||||||
|   ]; |   ]; | ||||||
| 
 | 
 | ||||||
|   # Bootloader. |   services.xserver = { | ||||||
|  |     enable = true; | ||||||
|  |     displayManager.sddm.enable = true; | ||||||
|  |     desktopManager.plasma5.enable = true; | ||||||
|  |     xkb.layout = "us"; | ||||||
|  |     libinput.enable = true; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   hardware.opengl = { | ||||||
|  |     enable = true; | ||||||
|  |     driSupport = true; | ||||||
|  |     driSupport32Bit = true; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   nixpkgs = { | ||||||
|  |     # Configure your nixpkgs instance | ||||||
|  |     config = { | ||||||
|  |       # Disable if you don't want unfree packages | ||||||
|  |       allowUnfree = true; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   nix = { | ||||||
|  |     # This will add each flake input as a registry | ||||||
|  |     # To make nix3 commands consistent with your flake | ||||||
|  |     registry = lib.mapAttrs (_: value: {flake = value;}) inputs; | ||||||
|  | 
 | ||||||
|  |     # This will additionally add your inputs to the system's legacy channels | ||||||
|  |     # Making legacy nix commands consistent as well, awesome! | ||||||
|  |     nixPath = lib.mapAttrsToList (key: value: "${key}=${value.to.path}") config.nix.registry; | ||||||
|  | 
 | ||||||
|  |     settings = { | ||||||
|  |       # Enable flakes and new 'nix' command | ||||||
|  |       experimental-features = "nix-command flakes"; | ||||||
|  |       # Deduplicate and optimize nix store | ||||||
|  |       auto-optimise-store = true; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   # the configuration (pain) | ||||||
|  |   programs = { | ||||||
|  |     gnupg.agent = { | ||||||
|  |       enable = true; | ||||||
|  |       enableSSHSupport = true; | ||||||
|  |     }; | ||||||
|  |     hyprland = { | ||||||
|  |       enable = true; | ||||||
|  |       xwayland.enable = true; | ||||||
|  |     }; | ||||||
|  |     zsh.enable = true; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   security.rtkit.enable = true; | ||||||
|  |   services.pipewire = { | ||||||
|  |     enable = true; | ||||||
|  |     alsa.enable = true; | ||||||
|  |     alsa.support32Bit = true; | ||||||
|  |     pulse.enable = true; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   environment.systemPackages = with pkgs; [ | ||||||
|  |   gcc   | ||||||
|  |   git | ||||||
|  |   grim | ||||||
|  |   lxqt.lxqt-policykit | ||||||
|  |   pavucontrol | ||||||
|  |   pciutils | ||||||
|  |   pulseaudio | ||||||
|  |   screen | ||||||
|  |   slurp | ||||||
|  |   usbutils | ||||||
|  |   wget | ||||||
|  |   wl-clipboard | ||||||
|  |   xdg-utils | ||||||
|  |   swaynotificationcenter | ||||||
|  |   swayidle | ||||||
|  |   wofi | ||||||
|  |   swaylock | ||||||
|  |   ]; | ||||||
|  | 
 | ||||||
|  |   services.printing.enable = true; | ||||||
|  | 
 | ||||||
|  |   fonts.packages = with pkgs; [ | ||||||
|  |     font-awesome | ||||||
|  |     nerdfonts | ||||||
|  |     jetbrains-mono | ||||||
|  |     winePackages.fonts | ||||||
|  |   ]; | ||||||
|  | 
 | ||||||
|  |   networking.hostName = "nixpad"; | ||||||
|  | 
 | ||||||
|   boot.loader.systemd-boot.enable = true; |   boot.loader.systemd-boot.enable = true; | ||||||
|   boot.loader.efi.canTouchEfiVariables = true; |   boot.loader.efi.canTouchEfiVariables = true; | ||||||
|   boot.loader.efi.efiSysMountPoint = "/boot/efi"; |   boot.initrd.systemd.enable = true; | ||||||
|  |   boot.kernelPackages = pkgs.linuxPackages_latest; | ||||||
|    |    | ||||||
|   networking.hostName = "nixpad"; # Define your hostname. |  | ||||||
|   # networking.wireless.enable = true;  # Enables wireless support via wpa_supplicant. |  | ||||||
| 
 | 
 | ||||||
|   # Configure network proxy if necessary |   # Set a time zone, idiot | ||||||
|   # networking.proxy.default = "http://user:password@proxy:port/"; |  | ||||||
|   # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; |  | ||||||
| 
 |  | ||||||
|   # Enable networking |  | ||||||
|   networking.networkmanager.enable = true; |  | ||||||
| 
 |  | ||||||
|   # Set your time zone. |  | ||||||
|   time.timeZone = "Europe/London"; |   time.timeZone = "Europe/London"; | ||||||
| 
 | 
 | ||||||
|   # Select internationalisation properties. |   # Fun internationalisation stuffs (AAAAAAAA) | ||||||
|   i18n.defaultLocale = "en_GB.UTF-8"; |   i18n.defaultLocale = "en_GB.UTF-8"; | ||||||
| 
 | 
 | ||||||
|   i18n.extraLocaleSettings = { |   i18n.extraLocaleSettings = { | ||||||
|  | @ -44,156 +127,30 @@ | ||||||
|     LC_TIME = "en_GB.UTF-8"; |     LC_TIME = "en_GB.UTF-8"; | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   # Enable the X11 windowing system. |   # define user acc | ||||||
|   services.xserver.enable = true; |   users.users.floppydisk = { | ||||||
| 
 |     isNormalUser = true; | ||||||
|   # Enable the KDE Plasma Desktop Environment. |     description = "Frankie B."; | ||||||
|   services.xserver.displayManager.sddm.enable = true; |     extraGroups = ["networkmanager" "wheel"]; | ||||||
|   services.xserver.desktopManager.plasma5.enable = true; |     openssh.authorizedKeys.keys = [ | ||||||
| 
 |       # TODO: Add your SSH public key(s) here, if you plan on using SSH to connect | ||||||
|   programs.hyprland = { |     ]; | ||||||
|     enable = true; |     shell = pkgs.zsh; | ||||||
|     xwayland.enable = true; |  | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   # Configure keymap in X11 |  | ||||||
|   services.xserver = { |  | ||||||
|     layout = "us"; |  | ||||||
|     xkbVariant = ""; |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
|   # Enable experimental features |  | ||||||
|   nix.settings.extra-experimental-features = ["flakes" "nix-command"]; |  | ||||||
| 
 |  | ||||||
|   # Enable automatic gc |  | ||||||
|   nix.gc = { |   nix.gc = { | ||||||
|     automatic = true; |     automatic = true; | ||||||
|     dates = "weekly"; |     dates = "weekly"; | ||||||
|     options = "--delete-older-than 30d"; |     options = "--delete-older-than 30d"; | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   # Enable CUPS to print documents. |   # This setups a SSH server. Very important if you're setting up a headless system. | ||||||
|   services.printing.enable = true; |   # Feel free to remove if you don't need it. | ||||||
| 
 | 
 | ||||||
|   # I never want to touch this again |  | ||||||
|   security.rtkit.enable = true; |  | ||||||
|   services.pipewire = { |  | ||||||
|     enable = true; |  | ||||||
|     alsa.enable = true; |  | ||||||
|     alsa.support32Bit = true; |  | ||||||
|     pulse.enable = true; |  | ||||||
|     jack.enable = true; |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
|   services.xserver.videoDrivers = ["intel"]; |  | ||||||
|   hardware.opengl = { |  | ||||||
|     enable = true; |  | ||||||
|     driSupport = true; |  | ||||||
|     driSupport32Bit = true; |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
|   # Enable touchpad support (enabled default in most desktopManager). |  | ||||||
|   services.xserver.libinput.enable = true; |  | ||||||
| 
 |  | ||||||
|   # Define a user account. Don't forget to set a password with ‘passwd’. |  | ||||||
|   users.users.floppydisk = { |  | ||||||
|     isNormalUser = true; |  | ||||||
|     description = "Frankie B."; |  | ||||||
|     extraGroups = ["networkmanager" "wheel"]; |  | ||||||
|     packages = with pkgs; [ |  | ||||||
|       kate |  | ||||||
|     ]; |  | ||||||
|     initialPassword = "changeme"; |  | ||||||
|     shell = pkgs.zsh; |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
|   # Allow unfree packages |  | ||||||
|   nixpkgs.config.allowUnfree = true; |  | ||||||
| 
 |  | ||||||
|   # Fonts |  | ||||||
|   fonts.packages = with pkgs; [ |  | ||||||
|     winePackages.fonts |  | ||||||
|   ]; |  | ||||||
| 
 |  | ||||||
|   # List packages installed in system profile. To search, run: |  | ||||||
|   # $ nix search wget |  | ||||||
|   environment.systemPackages = with pkgs; [ |  | ||||||
|     # Tools |  | ||||||
|     vim |  | ||||||
|     wget |  | ||||||
|     git |  | ||||||
|     gnupg |  | ||||||
|     pinentry |  | ||||||
|     kitty |  | ||||||
|     ntfs3g |  | ||||||
|     pulseaudioFull |  | ||||||
|     linuxKernel.packages.linux_zen.v4l2loopback |  | ||||||
|     pciutils |  | ||||||
|     usbutils |  | ||||||
|     isoimagewriter |  | ||||||
|     nvtop |  | ||||||
|     screen |  | ||||||
|     pavucontrol |  | ||||||
|     paprefs |  | ||||||
|     gcc |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|     # Fonts |  | ||||||
|     nerdfonts |  | ||||||
|     jetbrains-mono |  | ||||||
| 
 |  | ||||||
|     # other shit |  | ||||||
|     #dunst |  | ||||||
|     libnotify |  | ||||||
|     hyprpaper |  | ||||||
|     networkmanagerapplet |  | ||||||
|     grim |  | ||||||
|     slurp |  | ||||||
|     wl-clipboard |  | ||||||
|     font-awesome |  | ||||||
|     rofi |  | ||||||
|     wlogout |  | ||||||
|     swaynotificationcenter |  | ||||||
|     swaylock |  | ||||||
|     sway |  | ||||||
|     swayidle |  | ||||||
|     helvum |  | ||||||
|   ]; |  | ||||||
| 
 |  | ||||||
|   environment.sessionVariables = { |  | ||||||
|     WLR_NO_HARDWARE_CURSORS = "1"; |  | ||||||
|     NIXOS_OZONE_WL = "1"; |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
|   xdg.portal.enable = true; |  | ||||||
|   xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; |  | ||||||
| 
 |  | ||||||
|   programs.zsh.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; |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
|   # List services that you want to enable: |  | ||||||
| 
 |  | ||||||
|   # Enable the OpenSSH daemon. |  | ||||||
|   services.openssh.enable = true; |   services.openssh.enable = true; | ||||||
|    |    | ||||||
|   # Open ports in the firewall. |  | ||||||
|   # networking.firewall.allowedTCPPorts = [ ... ]; |  | ||||||
|   # networking.firewall.allowedUDPPorts = [ ... ]; |  | ||||||
|   # Or disable the firewall altogether. |  | ||||||
|   networking.firewall.enable = false; |   networking.firewall.enable = false; | ||||||
|    |    | ||||||
|   # This value determines the NixOS release from which the default |   system.stateVersion = "24.05"; | ||||||
|   # 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). |  | ||||||
|   system.stateVersion = "22.11"; # Did you read the comment? |  | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -1,39 +1,45 @@ | ||||||
| # Do not modify this file!  It was generated by ‘nixos-generate-config’ | # Do not modify this file!  It was generated by ‘nixos-generate-config’ | ||||||
| # and may be overwritten by future invocations.  Please make changes | # and may be overwritten by future invocations.  Please make changes | ||||||
| # to /etc/nixos/configuration.nix instead. | # to /etc/nixos/configuration.nix instead. | ||||||
| { config, lib, pkgs, modulesPath, ... }: |  | ||||||
| 
 |  | ||||||
| { | { | ||||||
|   imports = |   config, | ||||||
|     [ (modulesPath + "/installer/scan/not-detected.nix") |   lib, | ||||||
|     ]; |   pkgs, | ||||||
|  |   modulesPath, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   imports = [ | ||||||
|  |     (modulesPath + "/installer/scan/not-detected.nix") | ||||||
|  |   ]; | ||||||
| 
 | 
 | ||||||
|   boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ata_piix" "usb_storage" "sd_mod" "sdhci_pci" ]; |   boot.initrd.availableKernelModules = ["xhci_pci" "nvme" "uas" "sd_mod" "rtsx_usb_sdmmc"]; | ||||||
|   boot.initrd.kernelModules = [ ]; |   boot.initrd.kernelModules = []; | ||||||
|   boot.kernelModules = [ "kvm-intel" ]; |   boot.kernelModules = ["kvm-intel"]; | ||||||
|   boot.extraModulePackages = [ ]; |   boot.extraModulePackages = []; | ||||||
| 
 | 
 | ||||||
|   fileSystems."/" = |   fileSystems."/" = { | ||||||
|     { device = "/dev/disk/by-uuid/79fd353d-4e05-44fd-9e10-e57b08c140f0"; |     device = "/dev/disk/by-uuid/81d5eb4d-ed55-446c-8c99-048dfb214f9d"; | ||||||
|       fsType = "ext4"; |     fsType = "ext4"; | ||||||
|     }; |   }; | ||||||
| 
 | 
 | ||||||
|   fileSystems."/boot/efi" = |   boot.initrd.luks.devices."luks-6251bba4-3361-4923-8d83-812cc3162b3e".device = "/dev/disk/by-uuid/6251bba4-3361-4923-8d83-812cc3162b3e"; | ||||||
|     { device = "/dev/disk/by-uuid/AA53-B6CE"; |  | ||||||
|       fsType = "vfat"; |  | ||||||
|     }; |  | ||||||
| 
 | 
 | ||||||
|   swapDevices = |   fileSystems."/boot" = { | ||||||
|     [ { device = "/dev/disk/by-uuid/92e64b37-f558-4333-bfb0-0e4bfe6e91c0"; } |     device = "/dev/disk/by-uuid/89AE-5193"; | ||||||
|     ]; |     fsType = "vfat"; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   swapDevices = [ | ||||||
|  |     {device = "/dev/disk/by-uuid/d3f0c084-4a4d-4175-a0e6-94fbe8459614";} | ||||||
|  |   ]; | ||||||
| 
 | 
 | ||||||
|   # Enables DHCP on each ethernet and wireless interface. In case of scripted networking |   # 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 |   # (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 |   # 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`. |   # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. | ||||||
|   networking.useDHCP = lib.mkDefault true; |   networking.useDHCP = lib.mkDefault true; | ||||||
|   # networking.interfaces.enp0s25.useDHCP = lib.mkDefault true; |   # networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true; | ||||||
|   # networking.interfaces.wlp3s0.useDHCP = lib.mkDefault true; |   # networking.interfaces.wlp0s20f3.useDHCP = lib.mkDefault true; | ||||||
| 
 | 
 | ||||||
|   nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; |   nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; | ||||||
|   hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; |   hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; | ||||||
|  |  | ||||||
|  | @ -1,6 +0,0 @@ | ||||||
| # Add your reusable home-manager modules to this directory, on their own file (https://nixos.wiki/wiki/Module). |  | ||||||
| # These should be stuff you would like to share with others, not your personal configurations. |  | ||||||
| { |  | ||||||
|   # List your module files here |  | ||||||
|   # my-module = import ./my-module.nix; |  | ||||||
| } |  | ||||||
|  | @ -1,6 +0,0 @@ | ||||||
| # Add your reusable NixOS modules to this directory, on their own file (https://nixos.wiki/wiki/Module). |  | ||||||
| # These should be stuff you would like to share with others, not your personal configurations. |  | ||||||
| { |  | ||||||
|   # List your module files here |  | ||||||
|   # my-module = import ./my-module.nix; |  | ||||||
| } |  | ||||||
|  | @ -1,9 +0,0 @@ | ||||||
| # A nixpkgs instance that is grabbed from the pinned nixpkgs commit in the lock file |  | ||||||
| # This is useful to avoid using channels when using legacy nix commands |  | ||||||
| let |  | ||||||
|   lock = (builtins.fromJSON (builtins.readFile ./flake.lock)).nodes.nixpkgs.locked; |  | ||||||
| in |  | ||||||
|   import (fetchTarball { |  | ||||||
|     url = "https://github.com/nixos/nixpkgs/archive/${lock.rev}.tar.gz"; |  | ||||||
|     sha256 = lock.narHash; |  | ||||||
|   }) |  | ||||||
|  | @ -1,5 +0,0 @@ | ||||||
| # Custom packages, that can be defined similarly to ones from nixpkgs |  | ||||||
| # You can build them using 'nix build .#example' or (legacy) 'nix-build -A example' |  | ||||||
| {pkgs ? (import ../nixpkgs.nix) {}}: { |  | ||||||
|   # example = pkgs.callPackage ./example { }; |  | ||||||
| } |  | ||||||
|  | @ -1,9 +0,0 @@ | ||||||
| # Shell for bootstrapping flake-enabled nix and home-manager |  | ||||||
| # You can enter it through 'nix develop' or (legacy) 'nix-shell' |  | ||||||
| {pkgs ? (import ./nixpkgs.nix) {}}: { |  | ||||||
|   default = pkgs.mkShell { |  | ||||||
|     # Enable experimental features without having to specify the argument |  | ||||||
|     NIX_CONFIG = "experimental-features = nix-command flakes"; |  | ||||||
|     nativeBuildInputs = with pkgs; [nix home-manager git]; |  | ||||||
|   }; |  | ||||||
| } |  | ||||||
		Reference in a new issue
	
	 rubiigen
				rubiigen