mirror of
				https://github.com/bartvdbraak/dotfiles.git
				synced 2025-10-28 22:29:09 +00:00 
			
		
		
		
	Big refactor (#8)
* Update to 24.11 channel and add `ghostty` * full restructure * minor changes * fix issues * fixes and improvements * Add back some old config * working example for now
This commit is contained in:
		
							parent
							
								
									5ac124b389
								
							
						
					
					
						commit
						ab338d3b15
					
				
					 75 changed files with 935 additions and 3232 deletions
				
			
		
							
								
								
									
										3
									
								
								.gitmodules
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.gitmodules
									
										
									
									
										vendored
									
									
								
							|  | @ -1,3 +0,0 @@ | |||
| [submodule "tongfang/.config/nvim"] | ||||
| 	path = tongfang/.config/nvim | ||||
| 	url = git@github.com:bartvdbraak/nbim.git | ||||
|  | @ -1,3 +1,10 @@ | |||
| This repository is personal and currently doesn't come with any documentation or community-centric promises. | ||||
| 
 | ||||
| You're allowed to use it in whatever way you see fit, see [LICENSE](./LICENSE). | ||||
| You're allowed to use it in whatever way you see fit but **on your own risk**, see our GLWTS license. | ||||
| 
 | ||||
| - install nixos | ||||
| - open terminal and run `nix-shell -p git` | ||||
| - run `git clone https://github.com/bartvdbraak/nixos-dotfiles.git` | ||||
| - run `./nixos-dotfiles/dotfiles/symlink.sh` if you want to get all dotfiles in your home | ||||
| - run `sudo ./nixos-dotfiles/nixos/symlink.sh` if you want get nixos configs in your /etc (it backs up your current) | ||||
| - run one of the configs to switch to it, e.g. `nixos-rebuild switch --flake .#tongfang`, reboot is recommended | ||||
|  |  | |||
|  | @ -2,6 +2,5 @@ alias ll='ls -la' | |||
| alias lt='ls --human-readable --size -1 -S --classify' | ||||
| alias nrebuild='sudo nixos-rebuild --use-remote-sudo switch' | ||||
| alias code='codium' | ||||
| alias ssh='ensure_ssh_key; ssh' | ||||
| alias rgf='rg --files | rg' | ||||
| alias rcd='ranger' | ||||
							
								
								
									
										2
									
								
								dotfiles/.config/git/blender.gitconfig
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								dotfiles/.config/git/blender.gitconfig
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,2 @@ | |||
| [user] | ||||
| 	email = bart@blender.org | ||||
|  | @ -2,6 +2,7 @@ | |||
| 	name = Bart van der Braak | ||||
| 	email = bart@vanderbraak.nl | ||||
| 	# signingkey = 26ED0D75D89D9B61 | ||||
| 
 | ||||
| [alias] | ||||
| 	p = push | ||||
| 	st = status | ||||
|  | @ -12,22 +13,34 @@ | |||
| 	gl = config --global -l | ||||
| 	aa = add . | ||||
| 	pushfwl = push --force-with-lease | ||||
| 
 | ||||
| [core] | ||||
| 	excludesfile = $HOME/.gitignore_global | ||||
| 	excludesfile = ~/.gitignore | ||||
| 	pager = delta | ||||
| 
 | ||||
| [interactive] | ||||
|     diffFilter = delta --color-only | ||||
| 
 | ||||
| [init] | ||||
| 	defaultBranch = main | ||||
| 
 | ||||
| [commit] | ||||
| 	# gpgsign = true | ||||
| 
 | ||||
| [push] | ||||
| 	autoSetupRemote = true | ||||
| 
 | ||||
| [filter "lfs"] | ||||
| 	clean = git-lfs clean -- %f | ||||
| 	smudge = git-lfs smudge -- %f | ||||
| 	process = git-lfs filter-process | ||||
| 	required = true | ||||
| 
 | ||||
| [includeIf "gitdir:~/Repos/github.com/blender/"] | ||||
|     path = ~/.config/git/blender.gitconfig | ||||
| 
 | ||||
| [includeIf "gitdir:~/Repos/gitlab.com/blender/"] | ||||
|     path = ~/.config/git/blender.gitconfig | ||||
| 
 | ||||
| [includeIf "gitdir:~/Repos/projects.blender.org/"] | ||||
|     path = ~/.config/git/blender.gitconfig | ||||
							
								
								
									
										1
									
								
								dotfiles/.nix-channels
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								dotfiles/.nix-channels
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1 @@ | |||
| https://nixos.org/channels/nixos-unstable nixos | ||||
							
								
								
									
										5
									
								
								dotfiles/ghostty.linux
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								dotfiles/ghostty.linux
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,5 @@ | |||
| font-size = 12 | ||||
| font-family = JetBrains Mono | ||||
| background-opacity = 0.95 | ||||
| background-blur-radius = 20 | ||||
| mouse-hide-while-typing = true | ||||
							
								
								
									
										6
									
								
								dotfiles/symlink.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										6
									
								
								dotfiles/symlink.sh
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,6 @@ | |||
| #!/usr/bin/env bash | ||||
| 
 | ||||
| dotfiles_home="${1:-$(dirname "$(realpath "$0")")}" | ||||
| cp -rsf "$dotfiles_home"/. $HOME | ||||
| 
 | ||||
| echo "Dotfiles have been recursively copied and symlinked from $dotfiles_home to $HOME." | ||||
|  | @ -1,24 +0,0 @@ | |||
| [user] | ||||
| 	name = Bart van der Braak | ||||
| 	email = bartvdbraak@gmail.com | ||||
| [alias] | ||||
| 	p = push | ||||
| 	st = status | ||||
| 	ll = log --oneline | ||||
| 	last = log -1 HEAD --stat | ||||
| 	cm = commit -m | ||||
| 	d = diff | ||||
| 	gl = config --global -l | ||||
| 	aa = add . | ||||
| 	pushfwl = push --force-with-lease | ||||
| [core] | ||||
| 	excludesfile = /Users/bart.vanderbraak/.gitignore_global | ||||
| [init] | ||||
| 	defaultBranch = master | ||||
| [push] | ||||
| 	autoSetupRemote = true | ||||
| [filter "lfs"] | ||||
| 	clean = git-lfs clean -- %f | ||||
| 	smudge = git-lfs smudge -- %f | ||||
| 	process = git-lfs filter-process | ||||
| 	required = true | ||||
|  | @ -1 +0,0 @@ | |||
| .DS_Store | ||||
|  | @ -1,96 +0,0 @@ | |||
| ## Initialize completion | ||||
| 
 | ||||
| autoload -Uz compinit | ||||
| compinit | ||||
| 
 | ||||
| ## Paths | ||||
| 
 | ||||
| PATH=$PATH:/usr/local/sbin | ||||
| export PATH="$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$PATH" | ||||
| 
 | ||||
| ### Added by Zinit's installer | ||||
| if [[ ! -f $HOME/.local/share/zinit/zinit.git/zinit.zsh ]]; then | ||||
|     print -P "%F{33} %F{220}Installing %F{33}ZDHARMA-CONTINUUM%F{220} Initiative Plugin Manager (%F{33}zdharma-continuum/zinit%F{220})…%f" | ||||
|     command mkdir -p "$HOME/.local/share/zinit" && command chmod g-rwX "$HOME/.local/share/zinit" | ||||
|     command git clone https://github.com/zdharma-continuum/zinit "$HOME/.local/share/zinit/zinit.git" && \ | ||||
|         print -P "%F{33} %F{34}Installation successful.%f%b" || \ | ||||
|         print -P "%F{160} The clone has failed.%f%b" | ||||
| fi | ||||
| 
 | ||||
| source "$HOME/.local/share/zinit/zinit.git/zinit.zsh" | ||||
| autoload -Uz _zinit | ||||
| (( ${+_comps} )) && _comps[zinit]=_zinit | ||||
| 
 | ||||
| ## Zinit Plugins | ||||
| 
 | ||||
| zinit light zdharma-continuum/fast-syntax-highlighting | ||||
| zinit load zdharma-continuum/history-search-multi-word | ||||
| zinit light zsh-users/zsh-history-substring-search | ||||
| zinit light sindresorhus/pure | ||||
| 
 | ||||
| ### Autosuggestions | ||||
| 
 | ||||
| ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE=150 | ||||
| zinit ice wait"0a" lucid atload"_zsh_autosuggest_start" | ||||
| zinit light zsh-users/zsh-autosuggestions | ||||
| 
 | ||||
| ### Enhancd | ||||
| 
 | ||||
| zinit ice wait"0b" lucid | ||||
| # zinit light b4b4r07/enhancd | ||||
| 
 | ||||
| ## Tab Completion | ||||
| 
 | ||||
| zinit ice wait"0b" lucid blockf | ||||
| zinit light zsh-users/zsh-completions | ||||
| zstyle ':completion:*' completer _expand _complete _ignored _approximate | ||||
| zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}' | ||||
| zstyle ':completion:*' menu select=2 | ||||
| zstyle ':completion:*' select-prompt '%SScrolling active: current selection at %p%s' | ||||
| zstyle ':completion:*:descriptions' format '-- %d --' | ||||
| zstyle ':completion:*:processes' command 'ps -au$USER' | ||||
| zstyle ':completion:complete:*:options' sort false | ||||
| zstyle ':fzf-tab:complete:_zlua:*' query-string input | ||||
| zstyle ':completion:*:*:*:*:processes' command "ps -u $USER -o pid,user,comm,cmd -w -w" | ||||
| zstyle ':fzf-tab:complete:kill:argument-rest' extra-opts --preview=$extract'ps --pid=$in[(w)1] -o cmd --no-headers -w -w' --preview-window=down:3:wrap | ||||
| zstyle ":completion:*:git-checkout:*" sort false | ||||
| zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS} | ||||
| 
 | ||||
| ### Neovim | ||||
| 
 | ||||
| zinit ice from"gh-r" as"program" bpick"*appimage*" ver"nightly" mv"nvim* -> nvim" pick"nvim" | ||||
| zinit light neovim/neovim | ||||
| 
 | ||||
| ### Prettytyping | ||||
| 
 | ||||
| zinit ice lucid wait'' as"program" pick"prettyping" atload'alias ping=prettyping' | ||||
| zinit load "denilsonsa/prettyping" | ||||
| 
 | ||||
| # Personal Aliases | ||||
| 
 | ||||
| alias pub='cat ~/.ssh/id_rsa.pub | pbcopy' | ||||
| alias l='ls -CF' | ||||
| alias ll='ls -alhF' | ||||
| alias la='ls -A' | ||||
| alias ls='ls -G' | ||||
| alias grep='grep --colour=auto' | ||||
| alias gcp='git add . && git commit && git push' | ||||
| alias digs='dig +short' | ||||
| alias k='kubectl' | ||||
| alias kc='kubectl config use-context' | ||||
| alias cp='cp -iv'                           # Preferred 'cp' implementation | ||||
| alias mv='mv -iv'                           # Preferred 'mv' implementation | ||||
| alias openssl3='/usr/local/opt/openssl@3' | ||||
| compdef __start_kubectl k | ||||
| 
 | ||||
| # Terminal History | ||||
| 
 | ||||
| HISTSIZE=15000 | ||||
| 
 | ||||
| # Kubernetes Autocompletions | ||||
| 
 | ||||
| source <(kubectl completion zsh) | ||||
| 
 | ||||
| # Python virtual environments | ||||
| 
 | ||||
| eval "$(pyenv init -)" | ||||
|  | @ -1,89 +0,0 @@ | |||
| live_config_reload = true | ||||
| 
 | ||||
| [shell] | ||||
| program = "/bin/zsh" | ||||
| 
 | ||||
| [window] | ||||
| opacity = 0.99 | ||||
| 
 | ||||
| decorations = "full" | ||||
| dynamic_title = true | ||||
| startup_mode = "Maximized" | ||||
| 
 | ||||
| [window.dimensions] | ||||
| columns = 160 | ||||
| lines = 80 | ||||
| 
 | ||||
| [window.padding] | ||||
| x = 6 | ||||
| y = 6 | ||||
| 
 | ||||
| [font] | ||||
| size = 20.0 | ||||
| 
 | ||||
| [font.glyph_offset] | ||||
| x = 0 | ||||
| y = 0 | ||||
| 
 | ||||
| [font.normal] | ||||
| family = "UbuntuMono Nerd Font Mono" | ||||
| 
 | ||||
| [font.bold] | ||||
| family = "UbuntuMono Nerd Font Mono" | ||||
| style = "Bold" | ||||
| 
 | ||||
| [font.italic] | ||||
| family = "UbuntuMono Nerd Font Mono" | ||||
| style = "Italic" | ||||
| 
 | ||||
| [font.bold_italic] | ||||
| family = "UbuntuMono Nerd Font Mono" | ||||
| style = "Bold Italic" | ||||
| 
 | ||||
| [bell] | ||||
| animation = "EaseOutExpo" | ||||
| duration = 0 | ||||
| 
 | ||||
| [mouse] | ||||
| hide_when_typing = true | ||||
| 
 | ||||
| [[mouse.bindings]] | ||||
| action = "PasteSelection" | ||||
| mouse = "Middle" | ||||
| 
 | ||||
| [[keyboard.bindings]] | ||||
| key = "Left" | ||||
| mods = "Alt" | ||||
| chars = "\u001BB" | ||||
| # Skip word left | ||||
| 
 | ||||
| [[keyboard.bindings]] | ||||
| key = "Right" | ||||
| mods = "Alt" | ||||
| chars = "\u001BF" | ||||
| # Skip word right | ||||
| 
 | ||||
| [[keyboard.bindings]] | ||||
| key = "Left" | ||||
| mods = "Command" | ||||
| chars = "\u001bOH" | ||||
| # Home | ||||
| 
 | ||||
| [[keyboard.bindings]] | ||||
| key = "Right" | ||||
| mods = "Command" | ||||
| chars = "\u001bOF" | ||||
| # End | ||||
| 
 | ||||
| [[keyboard.bindings]] | ||||
| key = "Back" | ||||
| mods = "Command" | ||||
| chars = "\u0015" | ||||
| # Delete line | ||||
| 
 | ||||
| [[keyboard.bindings]] | ||||
| key = "Back" | ||||
| mods = "Alt" | ||||
| chars = "\u001b\u007f" | ||||
| # Delete word | ||||
| 
 | ||||
|  | @ -1,278 +0,0 @@ | |||
| { | ||||
|     "global": { | ||||
|         "ask_for_confirmation_before_quitting": true, | ||||
|         "check_for_updates_on_startup": true, | ||||
|         "show_in_menu_bar": false, | ||||
|         "show_profile_name_in_menu_bar": false, | ||||
|         "unsafe_ui": false | ||||
|     }, | ||||
|     "profiles": [ | ||||
|         { | ||||
|             "complex_modifications": { | ||||
|                 "parameters": { | ||||
|                     "basic.simultaneous_threshold_milliseconds": 50, | ||||
|                     "basic.to_delayed_action_delay_milliseconds": 500, | ||||
|                     "basic.to_if_alone_timeout_milliseconds": 1000, | ||||
|                     "basic.to_if_held_down_threshold_milliseconds": 500, | ||||
|                     "mouse_motion_to_scroll.speed": 100 | ||||
|                 }, | ||||
|                 "rules": [ | ||||
|                     { | ||||
|                         "description": "FN + Space to F20", | ||||
|                         "manipulators": [ | ||||
|                             { | ||||
|                                 "from": { | ||||
|                                     "key_code": "spacebar", | ||||
|                                     "modifiers": { | ||||
|                                         "mandatory": [ | ||||
|                                             "fn" | ||||
|                                         ] | ||||
|                                     } | ||||
|                                 }, | ||||
|                                 "to": [ | ||||
|                                     { | ||||
|                                         "key_code": "f20" | ||||
|                                     } | ||||
|                                 ], | ||||
|                                 "type": "basic" | ||||
|                             } | ||||
|                         ] | ||||
|                     } | ||||
|                 ] | ||||
|             }, | ||||
|             "devices": [ | ||||
|                 { | ||||
|                     "disable_built_in_keyboard_if_exists": false, | ||||
|                     "fn_function_keys": [], | ||||
|                     "identifiers": { | ||||
|                         "is_keyboard": true, | ||||
|                         "is_pointing_device": false, | ||||
|                         "product_id": 832, | ||||
|                         "vendor_id": 1452 | ||||
|                     }, | ||||
|                     "ignore": false, | ||||
|                     "manipulate_caps_lock_led": true, | ||||
|                     "simple_modifications": [], | ||||
|                     "treat_as_built_in_keyboard": false | ||||
|                 }, | ||||
|                 { | ||||
|                     "disable_built_in_keyboard_if_exists": false, | ||||
|                     "fn_function_keys": [], | ||||
|                     "identifiers": { | ||||
|                         "is_keyboard": false, | ||||
|                         "is_pointing_device": true, | ||||
|                         "product_id": 832, | ||||
|                         "vendor_id": 1452 | ||||
|                     }, | ||||
|                     "ignore": true, | ||||
|                     "manipulate_caps_lock_led": false, | ||||
|                     "simple_modifications": [], | ||||
|                     "treat_as_built_in_keyboard": false | ||||
|                 }, | ||||
|                 { | ||||
|                     "disable_built_in_keyboard_if_exists": false, | ||||
|                     "fn_function_keys": [], | ||||
|                     "identifiers": { | ||||
|                         "is_keyboard": true, | ||||
|                         "is_pointing_device": true, | ||||
|                         "product_id": 640, | ||||
|                         "vendor_id": 13364 | ||||
|                     }, | ||||
|                     "ignore": true, | ||||
|                     "manipulate_caps_lock_led": true, | ||||
|                     "simple_modifications": [], | ||||
|                     "treat_as_built_in_keyboard": false | ||||
|                 }, | ||||
|                 { | ||||
|                     "disable_built_in_keyboard_if_exists": false, | ||||
|                     "fn_function_keys": [], | ||||
|                     "identifiers": { | ||||
|                         "is_keyboard": false, | ||||
|                         "is_pointing_device": true, | ||||
|                         "product_id": 45088, | ||||
|                         "vendor_id": 1133 | ||||
|                     }, | ||||
|                     "ignore": true, | ||||
|                     "manipulate_caps_lock_led": false, | ||||
|                     "simple_modifications": [], | ||||
|                     "treat_as_built_in_keyboard": false | ||||
|                 }, | ||||
|                 { | ||||
|                     "disable_built_in_keyboard_if_exists": false, | ||||
|                     "fn_function_keys": [], | ||||
|                     "identifiers": { | ||||
|                         "is_keyboard": true, | ||||
|                         "is_pointing_device": false, | ||||
|                         "product_id": 34304, | ||||
|                         "vendor_id": 1452 | ||||
|                     }, | ||||
|                     "ignore": false, | ||||
|                     "manipulate_caps_lock_led": true, | ||||
|                     "simple_modifications": [], | ||||
|                     "treat_as_built_in_keyboard": false | ||||
|                 }, | ||||
|                 { | ||||
|                     "disable_built_in_keyboard_if_exists": false, | ||||
|                     "fn_function_keys": [], | ||||
|                     "identifiers": { | ||||
|                         "is_keyboard": true, | ||||
|                         "is_pointing_device": true, | ||||
|                         "product_id": 1552, | ||||
|                         "vendor_id": 13364 | ||||
|                     }, | ||||
|                     "ignore": true, | ||||
|                     "manipulate_caps_lock_led": true, | ||||
|                     "simple_modifications": [], | ||||
|                     "treat_as_built_in_keyboard": false | ||||
|                 }, | ||||
|                 { | ||||
|                     "disable_built_in_keyboard_if_exists": false, | ||||
|                     "fn_function_keys": [], | ||||
|                     "identifiers": { | ||||
|                         "is_keyboard": true, | ||||
|                         "is_pointing_device": false, | ||||
|                         "product_id": 1552, | ||||
|                         "vendor_id": 13364 | ||||
|                     }, | ||||
|                     "ignore": false, | ||||
|                     "manipulate_caps_lock_led": true, | ||||
|                     "simple_modifications": [], | ||||
|                     "treat_as_built_in_keyboard": false | ||||
|                 } | ||||
|             ], | ||||
|             "fn_function_keys": [ | ||||
|                 { | ||||
|                     "from": { | ||||
|                         "key_code": "f1" | ||||
|                     }, | ||||
|                     "to": [ | ||||
|                         { | ||||
|                             "consumer_key_code": "display_brightness_decrement" | ||||
|                         } | ||||
|                     ] | ||||
|                 }, | ||||
|                 { | ||||
|                     "from": { | ||||
|                         "key_code": "f2" | ||||
|                     }, | ||||
|                     "to": [ | ||||
|                         { | ||||
|                             "consumer_key_code": "display_brightness_increment" | ||||
|                         } | ||||
|                     ] | ||||
|                 }, | ||||
|                 { | ||||
|                     "from": { | ||||
|                         "key_code": "f3" | ||||
|                     }, | ||||
|                     "to": [ | ||||
|                         { | ||||
|                             "apple_vendor_keyboard_key_code": "mission_control" | ||||
|                         } | ||||
|                     ] | ||||
|                 }, | ||||
|                 { | ||||
|                     "from": { | ||||
|                         "key_code": "f4" | ||||
|                     }, | ||||
|                     "to": [ | ||||
|                         { | ||||
|                             "apple_vendor_keyboard_key_code": "spotlight" | ||||
|                         } | ||||
|                     ] | ||||
|                 }, | ||||
|                 { | ||||
|                     "from": { | ||||
|                         "key_code": "f5" | ||||
|                     }, | ||||
|                     "to": [ | ||||
|                         { | ||||
|                             "consumer_key_code": "dictation" | ||||
|                         } | ||||
|                     ] | ||||
|                 }, | ||||
|                 { | ||||
|                     "from": { | ||||
|                         "key_code": "f6" | ||||
|                     }, | ||||
|                     "to": [ | ||||
|                         { | ||||
|                             "key_code": "f6" | ||||
|                         } | ||||
|                     ] | ||||
|                 }, | ||||
|                 { | ||||
|                     "from": { | ||||
|                         "key_code": "f7" | ||||
|                     }, | ||||
|                     "to": [ | ||||
|                         { | ||||
|                             "consumer_key_code": "rewind" | ||||
|                         } | ||||
|                     ] | ||||
|                 }, | ||||
|                 { | ||||
|                     "from": { | ||||
|                         "key_code": "f8" | ||||
|                     }, | ||||
|                     "to": [ | ||||
|                         { | ||||
|                             "consumer_key_code": "play_or_pause" | ||||
|                         } | ||||
|                     ] | ||||
|                 }, | ||||
|                 { | ||||
|                     "from": { | ||||
|                         "key_code": "f9" | ||||
|                     }, | ||||
|                     "to": [ | ||||
|                         { | ||||
|                             "consumer_key_code": "fast_forward" | ||||
|                         } | ||||
|                     ] | ||||
|                 }, | ||||
|                 { | ||||
|                     "from": { | ||||
|                         "key_code": "f10" | ||||
|                     }, | ||||
|                     "to": [ | ||||
|                         { | ||||
|                             "consumer_key_code": "mute" | ||||
|                         } | ||||
|                     ] | ||||
|                 }, | ||||
|                 { | ||||
|                     "from": { | ||||
|                         "key_code": "f11" | ||||
|                     }, | ||||
|                     "to": [ | ||||
|                         { | ||||
|                             "consumer_key_code": "volume_decrement" | ||||
|                         } | ||||
|                     ] | ||||
|                 }, | ||||
|                 { | ||||
|                     "from": { | ||||
|                         "key_code": "f12" | ||||
|                     }, | ||||
|                     "to": [ | ||||
|                         { | ||||
|                             "consumer_key_code": "volume_increment" | ||||
|                         } | ||||
|                     ] | ||||
|                 } | ||||
|             ], | ||||
|             "name": "Default profile", | ||||
|             "parameters": { | ||||
|                 "delay_milliseconds_before_open_device": 1000 | ||||
|             }, | ||||
|             "selected": true, | ||||
|             "simple_modifications": [], | ||||
|             "virtual_hid_keyboard": { | ||||
|                 "country_code": 0, | ||||
|                 "indicate_sticky_modifier_keys_state": true, | ||||
|                 "mouse_key_xy_scale": 100 | ||||
|             } | ||||
|         } | ||||
|     ] | ||||
| } | ||||
|  | @ -1,21 +0,0 @@ | |||
| background            #0d0f18 | ||||
| foreground            #fffaf3 | ||||
| cursor                #ff0017 | ||||
| selection_background  #002a3a | ||||
| color0                #222222 | ||||
| color8                #444444 | ||||
| color1                #ff000f | ||||
| color9                #ff273f | ||||
| color2                #8ce00a | ||||
| color10               #abe05a | ||||
| color3                #ffb900 | ||||
| color11               #ffd141 | ||||
| color4                #008df8 | ||||
| color12               #0092ff | ||||
| color5                #6c43a5 | ||||
| color13               #9a5feb | ||||
| color6                #00d7eb | ||||
| color14               #67ffef | ||||
| color7                #ffffff | ||||
| color15               #ffffff | ||||
| selection_foreground #0d0f18 | ||||
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							|  | @ -1,71 +0,0 @@ | |||
| { | ||||
|   "$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json", | ||||
|   "blocks": [ | ||||
|     { | ||||
|       "alignment": "left", | ||||
|       "segments": [ | ||||
|         { | ||||
|           "foreground": "#ffffff", | ||||
|           "style": "plain", | ||||
|           "template": "<#C591E8>\u276f</><#69FF94>\u276f</> ", | ||||
|           "type": "text" | ||||
|         }, | ||||
|         { | ||||
|           "foreground": "#56B6C2", | ||||
|           "properties": { | ||||
|             "style": "folder" | ||||
|           }, | ||||
|           "style": "plain", | ||||
|           "template": "{{ .Path }} ", | ||||
|           "type": "path" | ||||
|         }, | ||||
|         { | ||||
|           "foreground": "#D0666F", | ||||
|           "properties": { | ||||
|             "branch_icon": "" | ||||
|           }, | ||||
|           "style": "plain", | ||||
|           "template": "<#5FAAE8>git:(</>{{ .HEAD }}<#5FAAE8>)</>", | ||||
|           "type": "git" | ||||
|         }, | ||||
|         { | ||||
|           "foreground": "#DCB977", | ||||
|           "style": "plain", | ||||
|           "template": " \uf119 ", | ||||
|           "type": "status" | ||||
|         } | ||||
|       ], | ||||
|       "type": "prompt" | ||||
|     }, | ||||
|     { | ||||
|       "alignment": "right", | ||||
|       "segments": [ | ||||
|         { | ||||
|           "foreground": "#ffffff", | ||||
|           "properties": { | ||||
|             "command": "git log --pretty=format:%cr -1 || date +%H:%M:%S", | ||||
|             "shell": "bash" | ||||
|           }, | ||||
|           "style": "plain", | ||||
|           "template": " {{ .Output }} ", | ||||
|           "type": "command" | ||||
|         } | ||||
|       ], | ||||
|       "type": "prompt" | ||||
|     }, | ||||
|     { | ||||
|       "alignment": "left", | ||||
|       "newline": true, | ||||
|       "segments": [ | ||||
|         { | ||||
|           "foreground": "#ffffff", | ||||
|           "style": "plain", | ||||
|           "template": "\uf441 ", | ||||
|           "type": "text" | ||||
|         } | ||||
|       ], | ||||
|       "type": "prompt" | ||||
|     } | ||||
|   ], | ||||
|   "version": 2 | ||||
| } | ||||
|  | @ -1,86 +0,0 @@ | |||
| #:schema https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json | ||||
| 
 | ||||
| version = 2 | ||||
| 
 | ||||
| [[blocks]] | ||||
|   type = 'prompt' | ||||
|   alignment = 'left' | ||||
| 
 | ||||
|   [[blocks.segments]] | ||||
|     type = 'text' | ||||
|     style = 'plain' | ||||
|     template = '<#C591E8>❯</><#69FF94>❯</> ' | ||||
|     background = '' | ||||
|     foreground = '#ffffff' | ||||
|     Text = '' | ||||
|     Duration = 0 | ||||
|     NameLength = 0 | ||||
| 
 | ||||
|   [[blocks.segments]] | ||||
|     type = 'path' | ||||
|     style = 'plain' | ||||
|     template = '{{ .Path }} ' | ||||
|     background = '' | ||||
|     foreground = '#56B6C2' | ||||
|     Text = '' | ||||
|     Duration = 0 | ||||
|     NameLength = 0 | ||||
| 
 | ||||
|     [blocks.segments.properties] | ||||
|       style = 'folder' | ||||
| 
 | ||||
|   [[blocks.segments]] | ||||
|     type = 'git' | ||||
|     style = 'plain' | ||||
|     template = '<#5FAAE8>git:(</>{{ .HEAD }}<#5FAAE8>)</>' | ||||
|     background = '' | ||||
|     foreground = '#D0666F' | ||||
|     Text = '' | ||||
|     Duration = 0 | ||||
|     NameLength = 0 | ||||
| 
 | ||||
|     [blocks.segments.properties] | ||||
|       branch_icon = '' | ||||
| 
 | ||||
|   [[blocks.segments]] | ||||
|     type = 'status' | ||||
|     style = 'plain' | ||||
|     template = '  ' | ||||
|     background = '' | ||||
|     foreground = '#DCB977' | ||||
|     Text = '' | ||||
|     Duration = 0 | ||||
|     NameLength = 0 | ||||
| 
 | ||||
| [[blocks]] | ||||
|   type = 'prompt' | ||||
|   alignment = 'right' | ||||
| 
 | ||||
|   [[blocks.segments]] | ||||
|     type = 'command' | ||||
|     style = 'plain' | ||||
|     template = ' {{ .Output }} ' | ||||
|     background = '' | ||||
|     foreground = '#ffffff' | ||||
|     Text = '' | ||||
|     Duration = 0 | ||||
|     NameLength = 0 | ||||
| 
 | ||||
|     [blocks.segments.properties] | ||||
|       command = 'git log --pretty=format:%cr -1 || date +%H:%M:%S' | ||||
|       shell = 'bash' | ||||
| 
 | ||||
| [[blocks]] | ||||
|   type = 'prompt' | ||||
|   alignment = 'left' | ||||
|   newline = true | ||||
| 
 | ||||
|   [[blocks.segments]] | ||||
|     type = 'text' | ||||
|     style = 'plain' | ||||
|     template = ' ' | ||||
|     background = '' | ||||
|     foreground = '#ffffff' | ||||
|     Text = '' | ||||
|     Duration = 0 | ||||
|     NameLength = 0 | ||||
|  | @ -1,13 +1,6 @@ | |||
| { config, pkgs, inputs, ... }: | ||||
| 
 | ||||
| { | ||||
|   imports = [ | ||||
|     ./hardware-configuration.nix | ||||
|     ./users.nix             # Import user-specific config | ||||
|     ./packages.nix          # Import package-specific config | ||||
|     ./services.nix          # Import services config | ||||
|   ]; | ||||
| 
 | ||||
|   # Bootloader and EFI settings | ||||
|   boot.loader.systemd-boot.enable = true; | ||||
|   boot.loader.efi.canTouchEfiVariables = true; | ||||
							
								
								
									
										10
									
								
								tongfang/nixos/flake.lock → nixos/flake.lock
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										10
									
								
								tongfang/nixos/flake.lock → nixos/flake.lock
									
										
									
										generated
									
									
									
								
							|  | @ -3,8 +3,8 @@ | |||
|     "nixpkgs": { | ||||
|       "locked": { | ||||
|         "lastModified": 0, | ||||
|         "narHash": "sha256-WLxED18lodtQiayIPDE5zwAfkPJSjHJ35UhZ8h3cJUg=", | ||||
|         "path": "/nix/store/wdk3xa0vwx7swjdl1samf1bccvyyzfc1-source", | ||||
|         "narHash": "sha256-vH5mXxEvZeoGNkqKoCluhTGfoeXCZ1seYhC2pbMN0sg=", | ||||
|         "path": "/nix/store/zd5dgszslv09jzybcpf25gpl12s6r2d9-source", | ||||
|         "type": "path" | ||||
|       }, | ||||
|       "original": { | ||||
|  | @ -39,11 +39,11 @@ | |||
|         "nixpkgs": "nixpkgs_2" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1736655632, | ||||
|         "narHash": "sha256-TeA6G+BUWhOi2ZnewAEfwbsY/ku1H1sdNKfwjvH0wzM=", | ||||
|         "lastModified": 1737404254, | ||||
|         "narHash": "sha256-L8Lxp/WVdy9gKO2cXptphdP8cMsnGvZF5Noj8N3jLzI=", | ||||
|         "owner": "0xc000022070", | ||||
|         "repo": "zen-browser-flake", | ||||
|         "rev": "32f3692cc4d6a1d1cb8943be7d2e712a63c4b374", | ||||
|         "rev": "f8ef9c97ac2f49d5c04dbf3b3d80a0490c05fefb", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
							
								
								
									
										111
									
								
								nixos/flake.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										111
									
								
								nixos/flake.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,111 @@ | |||
| { | ||||
|   description = "Bart's NixOS Configuration"; | ||||
| 
 | ||||
|   inputs = { | ||||
|     zen-browser.url = "github:0xc000022070/zen-browser-flake"; | ||||
|   }; | ||||
| 
 | ||||
|   outputs = { nixpkgs, ... } @ inputs: | ||||
|   { | ||||
|     nixosConfigurations = { | ||||
|       tongfang = nixpkgs.lib.nixosSystem { | ||||
|         specialArgs = { inherit inputs; }; | ||||
|         modules = [ | ||||
|           ./hardware/tongfang.nix | ||||
|           ./configuration.nix | ||||
|           ./users.nix | ||||
|           ./packages.nix | ||||
|           ./services.nix | ||||
|         ]; | ||||
|       }; | ||||
| 
 | ||||
|       # tongfang = nixpkgs.lib.nixosSystem { | ||||
|       #   specialArgs = { inherit inputs; }; | ||||
|       #   modules = [ | ||||
|       #     ./hardware/tongfang.nix | ||||
| 
 | ||||
|       #     ./modules/kde.nix | ||||
|       #     ./modules/battery.nix | ||||
|       #     ./modules/bluetooth.nix | ||||
|       #     ./modules/bootloader.nix | ||||
|       #     ./modules/configuration.nix | ||||
|       #     ./modules/creative-tools.nix | ||||
|       #     ./modules/devops-tools.nix | ||||
|       #     ./modules/display-manager.nix | ||||
|       #     ./modules/environment-variables.nix | ||||
|       #     ./modules/firewall.nix | ||||
|       #     ./modules/fonts.nix | ||||
|       #     ./modules/gc.nix | ||||
|       #     ./modules/greeter.nix | ||||
|       #     ./modules/info-fetchers.nix | ||||
|       #     ./modules/internationalisation.nix | ||||
|       #     ./modules/keyboard.nix | ||||
|       #     ./modules/linux-kernel.nix | ||||
|       #     ./modules/lsp.nix | ||||
|       #     ./modules/networking.nix | ||||
|       #     ./modules/nix-settings.nix | ||||
|       #     ./modules/nixpkgs.nix | ||||
|       #     ./modules/open-ssh.nix | ||||
|       #     ./modules/printing.nix | ||||
|       #     ./modules/programming-languages.nix | ||||
|       #     ./modules/screen.nix | ||||
|       #     ./modules/services.nix | ||||
|       #     ./modules/sound.nix | ||||
|       #     ./modules/terminal-utils.nix | ||||
|       #     ./modules/theme.nix | ||||
|       #     ./modules/time.nix | ||||
|       #     ./modules/usb.nix | ||||
|       #     ./modules/users.nix | ||||
|       #     ./modules/utils.nix | ||||
|       #     ./modules/virtualisation.nix | ||||
|       #     ./modules/vpn.nix | ||||
|       #     ./modules/work.nix | ||||
|       #   ]; | ||||
|       # }; | ||||
| 
 | ||||
|       # qemu = nixpkgs.lib.nixosSystem { | ||||
|       #   specialArgs = { inherit inputs; }; | ||||
|       #   modules = [ | ||||
|       #     ./hardware/qemu.nix | ||||
| 
 | ||||
|       #     ./modules/kde.nix | ||||
|       #     # ./modules/battery.nix | ||||
|       #     # ./modules/bluetooth.nix | ||||
|       #     # ./modules/bootloader.nix | ||||
|       #     ./modules/configuration.nix | ||||
|       #     # ./modules/creative-tools.nix | ||||
|       #     # ./modules/devops-tools.nix | ||||
|       #     ./modules/display-manager.nix | ||||
|       #     # ./modules/environment-variables.nix | ||||
|       #     # ./modules/firewall.nix | ||||
|       #     # ./modules/fonts.nix | ||||
|       #     # ./modules/gc.nix | ||||
|       #     ./modules/greeter.nix | ||||
|       #     # ./modules/info-fetchers.nix | ||||
|       #     # ./modules/internationalisation.nix | ||||
|       #     # ./modules/keyboard.nix | ||||
|       #     # ./modules/linux-kernel.nix | ||||
|       #     # ./modules/lsp.nix | ||||
|       #     ./modules/networking.nix | ||||
|       #     ./modules/nix-settings.nix | ||||
|       #     # ./modules/nixpkgs.nix | ||||
|       #     # ./modules/open-ssh.nix | ||||
|       #     # ./modules/printing.nix | ||||
|       #     # ./modules/programming-languages.nix | ||||
|       #     # ./modules/screen.nix | ||||
|       #     # ./modules/services.nix | ||||
|       #     # ./modules/sound.nix | ||||
|       #     # ./modules/terminal-utils.nix | ||||
|       #     # ./modules/theme.nix | ||||
|       #     # ./modules/time.nix | ||||
|       #     # ./modules/usb.nix | ||||
|       #     ./modules/users.nix | ||||
|       #     # ./modules/utils.nix | ||||
|       #     # ./modules/virtualisation.nix | ||||
|       #     # ./modules/vpn.nix | ||||
|       #     # ./modules/work.nix | ||||
|       #   ]; | ||||
|       # }; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
							
								
								
									
										35
									
								
								nixos/hardware/qemu.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								nixos/hardware/qemu.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,35 @@ | |||
| # 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 + "/profiles/qemu-guest.nix") | ||||
|     ]; | ||||
| 
 | ||||
|   boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk" ]; | ||||
|   boot.initrd.kernelModules = [ ]; | ||||
|   boot.kernelModules = [ "kvm-amd" ]; | ||||
|   boot.extraModulePackages = [ ]; | ||||
| 
 | ||||
|   fileSystems."/" = | ||||
|     { device = "/dev/disk/by-uuid/d6b08f23-97da-4e41-b70c-90fcc35db534"; | ||||
|       fsType = "ext4"; | ||||
|     }; | ||||
| 
 | ||||
|   swapDevices = [ ]; | ||||
| 
 | ||||
|   # 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.wlp2s0.useDHCP = lib.mkDefault true; | ||||
| 
 | ||||
|   nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; | ||||
| 
 | ||||
|   boot.loader.grub.enable = true; | ||||
|   boot.loader.grub.device = "/dev/vda"; | ||||
|   boot.loader.grub.useOSProber = true; | ||||
| } | ||||
|  | @ -4,7 +4,7 @@ | |||
| { config, lib, pkgs, modulesPath, ... }: | ||||
| 
 | ||||
| let | ||||
|   yt6801 = import ./yt6801/default.nix { | ||||
|   yt6801 = import ./yt6801.nix { | ||||
|     inherit (pkgs) stdenv lib fetchzip; | ||||
|     kernel = pkgs.linuxPackages.kernel; | ||||
|   }; | ||||
							
								
								
									
										16
									
								
								nixos/modules/battery.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								nixos/modules/battery.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,16 @@ | |||
| { pkgs, ... }: | ||||
| 
 | ||||
| { | ||||
|   services.power-profiles-daemon.enable = false; | ||||
|   services.thermald.enable = true; | ||||
| 
 | ||||
|   services.tlp = { | ||||
|     enable = true; | ||||
|     settings = { | ||||
|       CPU_BOOST_ON_AC = 1; | ||||
|       CPU_BOOST_ON_BAT = 0; | ||||
|       CPU_SCALING_GOVERNOR_ON_AC = "performance"; | ||||
|       CPU_SCALING_GOVERNOR_ON_BAT = "powersave"; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
							
								
								
									
										12
									
								
								nixos/modules/bluetooth.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								nixos/modules/bluetooth.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,12 @@ | |||
| { pkgs, ... }: | ||||
| 
 | ||||
| { | ||||
|   # Only power the Bluetooth controller after logon | ||||
|   hardware.bluetooth.enable = true; | ||||
|   hardware.bluetooth.powerOnBoot = false; | ||||
| 
 | ||||
|   # Use Overskride bluetooth client | ||||
|   environment.systemPackages = with pkgs; [ | ||||
|     overskride | ||||
|   ]; | ||||
| } | ||||
							
								
								
									
										17
									
								
								nixos/modules/bootloader.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								nixos/modules/bootloader.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,17 @@ | |||
| { pkgs,  ... }: | ||||
| 
 | ||||
| { | ||||
|   # Bootloader options | ||||
|   boot.loader.systemd-boot.enable = true; | ||||
|   boot.loader.efi.canTouchEfiVariables = true; | ||||
|   boot.loader.timeout = 2; | ||||
|   boot.initrd.enable = true; | ||||
|   boot.initrd.systemd.enable = true; | ||||
|   boot.consoleLogLevel = 3; | ||||
|   boot.plymouth = { | ||||
|     enable = true; | ||||
|     font = "${pkgs.jetbrains-mono}/share/fonts/truetype/JetBrainsMono-Regular.ttf"; | ||||
|     themePackages = [ pkgs.nixos-bgrt-plymouth ]; | ||||
|     theme = "nixos-bgrt"; | ||||
|   }; | ||||
| } | ||||
							
								
								
									
										9
									
								
								nixos/modules/configuration.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								nixos/modules/configuration.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,9 @@ | |||
| # Edit trueconfiguration 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’). | ||||
| 
 | ||||
| { ... }: | ||||
| 
 | ||||
| { | ||||
|   system.stateVersion = "24.11"; | ||||
| } | ||||
							
								
								
									
										9
									
								
								nixos/modules/creative-tools.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								nixos/modules/creative-tools.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,9 @@ | |||
| { pkgs, ... }: | ||||
| 
 | ||||
| { | ||||
|   environment.systemPackages = with pkgs; [ | ||||
|     blender | ||||
|     inkscape | ||||
|     gimp | ||||
|   ]; | ||||
| } | ||||
							
								
								
									
										11
									
								
								nixos/modules/devops-tools.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								nixos/modules/devops-tools.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,11 @@ | |||
| { pkgs, ... }: | ||||
| 
 | ||||
| { | ||||
|   environment.systemPackages = with pkgs; [ | ||||
|     azure-cli | ||||
|     opentofu | ||||
|     curl | ||||
|     go-task | ||||
|     sops | ||||
|   ]; | ||||
| } | ||||
							
								
								
									
										18
									
								
								nixos/modules/display-manager.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								nixos/modules/display-manager.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,18 @@ | |||
| { pkgs, ... }: | ||||
| 
 | ||||
| { | ||||
|   # Enable Display Manager | ||||
|   services.greetd = { | ||||
|     enable = true; | ||||
|     settings = { | ||||
|       default_session = { | ||||
|         command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --time-format '%I:%M %p | %a • %h | %F' --cmd Hyprland"; | ||||
|         user = "greeter"; | ||||
|       }; | ||||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|   environment.systemPackages = with pkgs; [ | ||||
|     greetd.tuigreet | ||||
|   ]; | ||||
| } | ||||
							
								
								
									
										8
									
								
								nixos/modules/environment-variables.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								nixos/modules/environment-variables.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,8 @@ | |||
| { pkgs, ... }: | ||||
| 
 | ||||
| { | ||||
|   # Setup Env Variables | ||||
|   environment.variables.SPOTIFY_PATH = "${pkgs.spotify}/"; | ||||
|   environment.variables.JDK_PATH = "${pkgs.jdk11}/"; | ||||
|   environment.variables.NODEJS_PATH = "${pkgs.nodePackages_latest.nodejs}/"; | ||||
| } | ||||
							
								
								
									
										10
									
								
								nixos/modules/firewall.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								nixos/modules/firewall.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,10 @@ | |||
| { ... }: | ||||
| 
 | ||||
| { | ||||
|   # Open ports in the firewall. | ||||
|   networking.firewall.enable = true; | ||||
|   networking.firewall.allowedTCPPorts = [ ]; | ||||
|   networking.firewall.allowedUDPPorts = [  | ||||
|     5353 # Spotify Connect | ||||
|   ]; | ||||
| } | ||||
							
								
								
									
										10
									
								
								nixos/modules/fonts.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								nixos/modules/fonts.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,10 @@ | |||
| { pkgs, ... }: | ||||
| 
 | ||||
| { | ||||
|   # Fonts | ||||
|   fonts.packages = with pkgs; [ | ||||
|     jetbrains-mono | ||||
|     nerd-font-patcher | ||||
|     noto-fonts-color-emoji | ||||
|   ]; | ||||
| } | ||||
							
								
								
									
										6
									
								
								nixos/modules/gaming.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								nixos/modules/gaming.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,6 @@ | |||
| { pkgs, ... }: | ||||
| 
 | ||||
| { | ||||
|   # Enable Steam | ||||
|   programs.steam.enable = true; | ||||
| } | ||||
							
								
								
									
										16
									
								
								nixos/modules/gc.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								nixos/modules/gc.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,16 @@ | |||
| { ... }: | ||||
| 
 | ||||
| { | ||||
|   # Optimize storage and automatic scheduled GC running | ||||
|   # If you want to run GC manually, use commands: | ||||
|   # `nix-store --optimize` for finding and eliminating redundant copies of identical store paths | ||||
|   # `nix-store --gc` for optimizing the nix store and removing unreferenced and obsolete store paths | ||||
|   # `nix-collect-garbage -d` for deleting old generations of user profiles | ||||
|   nix.settings.auto-optimise-store = true; | ||||
|   nix.optimise.automatic = true; | ||||
|   nix.gc = { | ||||
|     automatic = true; | ||||
|     dates = "weekly"; | ||||
|     options = "--delete-older-than 14d"; | ||||
|   }; | ||||
| } | ||||
							
								
								
									
										10
									
								
								nixos/modules/gnome.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								nixos/modules/gnome.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,10 @@ | |||
| { pkgs, ... }: | ||||
| 
 | ||||
| { | ||||
|   services.xserver = { | ||||
|     enable = true; | ||||
|     xkb.layout = "us"; | ||||
|     desktopManager.gnome.enable = true; | ||||
|     displayManager.gdm.enable = true; | ||||
|   }; | ||||
| } | ||||
							
								
								
									
										18
									
								
								nixos/modules/greeter.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								nixos/modules/greeter.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,18 @@ | |||
| { pkgs, ... }: | ||||
| 
 | ||||
| { | ||||
|   # Enable Display Manager | ||||
|   services.greetd = { | ||||
|     enable = true; | ||||
|     settings = { | ||||
|       default_session = { | ||||
|         command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --time-format '%I:%M %p | %a • %h | %F' --cmd Hyprland"; | ||||
|         user = "greeter"; | ||||
|       }; | ||||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|   environment.systemPackages = with pkgs; [ | ||||
|     greetd.tuigreet | ||||
|   ]; | ||||
| } | ||||
							
								
								
									
										25
									
								
								nixos/modules/hyprland.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								nixos/modules/hyprland.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,25 @@ | |||
| { inputs, pkgs, ... }: | ||||
| 
 | ||||
| { | ||||
|   # Enable Hyprland | ||||
|   programs.hyprland.enable = true; | ||||
|   environment.sessionVariables.NIXOS_OZONE_WL = "1"; | ||||
|   environment.sessionVariables.WLR_NO_HARDWARE_CURSORS = "1"; | ||||
| 
 | ||||
|   environment.systemPackages = with pkgs; [ | ||||
|     pyprland # plugin system | ||||
|     hyprpicker # color picker | ||||
|     hyprcursor # cursor format | ||||
|     hyprlock # lock screen | ||||
|     hypridle # idle daemon | ||||
|     hyprpaper # wallpaper util | ||||
| 
 | ||||
|     inputs.ghostty.packages.${pkgs.system}.default # terminal emulator | ||||
|     starship # prompt | ||||
|     helix # txt editor | ||||
|     inputs.zen-browser.packages.${pkgs.system}.default # browser | ||||
|     zathura # pdf viewer | ||||
|     mpv # media player | ||||
|     imv # image viewer | ||||
|   ]; | ||||
| } | ||||
							
								
								
									
										28
									
								
								nixos/modules/info-fetchers.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								nixos/modules/info-fetchers.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,28 @@ | |||
| { pkgs, ... }: | ||||
| 
 | ||||
| { | ||||
|   environment.systemPackages = with pkgs; [ | ||||
|     neofetch | ||||
|     onefetch | ||||
|     ipfetch | ||||
|     cpufetch | ||||
|     ramfetch | ||||
|     starfetch | ||||
|     octofetch | ||||
|     htop | ||||
|     bottom | ||||
|     btop | ||||
|     zfxtop | ||||
|     kmon | ||||
| 
 | ||||
|     vulkan-tools | ||||
|     # opencl-info | ||||
|     # clinfo | ||||
|     # vdpauinfo | ||||
|     # libva-utils | ||||
|     wlr-randr | ||||
|     gpu-viewer | ||||
|     dig | ||||
|     speedtest-rs | ||||
|   ]; | ||||
| } | ||||
							
								
								
									
										30
									
								
								nixos/modules/internationalisation.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								nixos/modules/internationalisation.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,30 @@ | |||
| { pkgs, ... }: | ||||
| 
 | ||||
| { | ||||
|   i18n.supportedLocales = [ | ||||
|     "en_US.UTF-8/UTF-8" | ||||
|     "nl_NL.UTF-8/UTF-8" | ||||
|   ]; | ||||
|    | ||||
|   i18n.defaultLocale = "en_US.UTF-8"; | ||||
| 
 | ||||
|   i18n.extraLocaleSettings = { | ||||
|     LC_ADDRESS = "en_US.UTF-8"; | ||||
|     LC_IDENTIFICATION = "en_US.UTF-8"; | ||||
|     LC_MEASUREMENT = "en_US.UTF-8"; | ||||
|     LC_MONETARY = "en_US.UTF-8"; | ||||
|     LC_NAME = "en_US.UTF-8"; | ||||
|     LC_NUMERIC = "en_US.UTF-8"; | ||||
|     LC_PAPER = "en_US.UTF-8"; | ||||
|     LC_TELEPHONE = "en_US.UTF-8"; | ||||
|     LC_TIME = "en_US.UTF-8"; | ||||
|   }; | ||||
| 
 | ||||
|   environment.systemPackages = with pkgs; [ | ||||
|     nuspell | ||||
|     hyphen | ||||
|     hunspell | ||||
|     hunspellDicts.en_US | ||||
|     hunspellDicts.nl_NL | ||||
|   ]; | ||||
| } | ||||
							
								
								
									
										11
									
								
								nixos/modules/kde.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								nixos/modules/kde.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,11 @@ | |||
| { pkgs, ... }: | ||||
| 
 | ||||
| { | ||||
|   # Enable KDE Plasma 6 | ||||
|   services.xserver.enable = true; | ||||
|   services.displayManager.sddm = { | ||||
|     enable = true; | ||||
|     wayland.enable = true; | ||||
|   }; | ||||
|   services.desktopManager.plasma6.enable = true; | ||||
| } | ||||
							
								
								
									
										14
									
								
								nixos/modules/keyboard.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								nixos/modules/keyboard.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,14 @@ | |||
| { pkgs, ... }: | ||||
| 
 | ||||
| { | ||||
|   services.xserver = { | ||||
|     xkb.layout = "us"; | ||||
|     xkb.options = "grp:alt_shift_toggle"; | ||||
|   }; | ||||
| 
 | ||||
|   environment.systemPackages = with pkgs; [ | ||||
|     klavaro # typing tutor | ||||
|     gtypist # typing tutor | ||||
|     via # keyboard configurator | ||||
|   ]; | ||||
| } | ||||
							
								
								
									
										21
									
								
								nixos/modules/linux-kernel.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								nixos/modules/linux-kernel.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,21 @@ | |||
| { pkgs, ... }: | ||||
| 
 | ||||
| { | ||||
|   # Linux Kernel | ||||
|   boot.kernelPackages = pkgs.linuxKernel.packages.linux_zen; | ||||
|   boot.kernelParams = [  | ||||
|     "splash" | ||||
|     "quiet" | ||||
|     "fbcon=nodefer" | ||||
|     "vt.global_cursor_default=0" | ||||
|     "kernel.modules_disabled=1" | ||||
|     "lsm=landlock,lockdown,yama,integrity,bpf,tomoyo" | ||||
|     "usbcore.autosuspend=-1" | ||||
|     "video4linux" | ||||
|     "acpi_rev_override=5" | ||||
|   ]; | ||||
| 
 | ||||
|   environment.systemPackages = with pkgs; [ | ||||
|     policycoreutils | ||||
|   ]; | ||||
| } | ||||
							
								
								
									
										31
									
								
								nixos/modules/lsp.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								nixos/modules/lsp.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,31 @@ | |||
| { pkgs, ... }: | ||||
| 
 | ||||
| { | ||||
|   environment.systemPackages = with pkgs; [ | ||||
|     python311Packages.python-lsp-server | ||||
|     nodePackages_latest.nodemon | ||||
|     nodePackages_latest.typescript | ||||
|     nodePackages_latest.typescript-language-server | ||||
|     nodePackages_latest.vscode-langservers-extracted | ||||
|     nodePackages_latest.yaml-language-server | ||||
|     nodePackages_latest.dockerfile-language-server-nodejs | ||||
|     nodePackages_latest.bash-language-server | ||||
|     nodePackages_latest.graphql-language-service-cli | ||||
|     sumneko-lua-language-server | ||||
|     marksman | ||||
|     markdown-oxide | ||||
|     nil | ||||
|     zls | ||||
|     gopls | ||||
|     delve | ||||
|     emmet-language-server | ||||
|     buf | ||||
|     cmake-language-server | ||||
|     docker-compose-language-service | ||||
|     vscode-extensions.vadimcn.vscode-lldb | ||||
|     slint-lsp | ||||
|     terraform-ls | ||||
|     ansible-language-server | ||||
|     hyprls | ||||
|   ];   | ||||
| } | ||||
							
								
								
									
										13
									
								
								nixos/modules/networking.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								nixos/modules/networking.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,13 @@ | |||
| { pkgs, ... }: | ||||
| 
 | ||||
| { | ||||
|   # Enable networking | ||||
|   networking.hostName = "tongfang"; | ||||
|   networking.networkmanager.enable = true; | ||||
|   users.extraGroups.networkmanager.members = [ "bart" ]; | ||||
|    | ||||
|   environment.systemPackages = with pkgs; [ | ||||
|     iwgtk | ||||
|     impala | ||||
|   ]; | ||||
| } | ||||
							
								
								
									
										8
									
								
								nixos/modules/nix-settings.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								nixos/modules/nix-settings.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,8 @@ | |||
| { ... }: | ||||
| 
 | ||||
| { | ||||
|   # Nix Configuration | ||||
|   nix.settings = { | ||||
|     experimental-features = [ "nix-command" "flakes" ];     | ||||
|   }; | ||||
| } | ||||
							
								
								
									
										6
									
								
								nixos/modules/nixpkgs.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								nixos/modules/nixpkgs.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,6 @@ | |||
| { ... }: | ||||
| 
 | ||||
| { | ||||
|   # Allow unfree packages | ||||
|   nixpkgs.config.allowUnfree = true; | ||||
| } | ||||
							
								
								
									
										14
									
								
								nixos/modules/open-ssh.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								nixos/modules/open-ssh.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,14 @@ | |||
| { pkgs, ... }: | ||||
| 
 | ||||
| { | ||||
|   # Enable the OpenSSH daemon. | ||||
|   services.openssh = { | ||||
|     enable = true; | ||||
|     settings = { | ||||
|       PasswordAuthentication = false; | ||||
|       KbdInteractiveAuthentication = false; | ||||
|       PermitRootLogin = "no"; | ||||
|       AllowUsers = [ "bart" ]; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
							
								
								
									
										8
									
								
								nixos/modules/printing.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								nixos/modules/printing.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,8 @@ | |||
| { ... }: | ||||
| 
 | ||||
| { | ||||
|   # Enable CUPS to print documents. | ||||
|   services.printing.enable = true; | ||||
|   # Disable browsed: https://discourse.nixos.org/t/newly-announced-vulnerabilities-in-cups | ||||
|   services.printing.browsed.enable = false; | ||||
| } | ||||
							
								
								
									
										13
									
								
								nixos/modules/programming-languages.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								nixos/modules/programming-languages.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,13 @@ | |||
| { pkgs, ... }: | ||||
| 
 | ||||
| { | ||||
|   environment.systemPackages = with pkgs; [ | ||||
|     go | ||||
|     (python312Full.withPackages(ps: with ps; [ pygobject3 gobject-introspection pyqt6-sip])) | ||||
|     nodePackages_latest.nodejs | ||||
|     nodePackages_latest.pnpm | ||||
|     bun | ||||
|     lua | ||||
|     zig | ||||
|   ]; | ||||
| } | ||||
							
								
								
									
										10
									
								
								nixos/modules/screen.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								nixos/modules/screen.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,10 @@ | |||
| { pkgs, ... }: | ||||
| 
 | ||||
| { | ||||
|   programs.light.enable = true; | ||||
| 
 | ||||
|   environment.systemPackages = with pkgs; [ | ||||
|     wlsunset | ||||
|     brightnessctl | ||||
|   ]; | ||||
| } | ||||
							
								
								
									
										56
									
								
								nixos/modules/services.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								nixos/modules/services.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,56 @@ | |||
| { pkgs, ... }: | ||||
| 
 | ||||
| { | ||||
|   # Systemd services setup | ||||
|   systemd.packages = with pkgs; [ | ||||
|     auto-cpufreq | ||||
|   ]; | ||||
|    | ||||
|   # Enable Services | ||||
|   programs.direnv.enable = true; | ||||
|   services.upower.enable = true; | ||||
|   programs.dconf.enable = true; | ||||
|   services.dbus = { | ||||
|     enable = true; | ||||
|     implementation = "broker"; | ||||
|     packages = with pkgs; [ | ||||
|       xfce.xfconf | ||||
|       gnome2.GConf | ||||
|     ]; | ||||
|   }; | ||||
|   services.mpd.enable = true; | ||||
|   programs.thunar.enable = true; | ||||
|   programs.xfconf.enable = true; | ||||
|   services.tumbler.enable = true;  | ||||
|   services.fwupd.enable = true; | ||||
|   services.auto-cpufreq.enable = true; | ||||
|   # services.gnome.core-shell.enable = true; | ||||
|   # services.udev.packages = with pkgs; [ gnome.gnome-settings-daemon ]; | ||||
| 
 | ||||
|   environment.systemPackages = with pkgs; [ | ||||
|     at-spi2-atk | ||||
|     qt6.qtwayland | ||||
|     psi-notify | ||||
|     poweralertd | ||||
|     playerctl | ||||
|     psmisc | ||||
|     grim | ||||
|     slurp | ||||
|     imagemagick | ||||
|     swappy | ||||
|     ffmpeg_6-full | ||||
|     wl-screenrec | ||||
|     wl-clipboard | ||||
|     wl-clip-persist | ||||
|     cliphist | ||||
|     xdg-utils | ||||
|     wtype | ||||
|     wlrctl | ||||
|     waybar | ||||
|     rofi-wayland | ||||
|     dunst | ||||
|     avizo | ||||
|     wlogout | ||||
|     gifsicle | ||||
|   ]; | ||||
| } | ||||
							
								
								
									
										25
									
								
								nixos/modules/sound.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								nixos/modules/sound.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,25 @@ | |||
| { pkgs, ... }: | ||||
| 
 | ||||
| { | ||||
|   # Enable sound with pipewire. | ||||
|   services.pulseaudio.enable = false; | ||||
|   security.rtkit.enable = true; | ||||
|   services.pipewire = { | ||||
|     enable = true; | ||||
|     alsa.enable = true; | ||||
|     alsa.support32Bit = true; | ||||
|     pulse.enable = true; | ||||
|     wireplumber.enable = true; | ||||
|     # If you want to use JACK applications, uncomment this | ||||
|     # jack.enable = true; | ||||
| 
 | ||||
|     # use the example session manager (no others are packaged yet so this is enabled by default, | ||||
|     # no need to redefine it in your config for now) | ||||
|     # media-session.enable = true; | ||||
|   }; | ||||
| 
 | ||||
|   environment.systemPackages = with pkgs; [ | ||||
|     pamixer | ||||
|     pavucontrol | ||||
|   ]; | ||||
| } | ||||
							
								
								
									
										59
									
								
								nixos/modules/terminal-utils.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								nixos/modules/terminal-utils.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,59 @@ | |||
| { pkgs, ... }: | ||||
| 
 | ||||
| { | ||||
|   environment.systemPackages = with pkgs; [ | ||||
|     file | ||||
|     upx | ||||
|     git | ||||
|     lazygit | ||||
|     delta | ||||
|     license-generator | ||||
|     git-ignore | ||||
|     gitleaks | ||||
|     git-secrets | ||||
|     pass-git-helper | ||||
|     just | ||||
|     xh | ||||
|     process-compose | ||||
|     # mcfly # terminal history | ||||
|     zellij | ||||
|     progress | ||||
|     noti | ||||
|     topgrade | ||||
|     ripgrep | ||||
|     rewrk | ||||
|     wrk2 | ||||
|     procs | ||||
|     tealdeer | ||||
|     monolith | ||||
|     aria | ||||
|     sd | ||||
|     ouch | ||||
|     duf | ||||
|     du-dust | ||||
|     fd | ||||
|     jq | ||||
|     gh | ||||
|     trash-cli | ||||
|     zoxide | ||||
|     tokei | ||||
|     fzf | ||||
|     bat | ||||
|     hexyl | ||||
|     mdcat | ||||
|     pandoc | ||||
|     lsd | ||||
|     lsof | ||||
|     gping | ||||
|     viu | ||||
|     tre-command | ||||
|     yazi | ||||
|     chafa | ||||
| 
 | ||||
|     cmatrix | ||||
|     pipes-rs | ||||
|     rsclock | ||||
|     cava | ||||
|     figlet | ||||
|   ]; | ||||
| } | ||||
							
								
								
									
										62
									
								
								nixos/modules/theme.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								nixos/modules/theme.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,62 @@ | |||
| { pkgs, ... }: | ||||
| 
 | ||||
| { | ||||
|   # Enable Theme | ||||
|   environment.variables.GTK_THEME = "catppuccin-macchiato-teal-standard"; | ||||
|   environment.variables.XCURSOR_THEME = "Catppuccin-Macchiato-Teal"; | ||||
|   environment.variables.XCURSOR_SIZE = "24"; | ||||
|   environment.variables.HYPRCURSOR_THEME = "Catppuccin-Macchiato-Teal"; | ||||
|   environment.variables.HYPRCURSOR_SIZE = "24"; | ||||
|   qt.enable = true; | ||||
|   qt.platformTheme = "gtk2"; | ||||
|   qt.style = "gtk2"; | ||||
|   console = { | ||||
|     earlySetup = true; | ||||
|     colors = [ | ||||
|       "24273a" | ||||
|       "ed8796" | ||||
|       "a6da95" | ||||
|       "eed49f" | ||||
|       "8aadf4" | ||||
|       "f5bde6" | ||||
|       "8bd5ca" | ||||
|       "cad3f5" | ||||
|       "5b6078" | ||||
|       "ed8796" | ||||
|       "a6da95" | ||||
|       "eed49f" | ||||
|       "8aadf4" | ||||
|       "f5bde6" | ||||
|       "8bd5ca" | ||||
|       "a5adcb" | ||||
|     ]; | ||||
|   }; | ||||
| 
 | ||||
|   # Override packages | ||||
|   nixpkgs.config.packageOverrides = pkgs: { | ||||
|     colloid-icon-theme = pkgs.colloid-icon-theme.override { colorVariants = ["teal"]; }; | ||||
|     catppuccin-gtk = pkgs.catppuccin-gtk.override { | ||||
|       accents = [ "teal" ]; # You can specify multiple accents here to output multiple themes  | ||||
|       size = "standard"; | ||||
|       variant = "macchiato"; | ||||
|     }; | ||||
|     discord = pkgs.discord.override { | ||||
|       withOpenASAR = true; | ||||
|       withTTS = true; | ||||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|   environment.systemPackages = with pkgs; [ | ||||
|     numix-icon-theme-circle | ||||
|     colloid-icon-theme | ||||
|     catppuccin-gtk | ||||
|     catppuccin-kvantum | ||||
|     catppuccin-cursors.macchiatoTeal | ||||
| 
 | ||||
|     # gnome.gnome-tweaks | ||||
|     # gnome.gnome-shell | ||||
|     # gnome.gnome-shell-extensions | ||||
|     # xsettingsd | ||||
|     # themechanger | ||||
|   ]; | ||||
| } | ||||
							
								
								
									
										7
									
								
								nixos/modules/time.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								nixos/modules/time.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,7 @@ | |||
| { ... }: | ||||
| 
 | ||||
| { | ||||
|   # Set your time zone. | ||||
|   time.hardwareClockInLocalTime = true; | ||||
|   time.timeZone = "Europe/Amsterdam"; | ||||
| } | ||||
							
								
								
									
										25
									
								
								nixos/modules/usb.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								nixos/modules/usb.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,25 @@ | |||
| { pkgs, ... }: | ||||
| 
 | ||||
| { | ||||
|   # USB Automounting | ||||
|   services.gvfs.enable = true; | ||||
|   # services.udisks2.enable = true; | ||||
|   # services.devmon.enable = true; | ||||
| 
 | ||||
|   # Enable USB Guard | ||||
|   # services.usbguard = { | ||||
|   #   enable = true; | ||||
|   #   dbus.enable = true; | ||||
|   #   implicitPolicyTarget = "block"; | ||||
|   #   # FIXME: set yours pref USB devices (change {id} to your trusted USB device), use `lsusb` command (from usbutils package) to get list of all connected USB devices including integrated devices like camera, bluetooth, wifi, etc. with their IDs or just disable `usbguard` | ||||
|   #   rules = '' | ||||
|   #     allow id {id} # device 1 | ||||
|   #     allow id {id} # device 2 | ||||
|   #   ''; | ||||
|   # }; | ||||
| 
 | ||||
|   # Enable USB-specific packages | ||||
|   environment.systemPackages = with pkgs; [ | ||||
|     usbutils | ||||
|   ]; | ||||
| } | ||||
							
								
								
									
										19
									
								
								nixos/modules/users.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								nixos/modules/users.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,19 @@ | |||
| { pkgs, ... }: | ||||
| 
 | ||||
| { | ||||
|   # Define a user account. | ||||
|   users.users.bart = { | ||||
|     isNormalUser = true; | ||||
|     description = "Bart van der Braak"; | ||||
|     extraGroups = [ "networkmanager" "input" "wheel" "video" "audio" "tss" ]; | ||||
|     shell = pkgs.bash; | ||||
|     packages = with pkgs; [ | ||||
|       spotify | ||||
|       discord | ||||
|       vscodium | ||||
|     ]; | ||||
|   }; | ||||
| 
 | ||||
|   # Change runtime directory size | ||||
|   services.logind.extraConfig = "RuntimeDirectorySize=8G"; | ||||
| } | ||||
							
								
								
									
										18
									
								
								nixos/modules/utils.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								nixos/modules/utils.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,18 @@ | |||
| { pkgs, ... }: | ||||
| 
 | ||||
| { | ||||
|   environment.systemPackages = with pkgs; [ | ||||
|     mold | ||||
|     gcc | ||||
|     clang | ||||
|     lld | ||||
|     lldb | ||||
|     musl | ||||
|     jdk11 | ||||
|     dioxus-cli | ||||
|     surrealdb | ||||
|     surrealdb-migrations | ||||
|     surrealist | ||||
|     trunk | ||||
|   ]; | ||||
| } | ||||
							
								
								
									
										23
									
								
								nixos/modules/virtualisation.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								nixos/modules/virtualisation.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,23 @@ | |||
| { pkgs, ... }: | ||||
| 
 | ||||
| { | ||||
|   # Enable Docker | ||||
|   virtualisation.docker.enable = true; | ||||
|   virtualisation.docker.rootless = { | ||||
|     enable = true; | ||||
|     setSocketVariable = true; | ||||
|   }; | ||||
|   users.extraGroups.docker.members = [ "bart" ]; | ||||
| 
 | ||||
|   # Add KVM support | ||||
|   virtualisation.libvirtd.enable = true; | ||||
|   programs.virt-manager.enable = true; | ||||
|   users.extraGroups.libvirtd.members = [ "bart" ]; | ||||
| 
 | ||||
|   environment.systemPackages = with pkgs; [ | ||||
|     qemu | ||||
|     docker-compose | ||||
|     lazydocker | ||||
|     docker-credential-helpers | ||||
|   ]; | ||||
| } | ||||
							
								
								
									
										12
									
								
								nixos/modules/vpn.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								nixos/modules/vpn.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,12 @@ | |||
| { pkgs, ... }: | ||||
| 
 | ||||
| { | ||||
|   # Enable Mullvad VPN, OpenVPN via Network Manager and Tailscale | ||||
|   services.mullvad-vpn.enable = true; | ||||
|   services.mullvad-vpn.package = pkgs.mullvad; | ||||
|   services.tailscale.enable = true; | ||||
|   environment.systemPackages = with pkgs; [ | ||||
|     networkmanager-openvpn | ||||
|     mullvad-closest | ||||
|   ]; | ||||
| } | ||||
							
								
								
									
										12
									
								
								nixos/modules/work.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								nixos/modules/work.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,12 @@ | |||
| { pkgs, ... }: | ||||
| 
 | ||||
| { | ||||
|   environment.systemPackages = with pkgs; [ | ||||
|     thunderbird | ||||
|     element-desktop | ||||
|     aws-sam-cli | ||||
|     awscli2 | ||||
|     gnumake | ||||
|     cmake | ||||
|   ]; | ||||
| } | ||||
							
								
								
									
										19
									
								
								nixos/symlink.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										19
									
								
								nixos/symlink.sh
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,19 @@ | |||
| #!/usr/bin/env bash | ||||
| 
 | ||||
| nixos_home="${1:-$(dirname "$(realpath "$0")")}" | ||||
| 
 | ||||
| # Check if the symlink exists and is valid | ||||
| if [ -L /etc/nixos ] && [ -e /etc/nixos ]; then | ||||
|     echo "The symlink /etc/nixos already exists and is valid. Exiting." | ||||
|     exit 0 | ||||
| fi | ||||
| 
 | ||||
| # Backup current /etc/nixos if it exists | ||||
| if [ -e /etc/nixos ]; then | ||||
|     mv /etc/nixos /etc/nixos.bak | ||||
|     echo "Created backup of current /etc/nixos" | ||||
| fi | ||||
| 
 | ||||
| # Create symlink | ||||
| ln -s "$nixos_home" /etc/nixos | ||||
| echo "Symlinked /etc/nixos to $nixos_home" | ||||
|  | @ -1 +0,0 @@ | |||
| {:window/native-titlebar? true} | ||||
|  | @ -1,2 +0,0 @@ | |||
| [user] | ||||
| 	email = bart@blender.org | ||||
|  | @ -1 +0,0 @@ | |||
| Subproject commit 4120893b8a1f31a0957f2f891f7fbef73ddfb9b1 | ||||
|  | @ -1,17 +0,0 @@ | |||
| { | ||||
|   description = "TongFang NixOS flake"; | ||||
| 
 | ||||
|   inputs = { | ||||
|     zen-browser.url = "github:0xc000022070/zen-browser-flake"; | ||||
|   }; | ||||
| 
 | ||||
|   outputs = { self, nixpkgs, ... }@inputs: { | ||||
|     nixosConfigurations.tongfang = nixpkgs.lib.nixosSystem { | ||||
|       system = "x86_64-linux"; | ||||
|       modules = [ | ||||
|         ./configuration.nix | ||||
|       ]; | ||||
|       specialArgs = { inherit inputs; }; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
|  | @ -1,9 +0,0 @@ | |||
| #!/usr/bin/env bash | ||||
| 
 | ||||
| if cp --version &>/dev/null; then | ||||
|     dotfiles_home="${1:-$(dirname "$(realpath "$0")")}" | ||||
|     cp -rsf "$dotfiles_home"/. $HOME | ||||
|     echo "dotfiles symlinks recursively copied from $dotfiles_home to $HOME." | ||||
| else | ||||
|     echo "GNU cp required." | ||||
| fi | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue