Configuration for my NixOS based systems and Home Manager

Compare changes

Choose any two refs to compare.

+1666 -984
+6
boot.nix
···
··· 1 + { ... }: 2 + { 3 + # Use the systemd-boot EFI boot loader. 4 + boot.loader.systemd-boot.enable = true; 5 + boot.loader.efi.canTouchEfiVariables = true; 6 + }
+71
configuration.nix
···
··· 1 + # Edit this configuration file to define what should be installed on 2 + ## your system. Help is available in the configuration.nix(5) man page, on 3 + # https://search.nixos.org/options and in the NixOS manual (`nixos-help`). 4 + 5 + { ... }: 6 + let 7 + agenix = builtins.fetchTarball "https://github.com/ryantm/agenix/archive/main.tar.gz"; 8 + in 9 + { 10 + imports = 11 + [ 12 + # Include the results of the hardware scan. 13 + ./hardware-configuration.nix 14 + ./boot.nix 15 + ./networking.nix 16 + ./gui.nix 17 + (import "${agenix}/modules/age.nix") 18 + ./users.nix 19 + ./packages.nix 20 + ./services.nix 21 + ]; 22 + 23 + # Set your time zone. 24 + time.timeZone = "America/Chicago"; 25 + 26 + # Select internationalisation properties. 27 + i18n.defaultLocale = "en_US.UTF-8"; 28 + # console = { 29 + # font = "Lat2-Terminus16"; 30 + # keyMap = "us"; 31 + # useXkbConfig = true; # use xkb.options in tty. 32 + # }; 33 + 34 + # Copy the NixOS configuration file and link it from the resulting system 35 + # (/run/current-system/configuration.nix). This is useful in case you 36 + # accidentally delete configuration.nix. 37 + system.copySystemConfiguration = true; 38 + 39 + # Automatic doc cache generation 40 + documentation.man.generateCaches = true; 41 + 42 + # Automatic system upgrades 43 + system.autoUpgrade = { 44 + enable = true; 45 + dates = "09:00"; 46 + randomizedDelaySec = "45min"; 47 + }; 48 + 49 + # Automatic Garbage Collection 50 + nix.gc.automatic = true; 51 + nix.gc.options = "--delete-older-than 8d"; 52 + 53 + # This option defines the first version of NixOS you have installed on this particular machine, 54 + # and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions. 55 + # 56 + # Most users should NEVER change this value after the initial install, for any reason, 57 + # even if you've upgraded your system to a new NixOS release. 58 + # 59 + # This value does NOT affect the Nixpkgs version your packages and OS are pulled from, 60 + # so changing it will NOT upgrade your system. 61 + # 62 + # This value being lower than the current NixOS release does NOT mean your system is 63 + # out of date, out of support, or vulnerable. 64 + # 65 + # Do NOT change this value unless you have manually inspected all the changes it would make to your configuration, 66 + # and migrated your data accordingly. 67 + # 68 + # For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion . 69 + system.stateVersion = "23.11"; # Did you read the comment? 70 + 71 + }
+12 -25
fish/config.fish
··· 17 abbr gd "git diff" 18 abbr ga "git add" 19 abbr glog "git log โ€“graph โ€“decorate โ€“oneline โ€“all" 20 - abbr hm home-manager 21 - abbr cdhm cd $HOME/.config/home-manager 22 23 abbr srhtclone "git clone git@git.sr.ht:~chiefnoah/" 24 abbr ghclone "git clone git@github.com:chiefnoah/" 25 26 - if test -d "$HOME/repos" 27 alias r "cd ~/repos" 28 end 29 30 - if test -d "$HOME/repos/ambient" 31 - alias amb "cd ~/repos/ambient" 32 - end 33 34 # PATH stuff 35 ··· 44 end 45 46 # NATS config 47 - if test -d /srv/nats 48 - set -Ux NATS_URL tls://nats.packetlost.dev 49 - set -Ux NATS_CA /srv/nats/minica.pem 50 - set -Ux NATS_CERT /srv/nats/odin.packetlost.dev/cert.pem 51 - set -Ux NATS_KEY /srv/nats/odin.packetlost.dev/key.pem 52 - end 53 54 - function add_to_path_if_exists -a directory 55 - if test -d "$directory" 56 - fish_add_path "$directory" 57 - end 58 - end 59 - 60 - add_to_path_if_exists "$HOME/.local/share/solana/install/active_release/bin" 61 - add_to_path_if_exists "$HOME/.local/bin" 62 - add_to_path_if_exists "$HOME/.cargo/bin" 63 - add_to_path_if_exists "$HOME/go/bin" 64 - add_to_path_if_exists "$HOME/.gerbil/bin" 65 - add_to_path_if_exists "/opt/gerbil/bin" 66 - 67 fish_default_key_bindings
··· 17 abbr gd "git diff" 18 abbr ga "git add" 19 abbr glog "git log โ€“graph โ€“decorate โ€“oneline โ€“all" 20 + if type -q "emanote" 21 + abbr n "cd ~/repos/notes" 22 + abbr ne "cd ~/repos/notes; nvim" 23 + end 24 25 abbr srhtclone "git clone git@git.sr.ht:~chiefnoah/" 26 abbr ghclone "git clone git@github.com:chiefnoah/" 27 28 + if test -d "~/repos" 29 alias r "cd ~/repos" 30 end 31 32 + # We start the ssh-agent in noah-home.nix, so we'll add the socket to the environment 33 + set -Ux SSH_AUTH_SOCK /var/run/user/(id -u)/ssh-agent 34 35 # PATH stuff 36 ··· 45 end 46 47 # NATS config 48 + set -Ux NATS_URL tls://nats.packetlost.dev 49 + set -Ux NATS_CA /srv/nats/minica.pem 50 + set -Ux NATS_CERT /srv/nats/odin.packetlost.dev/cert.pem 51 + set -Ux NATS_KEY /srv/nats/odin.packetlost.dev/key.pem 52 53 + # Keybindings 54 fish_default_key_bindings
-200
fish/functions/fzf_key_bindings.fish
··· 1 - ### key-bindings.fish ### 2 - # ____ ____ 3 - # / __/___ / __/ 4 - # / /_/_ / / /_ 5 - # / __/ / /_/ __/ 6 - # /_/ /___/_/ key-bindings.fish 7 - # 8 - # - $FZF_TMUX_OPTS 9 - # - $FZF_CTRL_T_COMMAND 10 - # - $FZF_CTRL_T_OPTS 11 - # - $FZF_CTRL_R_OPTS 12 - # - $FZF_ALT_C_COMMAND 13 - # - $FZF_ALT_C_OPTS 14 - 15 - status is-interactive; or exit 0 16 - 17 - 18 - # Key bindings 19 - # ------------ 20 - function fzf_key_bindings 21 - 22 - function __fzf_defaults 23 - # $1: Prepend to FZF_DEFAULT_OPTS_FILE and FZF_DEFAULT_OPTS 24 - # $2: Append to FZF_DEFAULT_OPTS_FILE and FZF_DEFAULT_OPTS 25 - test -n "$FZF_TMUX_HEIGHT"; or set FZF_TMUX_HEIGHT 40% 26 - echo "--height $FZF_TMUX_HEIGHT --bind=ctrl-z:ignore" $argv[1] 27 - command cat "$FZF_DEFAULT_OPTS_FILE" 2> /dev/null 28 - echo $FZF_DEFAULT_OPTS $argv[2] 29 - end 30 - 31 - # Store current token in $dir as root for the 'find' command 32 - function fzf-file-widget -d "List files and folders" 33 - set -l commandline (__fzf_parse_commandline) 34 - set -lx dir $commandline[1] 35 - set -l fzf_query $commandline[2] 36 - set -l prefix $commandline[3] 37 - 38 - test -n "$FZF_TMUX_HEIGHT"; or set FZF_TMUX_HEIGHT 40% 39 - begin 40 - set -lx FZF_DEFAULT_OPTS (__fzf_defaults "--reverse --walker=file,dir,follow,hidden --scheme=path --walker-root='$dir'" "$FZF_CTRL_T_OPTS") 41 - set -lx FZF_DEFAULT_COMMAND "$FZF_CTRL_T_COMMAND" 42 - set -lx FZF_DEFAULT_OPTS_FILE '' 43 - eval (__fzfcmd)' -m --query "'$fzf_query'"' | while read -l r; set result $result $r; end 44 - end 45 - if [ -z "$result" ] 46 - commandline -f repaint 47 - return 48 - else 49 - # Remove last token from commandline. 50 - commandline -t "" 51 - end 52 - for i in $result 53 - commandline -it -- $prefix 54 - commandline -it -- (string escape $i) 55 - commandline -it -- ' ' 56 - end 57 - commandline -f repaint 58 - end 59 - 60 - function fzf-history-widget -d "Show command history" 61 - test -n "$FZF_TMUX_HEIGHT"; or set FZF_TMUX_HEIGHT 40% 62 - begin 63 - set -l FISH_MAJOR (echo $version | cut -f1 -d.) 64 - set -l FISH_MINOR (echo $version | cut -f2 -d.) 65 - 66 - # merge history from other sessions before searching 67 - if test -z "$fish_private_mode" 68 - builtin history merge 69 - end 70 - 71 - # history's -z flag is needed for multi-line support. 72 - # history's -z flag was added in fish 2.4.0, so don't use it for versions 73 - # before 2.4.0. 74 - if [ "$FISH_MAJOR" -gt 2 -o \( "$FISH_MAJOR" -eq 2 -a "$FISH_MINOR" -ge 4 \) ]; 75 - if type -P perl > /dev/null 2>&1 76 - set -lx FZF_DEFAULT_OPTS (__fzf_defaults "" "-n2..,.. --scheme=history --bind=ctrl-r:toggle-sort --wrap-sign '"\t"โ†ณ ' --highlight-line $FZF_CTRL_R_OPTS +m") 77 - set -lx FZF_DEFAULT_OPTS_FILE '' 78 - builtin history -z --reverse | command perl -0 -pe 's/^/$.\t/g; s/\n/\n\t/gm' | eval (__fzfcmd) --tac --read0 --print0 -q '(commandline)' | command perl -pe 's/^\d*\t//' | read -lz result 79 - and commandline -- $result 80 - else 81 - set -lx FZF_DEFAULT_OPTS (__fzf_defaults "" "--scheme=history --bind=ctrl-r:toggle-sort --wrap-sign '"\t"โ†ณ ' --highlight-line $FZF_CTRL_R_OPTS +m") 82 - set -lx FZF_DEFAULT_OPTS_FILE '' 83 - builtin history -z | eval (__fzfcmd) --read0 --print0 -q '(commandline)' | read -lz result 84 - and commandline -- $result 85 - end 86 - else 87 - builtin history | eval (__fzfcmd) -q '(commandline)' | read -l result 88 - and commandline -- $result 89 - end 90 - end 91 - commandline -f repaint 92 - end 93 - 94 - function fzf-cd-widget -d "Change directory" 95 - set -l commandline (__fzf_parse_commandline) 96 - set -lx dir $commandline[1] 97 - set -l fzf_query $commandline[2] 98 - set -l prefix $commandline[3] 99 - 100 - test -n "$FZF_TMUX_HEIGHT"; or set FZF_TMUX_HEIGHT 40% 101 - begin 102 - set -lx FZF_DEFAULT_OPTS (__fzf_defaults "--reverse --walker=dir,follow,hidden --scheme=path --walker-root='$dir'" "$FZF_ALT_C_OPTS") 103 - set -lx FZF_DEFAULT_OPTS_FILE '' 104 - set -lx FZF_DEFAULT_COMMAND "$FZF_ALT_C_COMMAND" 105 - eval (__fzfcmd)' +m --query "'$fzf_query'"' | read -l result 106 - 107 - if [ -n "$result" ] 108 - cd -- $result 109 - 110 - # Remove last token from commandline. 111 - commandline -t "" 112 - commandline -it -- $prefix 113 - end 114 - end 115 - 116 - commandline -f repaint 117 - end 118 - 119 - function __fzfcmd 120 - test -n "$FZF_TMUX"; or set FZF_TMUX 0 121 - test -n "$FZF_TMUX_HEIGHT"; or set FZF_TMUX_HEIGHT 40% 122 - if [ -n "$FZF_TMUX_OPTS" ] 123 - echo "fzf-tmux $FZF_TMUX_OPTS -- " 124 - else if [ $FZF_TMUX -eq 1 ] 125 - echo "fzf-tmux -d$FZF_TMUX_HEIGHT -- " 126 - else 127 - echo "fzf" 128 - end 129 - end 130 - 131 - bind \cr fzf-history-widget 132 - if not set -q FZF_CTRL_T_COMMAND; or test -n "$FZF_CTRL_T_COMMAND" 133 - bind \ct fzf-file-widget 134 - end 135 - if not set -q FZF_ALT_C_COMMAND; or test -n "$FZF_ALT_C_COMMAND" 136 - bind \ec fzf-cd-widget 137 - end 138 - 139 - if bind -M insert > /dev/null 2>&1 140 - bind -M insert \cr fzf-history-widget 141 - if not set -q FZF_CTRL_T_COMMAND; or test -n "$FZF_CTRL_T_COMMAND" 142 - bind -M insert \ct fzf-file-widget 143 - end 144 - if not set -q FZF_ALT_C_COMMAND; or test -n "$FZF_ALT_C_COMMAND" 145 - bind -M insert \ec fzf-cd-widget 146 - end 147 - end 148 - 149 - function __fzf_parse_commandline -d 'Parse the current command line token and return split of existing filepath, fzf query, and optional -option= prefix' 150 - set -l commandline (commandline -t) 151 - 152 - # strip -option= from token if present 153 - set -l prefix (string match -r -- '^-[^\s=]+=' $commandline) 154 - set commandline (string replace -- "$prefix" '' $commandline) 155 - 156 - # eval is used to do shell expansion on paths 157 - eval set commandline $commandline 158 - 159 - if [ -z $commandline ] 160 - # Default to current directory with no --query 161 - set dir '.' 162 - set fzf_query '' 163 - else 164 - set dir (__fzf_get_dir $commandline) 165 - 166 - if [ "$dir" = "." -a (string sub -l 1 -- $commandline) != '.' ] 167 - # if $dir is "." but commandline is not a relative path, this means no file path found 168 - set fzf_query $commandline 169 - else 170 - # Also remove trailing slash after dir, to "split" input properly 171 - set fzf_query (string replace -r "^$dir/?" -- '' "$commandline") 172 - end 173 - end 174 - 175 - echo $dir 176 - echo $fzf_query 177 - echo $prefix 178 - end 179 - 180 - function __fzf_get_dir -d 'Find the longest existing filepath from input string' 181 - set dir $argv 182 - 183 - # Strip all trailing slashes. Ignore if $dir is root dir (/) 184 - if [ (string length -- $dir) -gt 1 ] 185 - set dir (string replace -r '/*$' -- '' $dir) 186 - end 187 - 188 - # Iteratively check if dir exists and strip tail end of path 189 - while [ ! -d "$dir" ] 190 - # If path is absolute, this can keep going until ends up at / 191 - # If path is relative, this can keep going until entire input is consumed, dirname returns "." 192 - set dir (dirname -- "$dir") 193 - end 194 - 195 - echo $dir 196 - end 197 - 198 - end 199 - ### end: key-bindings.fish ### 200 - fzf_key_bindings
···
+2 -2
fish/functions/rfv.fish
··· 2 # Ripped from: https://junegunn.github.io/fzf/tips/ripgrep-integration/ 3 function rfv 4 set -lx RELOAD 'reload:rg --column --color=always --smart-case {q} || :' 5 - set -lx OPENER 'if test $FZF_SELECT_COUNT -eq 0 6 nvim {1} +{2} # No selection. Open the current line in Vim. 7 else 8 nvim +cw -q {+f} # Build quickfix list for the selected items. 9 - end' 10 fzf < /dev/null \ 11 --disabled --ansi --multi \ 12 --bind "start:$RELOAD" --bind "change:$RELOAD" \
··· 2 # Ripped from: https://junegunn.github.io/fzf/tips/ripgrep-integration/ 3 function rfv 4 set -lx RELOAD 'reload:rg --column --color=always --smart-case {q} || :' 5 + set -lx OPENER 'if [[ $FZF_SELECT_COUNT -eq 0 ]]; then 6 nvim {1} +{2} # No selection. Open the current line in Vim. 7 else 8 nvim +cw -q {+f} # Build quickfix list for the selected items. 9 + fi' 10 fzf < /dev/null \ 11 --disabled --ansi --multi \ 12 --bind "start:$RELOAD" --bind "change:$RELOAD" \
+20 -20
flake.lock
··· 3 "flake-compat": { 4 "flake": false, 5 "locked": { 6 - "lastModified": 1761588595, 7 - "narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=", 8 "owner": "edolstra", 9 "repo": "flake-compat", 10 - "rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5", 11 "type": "github" 12 }, 13 "original": { ··· 44 ] 45 }, 46 "locked": { 47 - "lastModified": 1765170903, 48 - "narHash": "sha256-O8VTGey1xxiRW+Fpb+Ps9zU7ShmxUA1a7cMTcENCVNg=", 49 "owner": "nix-community", 50 "repo": "home-manager", 51 - "rev": "20561be440a11ec57a89715480717baf19fe6343", 52 "type": "github" 53 }, 54 "original": { 55 "owner": "nix-community", 56 - "ref": "release-25.11", 57 "repo": "home-manager", 58 "type": "github" 59 } 60 }, 61 "nixpkgs": { 62 "locked": { 63 - "lastModified": 1764983851, 64 - "narHash": "sha256-y7RPKl/jJ/KAP/VKLMghMgXTlvNIJMHKskl8/Uuar7o=", 65 "owner": "nixos", 66 "repo": "nixpkgs", 67 - "rev": "d9bc5c7dceb30d8d6fafa10aeb6aa8a48c218454", 68 "type": "github" 69 }, 70 "original": { 71 "owner": "nixos", 72 - "ref": "nixos-25.11", 73 "repo": "nixpkgs", 74 "type": "github" 75 } 76 }, 77 "nixpkgs-unstable": { 78 "locked": { 79 - "lastModified": 1764950072, 80 - "narHash": "sha256-BmPWzogsG2GsXZtlT+MTcAWeDK5hkbGRZTeZNW42fwA=", 81 "owner": "nixos", 82 "repo": "nixpkgs", 83 - "rev": "f61125a668a320878494449750330ca58b78c557", 84 "type": "github" 85 }, 86 "original": { ··· 92 }, 93 "nixpkgs_2": { 94 "locked": { 95 - "lastModified": 1759417375, 96 - "narHash": "sha256-O7eHcgkQXJNygY6AypkF9tFhsoDQjpNEojw3eFs73Ow=", 97 "owner": "NixOS", 98 "repo": "nixpkgs", 99 - "rev": "dc704e6102e76aad573f63b74c742cd96f8f1e6c", 100 "type": "github" 101 }, 102 "original": { ··· 113 "nixpkgs": "nixpkgs_2" 114 }, 115 "locked": { 116 - "lastModified": 1765016596, 117 - "narHash": "sha256-rhSqPNxDVow7OQKi4qS5H8Au0P4S3AYbawBSmJNUtBQ=", 118 "owner": "cachix", 119 "repo": "git-hooks.nix", 120 - "rev": "548fc44fca28a5e81c5d6b846e555e6b9c2a5a3c", 121 "type": "github" 122 }, 123 "original": {
··· 3 "flake-compat": { 4 "flake": false, 5 "locked": { 6 + "lastModified": 1747046372, 7 + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", 8 "owner": "edolstra", 9 "repo": "flake-compat", 10 + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", 11 "type": "github" 12 }, 13 "original": { ··· 44 ] 45 }, 46 "locked": { 47 + "lastModified": 1747688870, 48 + "narHash": "sha256-ypL9WAZfmJr5V70jEVzqGjjQzF0uCkz+AFQF7n9NmNc=", 49 "owner": "nix-community", 50 "repo": "home-manager", 51 + "rev": "d5f1f641b289553927b3801580598d200a501863", 52 "type": "github" 53 }, 54 "original": { 55 "owner": "nix-community", 56 + "ref": "release-24.11", 57 "repo": "home-manager", 58 "type": "github" 59 } 60 }, 61 "nixpkgs": { 62 "locked": { 63 + "lastModified": 1751274312, 64 + "narHash": "sha256-/bVBlRpECLVzjV19t5KMdMFWSwKLtb5RyXdjz3LJT+g=", 65 "owner": "nixos", 66 "repo": "nixpkgs", 67 + "rev": "50ab793786d9de88ee30ec4e4c24fb4236fc2674", 68 "type": "github" 69 }, 70 "original": { 71 "owner": "nixos", 72 + "ref": "nixos-24.11", 73 "repo": "nixpkgs", 74 "type": "github" 75 } 76 }, 77 "nixpkgs-unstable": { 78 "locked": { 79 + "lastModified": 1756386758, 80 + "narHash": "sha256-1wxxznpW2CKvI9VdniaUnTT2Os6rdRJcRUf65ZK9OtE=", 81 "owner": "nixos", 82 "repo": "nixpkgs", 83 + "rev": "dfb2f12e899db4876308eba6d93455ab7da304cd", 84 "type": "github" 85 }, 86 "original": { ··· 92 }, 93 "nixpkgs_2": { 94 "locked": { 95 + "lastModified": 1754340878, 96 + "narHash": "sha256-lgmUyVQL9tSnvvIvBp7x1euhkkCho7n3TMzgjdvgPoU=", 97 "owner": "NixOS", 98 "repo": "nixpkgs", 99 + "rev": "cab778239e705082fe97bb4990e0d24c50924c04", 100 "type": "github" 101 }, 102 "original": { ··· 113 "nixpkgs": "nixpkgs_2" 114 }, 115 "locked": { 116 + "lastModified": 1755960406, 117 + "narHash": "sha256-RF7j6C1TmSTK9tYWO6CdEMtg6XZaUKcvZwOCD2SICZs=", 118 "owner": "cachix", 119 "repo": "git-hooks.nix", 120 + "rev": "e891a93b193fcaf2fc8012d890dc7f0befe86ec2", 121 "type": "github" 122 }, 123 "original": {
+24 -30
flake.nix
··· 1 { 2 description = "Home Manager configuration of noah"; 3 inputs = { 4 # Specify the source of Home Manager and Nixpkgs. 5 - nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11"; 6 nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; 7 home-manager = { 8 - url = "github:nix-community/home-manager/release-25.11"; 9 inputs.nixpkgs.follows = "nixpkgs"; 10 }; 11 pre-commit-hooks.url = "github:cachix/git-hooks.nix"; 12 }; 13 14 - outputs = 15 - { 16 - self, 17 - nixpkgs, 18 - nixpkgs-unstable, 19 - home-manager, 20 - pre-commit-hooks, 21 - ... 22 - }: 23 let 24 system = "aarch64-darwin"; 25 pkgs = nixpkgs.legacyPackages.${system}; 26 unstable-pkgs = nixpkgs-unstable.legacyPackages.${system}; 27 in 28 { 29 homeConfigurations."noah" = home-manager.lib.homeManagerConfiguration { ··· 31 32 # Specify your home configuration modules here, for example, 33 # the path to your home.nix. 34 - modules = [ ./home.nix ]; 35 36 # Optionally use extraSpecialArgs 37 # to pass through arguments to home.nix ··· 39 unstable = unstable-pkgs; 40 }; 41 }; 42 - checks.${system}.pre-commit-check = pre-commit-hooks.lib.${system}.run { 43 - src = ./.; 44 - # If your hooks are intrusive, avoid running on each commit with a default_states like this: 45 - # default_stages = ["manual" "push"]; 46 - hooks = { 47 - #nixpkgs-fmt.enable = true; 48 - nixfmt-rfc-style.enable = true; 49 - nil.enable = true; 50 - luacheck.enable = true; 51 }; 52 - }; 53 - devShells.${system}.default = pkgs.mkShell { 54 - inherit (self.checks.${system}.pre-commit-check) shellHook; 55 - #packages = with pkgs; [ nil lua-language-server nixpkgs-fmt ]; 56 - buildInputs = self.checks.${system}.pre-commit-check.enabledPackages; 57 - packages = [ 58 - pkgs.nodePackages_latest.lua-fmt 59 - ]; 60 - }; 61 }; 62 }
··· 1 { 2 description = "Home Manager configuration of noah"; 3 + 4 inputs = { 5 # Specify the source of Home Manager and Nixpkgs. 6 + nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; 7 nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; 8 home-manager = { 9 + url = "github:nix-community/home-manager/release-24.11"; 10 inputs.nixpkgs.follows = "nixpkgs"; 11 }; 12 pre-commit-hooks.url = "github:cachix/git-hooks.nix"; 13 }; 14 15 + outputs = { self, nixpkgs, nixpkgs-unstable, home-manager, pre-commit-hooks, ... }@inputs: 16 let 17 system = "aarch64-darwin"; 18 pkgs = nixpkgs.legacyPackages.${system}; 19 unstable-pkgs = nixpkgs-unstable.legacyPackages.${system}; 20 + supportedSystems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; 21 + forAllSystems = nixpkgs.lib.genAttrs supportedSystems; 22 in 23 { 24 homeConfigurations."noah" = home-manager.lib.homeManagerConfiguration { ··· 26 27 # Specify your home configuration modules here, for example, 28 # the path to your home.nix. 29 + modules = [ ./noah-home.nix ]; 30 31 # Optionally use extraSpecialArgs 32 # to pass through arguments to home.nix ··· 34 unstable = unstable-pkgs; 35 }; 36 }; 37 + checks = forAllSystems (system: { 38 + pre-commit-check = inputs.pre-commit-hooks.lib.${system}.run { 39 + src = ./.; 40 + # If your hooks are intrusive, avoid running on each commit with a default_states like this: 41 + # default_stages = ["manual" "push"]; 42 + hooks = { 43 + nixpkgs-fmt.enable = true; 44 + nil.enable = true; 45 + luacheck.enable = true; 46 + }; 47 + }; 48 + }); 49 + devShells = forAllSystems (system: { 50 + default = nixpkgs.legacyPackages.${system}.mkShell { 51 + inherit (self.checks.${system}.pre-commit-check) shellHook; 52 + buildInputs = self.checks.${system}.pre-commit-check.enabledPackages; 53 }; 54 + }); 55 }; 56 }
+4 -12
ghostty/config
··· 1 - #font-size = 13 2 - font-family = TX-02 Medium 3 - theme = flat-remix-light 4 - #theme = dark:catppuccin-frappe,light:catppuccin-latte 5 shell-integration = fish 6 - link-url = true 7 - clipboard-read = allow 8 9 - #window-decoration = true 10 11 font-feature = calt 12 font-feature = ccmp ··· 23 #font-feature = ss06 24 #font-feature = ss07 25 #font-feature = ss08 26 - 27 - custom-shader = ~/.config/ghostty/shaders/galaxy.glsl 28 - #custom-shader = ~/.config/ghostty/shaders/tft.glsl 29 - #custom-shader = ~/.config/ghostty/shaders/retro-terminal.glsl 30 - #custom-shader = ~/.config/ghostty/shaders/bettercrt.glsl
··· 1 + font-size = 13 2 + font-family = TX-02 3 + theme = catppuccin-macchiato 4 shell-integration = fish 5 6 + window-decoration = server 7 8 font-feature = calt 9 font-feature = ccmp ··· 20 #font-feature = ss06 21 #font-feature = ss07 22 #font-feature = ss08
-42
ghostty/themes/flat-remix-light
··· 1 - # standard colors 2 - # black 3 - palette = 0=#404040 4 - # red 5 - palette = 1=#d41919 6 - # green 7 - palette = 2=#12715f 8 - # yellow 9 - palette = 3=#fea44c 10 - # blue 11 - palette = 4=#367bf0 12 - # purple 13 - palette = 5=#8c42ab 14 - # cyan 15 - palette = 6=#4aaee6 16 - # white 17 - palette = 7=#ffffff 18 - 19 - # intense colors 20 - # black (grey) 21 - palette = 8=#737680 22 - # red 23 - palette = 9=#811035 24 - # green 25 - palette = 10=#23bac2 26 - # yellow 27 - palette = 11=#fe7171 28 - # blue 29 - palette = 12=#54bd8e 30 - # purple 31 - palette = 13=#d41919 32 - # cyan 33 - palette = 14=#367bf0 34 - # white 35 - palette = 15=#aaaaaa 36 - 37 - background = #e4e4e7 38 - foreground = #404040 39 - cursor-color = #272a34 40 - cursor-text = #b8174c 41 - selection-background = #737680 42 - selection-foreground = #ffffff
···
+27
gs.sh
···
··· 1 + #!/usr/bin/env bash 2 + set -xeuo pipefail 3 + 4 + gamescopeArgs=( 5 + --adaptive-sync # VRR support 6 + --hdr-enabled 7 + --mangoapp # performance overlay 8 + --rt 9 + --steam 10 + ) 11 + steamArgs=( 12 + -pipewire-dmabuf 13 + -tenfoot 14 + ) 15 + mangoConfig=( 16 + cpu_temp 17 + gpu_temp 18 + ram 19 + vram 20 + ) 21 + mangoVars=( 22 + MANGOHUD=1 23 + MANGOHUD_CONFIG="$(IFS=,; echo "${mangoConfig[*]}")" 24 + ) 25 + 26 + export "${mangoVars[@]}" 27 + exec gamescope "${gamescopeArgs[@]}" -- steam "${steamArgs[@]}"
+119
gui.nix
···
··· 1 + { pkgs, ... }: 2 + { 3 + # Enable the X11 windowing system. 4 + services.xserver = { 5 + enable = true; 6 + videoDrivers = [ "amdgpu" ]; 7 + }; 8 + 9 + # Fix for HIP libraries 10 + systemd.tmpfiles.rules = [ 11 + "L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}" 12 + ]; 13 + 14 + # Configure keymap in X11 15 + services.xserver.xkb = { 16 + layout = "us"; 17 + variant = ""; 18 + }; 19 + # services.xserver.xkb.options = "eurosign:e,caps:escape"; 20 + 21 + # Enable CUPS to print documents. 22 + # services.printing.enable = true; 23 + 24 + # Enable sound. 25 + security.rtkit.enable = true; 26 + services.pipewire = { 27 + enable = true; 28 + alsa.enable = true; 29 + alsa.support32Bit = true; 30 + pulse.enable = true; 31 + wireplumber.enable = true; 32 + }; 33 + 34 + # Graphics and parallel compute configuration 35 + hardware.graphics = { 36 + enable = true; 37 + extraPackages = with pkgs; [ 38 + amdvlk 39 + libva 40 + mesa 41 + rocmPackages.clr.icd 42 + ]; 43 + }; 44 + 45 + 46 + # Enable touchpad support (enabled default in most desktopManager). 47 + # services.xserver.libinput.enable = true; 48 + 49 + # Fonts 50 + fonts.packages = with pkgs; [ 51 + fira-code 52 + fira-code-symbols 53 + noto-fonts 54 + noto-fonts-cjk-sans 55 + noto-fonts-emoji 56 + noto-fonts-extra 57 + nerd-fonts.fira-code 58 + ]; 59 + 60 + # Polkit is a dependency of Sway. It's responsible for handling security policies 61 + security.polkit.enable = true; 62 + 63 + # Enable the sway window manager 64 + programs.sway = { 65 + enable = false; 66 + #package = unstable.sway; 67 + wrapperFeatures.gtk = true; 68 + }; 69 + # Use greetd as the displaymanager 70 + #services.xserver.displayManager.greetd.enable = true; 71 + 72 + 73 + services.xserver.displayManager.lightdm.enable = false; 74 + 75 + #services.displayManager.sddm.enable = true; 76 + #services.displayManager.defaultSession = "sway"; 77 + #services.displayManager.autoLogin = { 78 + # enable = true; 79 + # user = "noah"; 80 + #}; 81 + services.xserver.desktopManager.xfce.enable = false; 82 + services.xserver.desktopManager.lxqt = { 83 + enable = true; 84 + }; 85 + services.xscreensaver.enable = true; 86 + security.pam.services.xscreensaver.enable = true; 87 + 88 + # i3, for when I need XOrg 89 + services.xserver.windowManager.i3 = { 90 + enable = false; 91 + extraPackages = with pkgs; [ 92 + dmenu 93 + i3status 94 + i3lock 95 + i3blocks 96 + ]; 97 + }; 98 + 99 + xdg.portal = { 100 + enable = true; 101 + wlr.enable = true; 102 + extraPortals = [ 103 + pkgs.xdg-desktop-portal 104 + pkgs.xdg-desktop-portal-wlr 105 + pkgs.xdg-desktop-portal-gtk 106 + pkgs.xdg-desktop-portal-termfilechooser 107 + pkgs.lxqt.xdg-desktop-portal-lxqt 108 + ]; 109 + }; 110 + xdg.mime = { 111 + enable = true; 112 + defaultApplications = { 113 + "x-scheme-handler/http" = "org.firefox.firefox.desktop"; 114 + "x-scheme-handler/https" = "org.firefox.firefox.desktop"; 115 + }; 116 + }; 117 + services.dbus.enable = true; 118 + services.gnome.gnome-keyring.enable = true; 119 + }
+47 -65
hardware-configuration.nix
··· 1 # Do not modify this file! It was generated by โ€˜nixos-generate-configโ€™ 2 # and may be overwritten by future invocations. Please make changes 3 # to /etc/nixos/configuration.nix instead. 4 - { 5 - config, 6 - lib, 7 - modulesPath, 8 - pkgs, 9 - ... 10 - }: 11 12 { 13 - imports = [ 14 - (modulesPath + "/installer/scan/not-detected.nix") 15 - ]; 16 17 boot.kernelPackages = pkgs.linuxPackages_latest; 18 - boot.initrd.availableKernelModules = [ 19 - "nvme" 20 - "xhci_pci" 21 - "thunderbolt" 22 - "usb_storage" 23 - "usbhid" 24 - "sd_mod" 25 - "sdhci_pci" 26 - ]; 27 - boot.initrd.kernelModules = [ 28 - "kvm-amd" 29 - "amdgpu" 30 - "nvme" 31 - "xhci_pci" 32 - "thunderbolt" 33 - "usb_storage" 34 - "usbhid" 35 - "sd_mod" 36 - "sdhci_pci" 37 - ]; 38 - boot.kernelModules = [ 39 - "kvm-amd" 40 - "amdgpu" 41 - "nvme" 42 - "xhci_pci" 43 - "thunderbolt" 44 - "usb_storage" 45 - "usbhid" 46 - "sd_mod" 47 - "sdhci_pci" 48 - ]; 49 - virtualisation.libvirtd = { 50 enable = true; 51 - qemu = { 52 - runAsRoot = false; 53 - ovmf = { 54 - enable = true; 55 }; 56 }; 57 }; 58 - #boot.extraModulePackages = with config.boot.kernelPackages; [ ]; 59 - boot.kernelParams = [ ]; 60 61 - hardware.enableRedistributableFirmware = true; 62 63 - fileSystems."/" = { 64 - device = "/dev/disk/by-uuid/07019c69-2597-410d-a8a0-a8ffb0f58883"; 65 - fsType = "ext4"; 66 - }; 67 - 68 - fileSystems."/boot" = { 69 - device = "/dev/disk/by-uuid/4B85-C90A"; 70 - fsType = "vfat"; 71 - }; 72 73 - swapDevices = [ 74 { 75 - device = "/swapfile"; 76 - size = 32 * 1024; 77 - } 78 - ]; 79 80 # Enables DHCP on each ethernet and wireless interface. In case of scripted networking 81 # (the default) this is the recommended approach. When using systemd-networkd it's 82 # still possible to use this option, but it's recommended to use it in conjunction 83 # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. 84 networking.useDHCP = lib.mkDefault true; 85 - # networking.interfaces.enp1s0.useDHCP = lib.mkDefault true; 86 - # networking.interfaces.wlp2s0.useDHCP = lib.mkDefault true; 87 88 nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; 89 hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
··· 1 # Do not modify this file! It was generated by โ€˜nixos-generate-configโ€™ 2 # and may be overwritten by future invocations. Please make changes 3 # to /etc/nixos/configuration.nix instead. 4 + { config, lib, pkgs, modulesPath, ... }: 5 6 { 7 + imports = 8 + [ 9 + (modulesPath + "/installer/scan/not-detected.nix") 10 + ]; 11 12 boot.kernelPackages = pkgs.linuxPackages_latest; 13 + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usb_storage" "usbhid" "uas" "sd_mod" ]; 14 + boot.initrd.kernelModules = [ ]; 15 + boot.kernelModules = [ "kvm-amd" ]; 16 + boot.extraModulePackages = [ ]; 17 + 18 + # Bluetooth / wireless configuration 19 + hardware.bluetooth = { 20 enable = true; 21 + powerOnBoot = true; 22 + settings = { 23 + General = { 24 + # Shows battery charge of connected devices on supported 25 + # Bluetooth adapters. Defaults to 'false'. 26 + Experimental = true; 27 + # When enabled other devices can connect faster to us, however 28 + # the tradeoff is increased power consumption. Defaults to 29 + # 'false'. 30 + FastConnectable = true; 31 + }; 32 + Policy = { 33 + # Enable all controllers when they are found. This includes 34 + # adapters present on start as well as adapters that are plugged 35 + # in later on. Defaults to 'true'. 36 + AutoEnable = true; 37 }; 38 }; 39 }; 40 41 42 + fileSystems."/" = 43 + { 44 + device = "/dev/disk/by-uuid/9a7cbffe-6c10-4220-bb99-4dcea8181dcc"; 45 + fsType = "ext4"; 46 + }; 47 48 + fileSystems."/boot" = 49 { 50 + device = "/dev/disk/by-uuid/9AC5-62C3"; 51 + fsType = "vfat"; 52 + options = [ "fmask=0077" "dmask=0077" ]; 53 + }; 54 + 55 + swapDevices = 56 + [{ device = "/dev/disk/by-uuid/a19d8fad-d8d2-4bbe-a233-e645020419ff"; }]; 57 + fileSystems."/srv/mugino" = { 58 + device = "/dev/disk/by-uuid/d832dd9f-1fbb-4ca7-9097-0ba329b838af"; 59 + fsType = "ext4"; 60 + }; 61 62 # Enables DHCP on each ethernet and wireless interface. In case of scripted networking 63 # (the default) this is the recommended approach. When using systemd-networkd it's 64 # still possible to use this option, but it's recommended to use it in conjunction 65 # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. 66 networking.useDHCP = lib.mkDefault true; 67 + # networking.interfaces.enp191s0.useDHCP = lib.mkDefault true; 68 + # networking.interfaces.wlp192s0.useDHCP = lib.mkDefault true; 69 70 nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; 71 hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
-390
home.nix
··· 1 - { 2 - pkgs, 3 - unstable, 4 - lib, 5 - ... 6 - }: 7 - { 8 - # Home Manager needs a bit of information about you and the paths it should 9 - # manage. 10 - home.username = "noah"; 11 - home.homeDirectory = "/Users/noah"; 12 - nix = { 13 - package = pkgs.nix; 14 - settings = { 15 - experimental-features = [ 16 - "nix-command" 17 - "flakes" 18 - ]; 19 - #trusted-public-keys = [ 20 - # "misaki.packetlost.dev:y5Z/utaVBozpL0UAbUQDWLjpm2sVMOoKzyG76n/167A=" 21 - #]; 22 - }; 23 - }; 24 - home.packages = with pkgs; [ 25 - # main tool 26 - direnv 27 - #fish 28 - tree 29 - btop 30 - # Apple Silicon top monitoring 31 - macpm 32 - htop 33 - mtr 34 - moreutils 35 - rsync 36 - bash 37 - tmux 38 - coreutils 39 - util-linux 40 - p7zip 41 - unar 42 - 43 - unzip 44 - fd 45 - jq 46 - ripgrep 47 - bat 48 - netcat 49 - stunnel 50 - iperf3 51 - entr 52 - ncdu 53 - # broken? 54 - #unstable.bitwarden-cli 55 - sqlite 56 - age 57 - just 58 - mdr 59 - unstable.catgirl 60 - plan9port 61 - unstable.rc 62 - unstable.glow 63 - unstable.vis 64 - # Tcl/Tk 65 - #unstable.tcl 66 - #unstable.tk 67 - #unstable.tclPackages.tclx 68 - nodejs 69 - 70 - # Dev tools 71 - git 72 - unstable.ruff 73 - # Rust REPL 74 - evcxr 75 - #unstable.gcc 76 - #unstable.clang 77 - # Swift stuff 78 - #swift 79 - #swift-format 80 - # Swift LSP 81 - #sourcekit-lsp 82 - unstable.go 83 - unstable.gopls 84 - gnumake 85 - #unstable.babashka 86 - #unstable.ccls 87 - unstable.clojure 88 - unstable.cljfmt 89 - unstable.clojure-lsp 90 - unstable.janet 91 - unstable.jpm 92 - unstable.fennel-ls 93 - unstable.graalvmPackages.graalvm-ce 94 - unstable.crystal 95 - unstable.crystalline 96 - cmake 97 - ctags 98 - #kotlin 99 - #nodejs 100 - #yarn 101 - #node2nix 102 - #opam 103 - # Scala stuff 104 - #unstable.scala_3 105 - #unstable.scalafmt 106 - #unstable.metals 107 - # Scala / Java build tool 108 - #unstable.sbt 109 - # Haskell 110 - #cabal-install 111 - #ghc 112 - 113 - # Lua 114 - luarocks 115 - luajit 116 - unstable.lua-language-server 117 - luaformatter 118 - libressl 119 - # Erlang 120 - #erlang 121 - #elixir 122 - unstable.nil # nix language server 123 - unstable.nixd 124 - #typescript 125 - # This is currently broken 126 - #vscode-langservers-extracted 127 - scdoc 128 - #dockerfile-language-server-nodejs 129 - # BROKEN 130 - #yaml-language-server 131 - mkcert 132 - natscli 133 - python314 134 - unstable.uv 135 - sqlite 136 - #unstable.gleam 137 - #unstable.rebar3 138 - #unstable.flyctl 139 - unstable.bun 140 - unstable.gh 141 - unstable.kraft 142 - unstable.doctl 143 - 144 - # GUI tools 145 - zathura 146 - 147 - # Python dev tools 148 - #unstable.pyright 149 - unstable.basedpyright 150 - unstable.python313Packages.python-lsp-server 151 - unstable.python313Packages.python-lsp-ruff 152 - unstable.llm 153 - 154 - # JavaScript tools 155 - #typescript-language-server 156 - 157 - # Certificate Management 158 - minica 159 - mkcert 160 - step-cli 161 - 162 - # Fish Plugins 163 - #fishPlugins.fzf 164 - #fishPlugins.pure 165 - 166 - # Libraries because MacOS is kinda stupid 167 - ncurses 168 - ]; 169 - 170 - #programs.fish = { 171 - # enable = true; 172 - # package = unstable.fish; 173 - #}; 174 - programs.fzf = { 175 - enable = true; 176 - enableFishIntegration = true; 177 - }; 178 - programs.pistol.enable = true; 179 - programs.home-manager.enable = true; 180 - programs.neovim = { 181 - package = unstable.neovim-unwrapped; 182 - enable = true; 183 - defaultEditor = true; 184 - withNodeJs = false; 185 - withPython3 = true; 186 - extraPackages = with pkgs; [ 187 - fzf 188 - ripgrep 189 - luarocks 190 - tree-sitter 191 - ]; 192 - }; 193 - programs.git = { 194 - enable = true; 195 - lfs.enable = true; 196 - userName = "Noah Pederson"; 197 - userEmail = "noah@packetlost.dev"; 198 - extraConfig = { 199 - sendemail = { 200 - smtpserver = "smtp.migadu.com"; 201 - smtpuser = "noah@packetlost.dev"; 202 - smtpauth = "plain"; 203 - smtpencryption = "tls"; 204 - smtpserverport = 465; 205 - }; 206 - init = { 207 - defaultBranch = "master"; 208 - }; 209 - pull = { 210 - rebase = true; 211 - }; 212 - push = { 213 - default = "simple"; 214 - autoSetupRemote = true; 215 - followTags = true; 216 - }; 217 - credential = { 218 - helper = "cache"; 219 - }; 220 - alias = { 221 - out = "log @{u}.."; 222 - }; 223 - column = { 224 - ui = "auto"; 225 - }; 226 - branch = { 227 - sort = "-committerdate"; 228 - }; 229 - tag = { 230 - sort = "version:refname"; 231 - }; 232 - diff = { 233 - algorithm = "histogram"; 234 - colorMoved = "plain"; 235 - mnemonicPrefix = true; 236 - renames = true; 237 - }; 238 - fetch = { 239 - prune = true; 240 - pruneTags = true; 241 - all = true; 242 - }; 243 - help = { 244 - autocorrect = "prompt"; 245 - }; 246 - commit = { 247 - verbose = true; 248 - }; 249 - rerere = { 250 - enabled = true; 251 - autoupdate = true; 252 - }; 253 - rebase = { 254 - autoSquash = true; 255 - autoStash = true; 256 - updateRefs = true; 257 - }; 258 - merge = { 259 - conflictStyle = "zdiff3"; 260 - }; 261 - }; 262 - ignores = [ 263 - ".direnv/" 264 - ".envrc" 265 - "flake.nix" 266 - "shell.nix" 267 - ".env/" 268 - ".clj-kondo/" 269 - ]; 270 - }; 271 - programs.aerc = { 272 - enable = true; 273 - }; 274 - programs.ssh = { 275 - enable = true; 276 - extraConfig = builtins.readFile ./ssh/extra; 277 - addKeysToAgent = "yes"; 278 - forwardAgent = true; 279 - }; 280 - 281 - programs.yazi = 282 - let 283 - localPkgs = pkgs; 284 - yaziPlugins = localPkgs.yaziPlugins; 285 - plugins = lib.attrsets.getAttrs [ 286 - "rsync" 287 - "piper" 288 - "nord" 289 - "mediainfo" 290 - "glow" 291 - "git" 292 - "diff" 293 - "duckdb" 294 - ] yaziPlugins; 295 - in 296 - { 297 - inherit plugins; 298 - enable = true; 299 - package = localPkgs.yazi; 300 - enableFishIntegration = true; 301 - settings = { 302 - preview = { 303 - image_quality = 90; 304 - }; 305 - tasks = { 306 - image_bound = [ 307 - 0 308 - 0 309 - ]; 310 - }; 311 - }; 312 - }; 313 - 314 - programs.direnv = { 315 - enable = true; 316 - nix-direnv.enable = true; 317 - }; 318 - 319 - programs.nix-index = { 320 - enable = true; 321 - enableFishIntegration = true; 322 - }; 323 - programs.helix = { 324 - enable = true; 325 - settings = { 326 - theme = "everforest_dark"; 327 - editor.cursor-shape = { 328 - normal = "block"; 329 - insert = "bar"; 330 - select = "underline"; 331 - }; 332 - }; 333 - languages.language = [ 334 - { 335 - name = "nix"; 336 - auto-format = true; 337 - formatter.command = "${pkgs.nixfmt}/bin/nixfmt"; 338 - } 339 - { 340 - name = "rust"; 341 - auto-format = true; 342 - formatter.command = "${pkgs.rustfmt}/bin/rustfmt"; 343 - } 344 - ]; 345 - }; 346 - 347 - # Independent config files. 348 - xdg.configFile.nvim = { 349 - source = ./nvim; 350 - recursive = true; 351 - }; 352 - 353 - xdg.configFile.vis = { 354 - source = ./vis; 355 - recursive = true; 356 - }; 357 - 358 - xdg.configFile.fish = { 359 - source = ./fish; 360 - recursive = true; 361 - }; 362 - xdg.configFile."fish/completions/nix.fish".source = 363 - "${pkgs.nix}/share/fish/vendor_completions.d/nix.fish"; 364 - 365 - xdg.configFile.aerc = { 366 - source = ./aerc; 367 - recursive = true; 368 - }; 369 - 370 - xdg.configFile.ghostty = { 371 - source = ./ghostty; 372 - recursive = true; 373 - }; 374 - 375 - home.file.".local/bin" = { 376 - source = ./scripts; 377 - recursive = true; 378 - }; 379 - home.file.".luacheckrc" = { 380 - text = '' 381 - globals = { 382 - "vim", 383 - "vis", 384 - } 385 - ''; 386 - }; 387 - 388 - home.stateVersion = "24.11"; 389 - 390 - }
···
+8 -15
networking.nix
··· 4 # Pick only one of the below networking options. 5 # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. 6 # networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. 7 - networking.hostName = "odin"; 8 # I like systemd-networkd 9 systemd.network.enable = true; 10 systemd.network.networks."50-wlp2s0" = { ··· 27 # Or disable the firewall altogether. 28 # TODO: allow some ports 29 networking.firewall = { 30 - enable = true; 31 allowPing = true; 32 allowedUDPPorts = [ ]; 33 - allowedTCPPorts = [ ]; 34 }; 35 36 services.avahi = { ··· 54 "/srv/shokuhou" = { 55 device = "192.168.1.3:/srv/shokuhou"; 56 fsType = "nfs"; 57 - options = [ 58 - "nfsvers=4" 59 - "user" 60 - "x-system.automount" 61 - "x-system.idle-timeout=600" 62 - ]; 63 }; 64 "/srv/mentalout" = { 65 device = "192.168.1.3:/srv/mentalout"; 66 fsType = "nfs"; 67 - options = [ 68 - "nfsvers=4" 69 - "user" 70 - "x-system.automount" 71 - "x-system.idle-timeout=600" 72 - ]; 73 }; 74 }; 75 }
··· 4 # Pick only one of the below networking options. 5 # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. 6 # networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. 7 + networking.hostName = "shizuri"; 8 # I like systemd-networkd 9 systemd.network.enable = true; 10 systemd.network.networks."50-wlp2s0" = { ··· 27 # Or disable the firewall altogether. 28 # TODO: allow some ports 29 networking.firewall = { 30 + enable = false; 31 allowPing = true; 32 allowedUDPPorts = [ ]; 33 + allowedTCPPorts = [ 34 + 1234 35 + 2375 36 + ]; 37 }; 38 39 services.avahi = { ··· 57 "/srv/shokuhou" = { 58 device = "192.168.1.3:/srv/shokuhou"; 59 fsType = "nfs"; 60 + options = [ "nfsvers=4" "user" "x-system.automount" "x-system.idle-timeout=600" ]; 61 }; 62 "/srv/mentalout" = { 63 device = "192.168.1.3:/srv/mentalout"; 64 fsType = "nfs"; 65 + options = [ "nfsvers=4" "user" "x-system.automount" "x-system.idle-timeout=600" ]; 66 }; 67 }; 68 }
+385
noah-home.nix
···
··· 1 + { pkgs, lib, ... }: 2 + let 3 + unstable = import <nixos-unstable> { 4 + config.allowUnfreePredicate = 5 + pkg: 6 + builtins.elem (lib.getName pkg) [ 7 + "jetbrains-toolbox" 8 + "jetbrains.rust-rover" 9 + "rust-rover" 10 + "discord" 11 + "google-chrome" 12 + "slack" 13 + "lmstudio" 14 + ]; 15 + overlays = [ 16 + (final: prev: { 17 + lmstudio = prev.lmstudio.overrideAttrs rec { 18 + version = "0.3.24-6"; 19 + hash = "sha256-TjfrNPr8xRUOmRRx2rLJEh3D/kV3OOfqgRTVstOd6AE="; 20 + src = final.fetchurl { 21 + hash = hash; 22 + url = "https://installers.lmstudio.ai/linux/x64/${version}/LM-Studio-${version}-x64.AppImage"; 23 + }; 24 + }; 25 + }) 26 + ]; 27 + }; 28 + chicago95 = pkgs.callPackage ./xfce/chicago95.nix { }; 29 + xfceConfigPath = ./xfce/themeConfig; 30 + xfceConfig = "${xfceConfigPath}"; 31 + in 32 + { 33 + home.sessionVariables = { 34 + NIXOS_OZONE_WL = "1"; 35 + }; 36 + 37 + home.packages = with pkgs; [ 38 + # main tool 39 + unstable.firefox-devedition 40 + direnv 41 + fish 42 + tree 43 + btop 44 + htop 45 + amdgpu_top 46 + mtr 47 + pavucontrol 48 + moreutils 49 + picocom 50 + # Disabled because even unstable is too out-of-date 51 + # unstable.logseq 52 + element-desktop 53 + rsync 54 + unzip 55 + fd 56 + jq 57 + xz 58 + bzip3 59 + ripgrep 60 + bat 61 + netcat 62 + stunnel 63 + fzf 64 + iperf3 65 + entr 66 + bitwarden-cli 67 + # Previewer for LF 68 + unstable.pistol 69 + sqlite 70 + age 71 + just 72 + unstable.catgirl 73 + #devenv 74 + plan9port 75 + killall 76 + 77 + # Dev tools 78 + git 79 + gcc 80 + go 81 + gopls 82 + gnumake 83 + babashka 84 + ccls 85 + unstable.clojure 86 + unstable.cljfmt 87 + unstable.clojure-lsp 88 + unstable.janet 89 + unstable.jpm 90 + unstable.fennel-ls 91 + graalvm-ce 92 + cmake 93 + ctags 94 + kotlin 95 + nodejs 96 + node2nix 97 + opam 98 + unstable.rustup # includes rust-analyzer 99 + # Scala stuff 100 + #scala_3 101 + #scalafmt 102 + #metals 103 + # Scala / Java build tool 104 + #sbt 105 + # Haskell 106 + #cabal-install 107 + luarocks 108 + luajit 109 + lua-language-server 110 + luaformatter 111 + #leiningen 112 + libressl 113 + erlang 114 + elixir 115 + #ghc 116 + nil # nix language server 117 + typescript 118 + # This is currently broken 119 + #vscode-langservers-extracted 120 + scdoc 121 + dockerfile-language-server-nodejs 122 + yaml-language-server 123 + mkcert 124 + natscli 125 + python3 126 + python311Packages.pip 127 + sqlite 128 + unstable.harec 129 + unstable.hare 130 + unstable.haredoc 131 + unstable.haredo 132 + unstable.gleam 133 + unstable.rebar3 134 + #unstable.flyctl 135 + unstable.bun 136 + unstable.gh 137 + unstable.kraft 138 + unstable.doctl 139 + 140 + # JetBrains 141 + unstable.jetbrains-toolbox 142 + 143 + # GUI tools 144 + i3status 145 + i3lock 146 + maim 147 + slurp 148 + grim 149 + wl-clipboard 150 + playerctl 151 + barrier 152 + xclip 153 + zathura 154 + fuzzel 155 + thunderbird 156 + ghostty 157 + slack 158 + dconf 159 + 160 + # Python dev tools 161 + pyright 162 + python311Packages.python-lsp-server 163 + python311Packages.python-lsp-ruff 164 + 165 + # Certificate Management 166 + minica 167 + mkcert 168 + step-cli 169 + unstable.ollama 170 + 171 + # XFCE theme stuff 172 + xfce.xfce4-panel 173 + xfce.xfconf 174 + xfce.xfdesktop 175 + xfce.xfce4-whiskermenu-plugin 176 + xfce.xfce4-docklike-plugin 177 + xorg.xrandr 178 + 179 + # Unfree 180 + discord 181 + spotify 182 + telegram-desktop 183 + google-chrome 184 + unstable.lmstudio 185 + libreoffice-qt6-fresh 186 + ]; 187 + 188 + nix = { 189 + settings.experimental-features = [ 190 + "nix-command" 191 + "flakes" 192 + ]; 193 + }; 194 + 195 + programs.fish = { 196 + enable = true; 197 + #package = unstable.fish; 198 + }; 199 + programs.neovim = { 200 + #package = unstable.neovim-unwrapped; 201 + enable = true; 202 + defaultEditor = true; 203 + withNodeJs = true; 204 + withPython3 = true; 205 + plugins = [ 206 + unstable.vimPlugins.nvim-treesitter.withAllGrammars 207 + ]; 208 + extraPackages = with pkgs; [ 209 + fzf 210 + ripgrep 211 + luarocks 212 + unstable.tree-sitter 213 + ]; 214 + }; 215 + programs.git = { 216 + enable = true; 217 + lfs.enable = true; 218 + userName = "Noah Pederson"; 219 + userEmail = "noah@packetlost.dev"; 220 + extraConfig = { 221 + sendemail = { 222 + smtpserver = "smtp.migadu.com"; 223 + smtpuser = "noah@packetlost.dev"; 224 + smtpencryption = "ssl"; 225 + smtpserverport = 465; 226 + }; 227 + init = { 228 + defaultBranch = "master"; 229 + }; 230 + pull = { 231 + rebase = true; 232 + }; 233 + credential = { 234 + helper = "cache"; 235 + }; 236 + }; 237 + ignores = [ 238 + ".direnv/" 239 + ".envrc" 240 + "flake.nix" 241 + "shell.nix" 242 + ".env/" 243 + ".clj-kondo/" 244 + ]; 245 + }; 246 + 247 + programs.aerc = { 248 + enable = true; 249 + package = unstable.aerc; 250 + }; 251 + 252 + programs.ssh = { 253 + enable = true; 254 + extraConfig = builtins.readFile ./ssh/extra; 255 + addKeysToAgent = "yes"; 256 + }; 257 + 258 + programs.yazi = { 259 + enable = true; 260 + package = unstable.yazi; 261 + enableFishIntegration = true; 262 + settings = { 263 + preview = { 264 + image_quality = 90; 265 + }; 266 + tasks = { 267 + image_bound = [ 268 + 0 269 + 0 270 + ]; 271 + }; 272 + }; 273 + plugins = { 274 + rsync = unstable.yaziPlugins.rsync; 275 + piper = unstable.yaziPlugins.piper; 276 + nord = unstable.yaziPlugins.nord; 277 + mediainfo = unstable.yaziPlugins.mediainfo; 278 + glow = unstable.yaziPlugins.glow; 279 + git = unstable.yaziPlugins.git; 280 + diff = unstable.yaziPlugins.diff; 281 + duckdb = unstable.yaziPlugins.duckdb; 282 + }; 283 + }; 284 + 285 + services.ssh-agent.enable = true; 286 + 287 + programs.direnv = { 288 + enable = true; 289 + nix-direnv.enable = true; 290 + }; 291 + 292 + # Independent config files. 293 + xdg.configFile.nvim = { 294 + source = ./nvim; 295 + recursive = true; 296 + }; 297 + 298 + xdg.configFile.vis = { 299 + source = ./vis; 300 + recursive = true; 301 + }; 302 + 303 + xdg.configFile.fish = { 304 + source = ./fish; 305 + recursive = true; 306 + }; 307 + 308 + xdg.configFile.kitty = { 309 + source = ./kitty; 310 + recursive = true; 311 + }; 312 + 313 + xdg.configFile.aerc = { 314 + source = ./aerc; 315 + recursive = true; 316 + }; 317 + 318 + xdg.configFile.sway = { 319 + source = ./sway; 320 + recursive = true; 321 + }; 322 + 323 + xdg.configFile.i3 = { 324 + source = ./i3; 325 + recursive = true; 326 + }; 327 + xdg.configFile.i3status = { 328 + source = ./i3status; 329 + recursive = true; 330 + }; 331 + 332 + xdg.configFile.ghostty = { 333 + source = ./ghostty; 334 + recursive = true; 335 + }; 336 + 337 + home.file.".local/bin" = { 338 + source = ./scripts; 339 + recursive = true; 340 + }; 341 + 342 + home.file.".luacheckrc" = { 343 + text = '' 344 + globals = { 345 + "vim", 346 + "vis", 347 + } 348 + ''; 349 + 350 + }; 351 + 352 + gtk = { 353 + enable = true; 354 + theme = { 355 + name = "Chicago95"; 356 + package = chicago95; 357 + }; 358 + iconTheme = { 359 + name = "Chicago95"; 360 + package = chicago95; 361 + }; 362 + #iconTheme = { 363 + # name = "Win95_plus"; 364 + # package = pkgs.callPackage ./xfce/win95_plus.nix {}; 365 + #}; 366 + cursorTheme = { 367 + name = "Chicago95"; 368 + package = chicago95; 369 + }; 370 + font = { 371 + name = "Sans"; 372 + size = 12; 373 + }; 374 + }; 375 + home.pointerCursor = { 376 + name = "Chicago95"; 377 + package = chicago95; 378 + size = 24; 379 + gtk.enable = true; 380 + x11.enable = true; 381 + }; 382 + 383 + home.stateVersion = "23.11"; 384 + 385 + }
+1 -1
nvim/lua/lsp/janet_lsp.lua
··· 2 cmd = { 3 "janet", 4 "-i", 5 - "/Users/noah/repos/janet-lsp/build/janet-lsp.jimage", 6 "--stdio", 7 } 8 }
··· 2 cmd = { 3 "janet", 4 "-i", 5 + "/home/noah/repos/janet-lsp/jpm_tree/lib/janet-lsp.jimage", 6 "--stdio", 7 } 8 }
+4 -4
nvim/lua/lsp.lua
··· 10 local servers = { 11 "pylsp", "lua_ls", "janet_lsp", 12 --"htmx", 13 - "nil_ls", "nixd", "bzl", "buf_ls", "crystalline", "dockerls", 14 "erlangls", "elixirls", "fortls", "gleam", "gopls", "hls", "jsonls", 15 "vimls", "asm_lsp", "ccls", "pyright", 16 "ruff", "clojure_lsp", "guile_ls", ··· 44 end, opts) 45 vim.keymap.set("n", "<space>D", vim.lsp.buf.type_definition, opts) 46 vim.keymap.set("n", "<space>rn", vim.lsp.buf.rename, opts) 47 - vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action, opts) 48 vim.keymap.set("n", "gr", vim.lsp.buf.references, opts) 49 vim.keymap.set("n", "<space>e", vim.diagnostic.open_float, opts) 50 - vim.keymap.set("n", "[d", function () vim.diagnostic.jump {count = -1, float = true} end, opts) 51 - vim.keymap.set("n", "]d", function () vim.diagnostic.jump {count = 1, float = true} end, opts) 52 vim.keymap.set("n", "<space>q", vim.diagnostic.setloclist, opts) 53 vim.keymap.set("n", "<space>f", 54 function() vim.lsp.buf.format { async = true } end, opts)
··· 10 local servers = { 11 "pylsp", "lua_ls", "janet_lsp", 12 --"htmx", 13 + "nil_ls", "bzl", "buf_ls", "crystalline", "dockerls", 14 "erlangls", "elixirls", "fortls", "gleam", "gopls", "hls", "jsonls", 15 "vimls", "asm_lsp", "ccls", "pyright", 16 "ruff", "clojure_lsp", "guile_ls", ··· 44 end, opts) 45 vim.keymap.set("n", "<space>D", vim.lsp.buf.type_definition, opts) 46 vim.keymap.set("n", "<space>rn", vim.lsp.buf.rename, opts) 47 + vim.keymap.set("n", "<space>ca", vim.lsp.buf.code_action, opts) 48 vim.keymap.set("n", "gr", vim.lsp.buf.references, opts) 49 vim.keymap.set("n", "<space>e", vim.diagnostic.open_float, opts) 50 + vim.keymap.set("n", "[d", vim.diagnostic.goto_prev, opts) 51 + vim.keymap.set("n", "]d", vim.diagnostic.goto_next, opts) 52 vim.keymap.set("n", "<space>q", vim.diagnostic.setloclist, opts) 53 vim.keymap.set("n", "<space>f", 54 function() vim.lsp.buf.format { async = true } end, opts)
+21 -3
nvim/lua/plugins.lua
··· 277 { "rktjmp/hotpot.nvim", lazy = true, ft = "fennel", config = true }, 278 { "Olical/nfnl", lazy = true, ft = "fennel", config = true }, -- Rust stuff 279 { 280 - "mrcjkb/rustaceanvim", 281 - lazy = false, 282 - version = "^6" 283 }, 284 { "mfussenegger/nvim-dap", lazy = true, ft = { "c", "rust" } }, 285 {
··· 277 { "rktjmp/hotpot.nvim", lazy = true, ft = "fennel", config = true }, 278 { "Olical/nfnl", lazy = true, ft = "fennel", config = true }, -- Rust stuff 279 { 280 + "simrat39/rust-tools.nvim", 281 + lazy = true, 282 + ft = { "rust" }, 283 + config = function() 284 + local rt = require("rust-tools") 285 + rt.setup({ 286 + server = { 287 + on_attach = function(_, bufnr) 288 + -- Hover actions 289 + vim.keymap.set("n", "<C-space>", 290 + rt.hover_actions.hover_actions, 291 + { buffer = bufnr }) 292 + -- Code action groups 293 + vim.keymap.set("n", "<Leader>a", 294 + rt.code_action_group.code_action_group, 295 + { buffer = bufnr }) 296 + end 297 + } 298 + }) 299 + end, 300 + dependencies = { "nvim-lua/plenary.nvim" } 301 }, 302 { "mfussenegger/nvim-dap", lazy = true, ft = { "c", "rust" } }, 303 {
+173
packages.nix
···
··· 1 + { pkgs, lib, ... }: 2 + let # bash script to let dbus know about important env variables and 3 + # propagate them to relevent services run at the end of sway config 4 + # see 5 + # https://github.com/emersion/xdg-desktop-portal-wlr/wiki/"It-doesn't-work"-Troubleshooting-Checklist 6 + # note: this is pretty much the same as /etc/sway/config.d/nixos.conf but also restarts 7 + # some user services to make sure they have the correct environment variables 8 + dbus-sway-environment = pkgs.writeTextFile { 9 + name = "dbus-sway-environment"; 10 + destination = "/bin/dbus-sway-environment"; 11 + executable = true; 12 + 13 + text = '' 14 + dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway 15 + systemctl --user stop pipewire pipewire-media-session xdg-desktop-portal xdg-desktop-portal-wlr 16 + systemctl --user start pipewire pipewire-media-session xdg-desktop-portal xdg-desktop-portal-wlr 17 + ''; 18 + }; 19 + 20 + # currently, there is some friction between sway and gtk: 21 + # https://github.com/swaywm/sway/wiki/GTK-3-settings-on-Wayland 22 + # the suggested way to set gtk settings is with gsettings 23 + # for gsettings to work, we need to tell it where the schemas are 24 + # using the XDG_DATA_DIR environment variable 25 + # run at the end of sway config 26 + configure-gtk = pkgs.writeTextFile { 27 + name = "configure-gtk"; 28 + destination = "/bin/configure-gtk"; 29 + executable = true; 30 + text = 31 + let 32 + # TODO: figure out why these bindings exist or where they're used 33 + schema = pkgs.gsettings-desktop-schemas; 34 + datadir = "${schema}/share/gsettings-schemas/${schema.name}"; 35 + in 36 + '' 37 + 6 gnome_schema=org.gnome.desktop.interface 38 + gsettings set $gnome_schema gtk-theme 'Dracula' 39 + ''; 40 + }; 41 + in 42 + { 43 + 44 + # List packages installed in system profile. To search, run: 45 + # $ nix search wget 46 + environment.systemPackages = with pkgs; [ 47 + mangohud 48 + neovim 49 + appimage-run 50 + tzdata 51 + wget 52 + kitty 53 + file 54 + w3m 55 + fishPlugins.fzf-fish 56 + fzf 57 + qemu 58 + qemu-user 59 + qemu-utils 60 + qemu_full 61 + OVMF 62 + #9p stuff 63 + diod 64 + plan9port 65 + vis 66 + rc 67 + 68 + smartmontools 69 + 70 + # Sway stuff 71 + wdisplays 72 + mako 73 + bemenu 74 + wl-clipboard 75 + slurp 76 + grim 77 + swayidle 78 + swaylock 79 + adwaita-icon-theme 80 + dracula-theme 81 + glib 82 + xdg-utils 83 + xdg-desktop-portal 84 + wayland 85 + configure-gtk 86 + lxqt.lxqt-menu-data # for lxqt 87 + dbus-sway-environment 88 + dbus 89 + pkg-config 90 + zlib 91 + # why wouldn't I want documentation on my system 92 + man-pages 93 + man-pages-posix 94 + linuxPackages_latest.perf 95 + ]; 96 + 97 + environment.loginShellInit = '' 98 + [[ "$(tty)" = "/dev/tty1" ]] && /home/noah/repos/nixos/gs.sh 99 + ''; 100 + 101 + documentation.dev.enable = true; 102 + 103 + # Fix dynamically linked libraries for unpackaged binaries 104 + programs.nix-ld = { 105 + enable = true; 106 + libraries = with pkgs; [ 107 + # Add missing dynamic libraries for unpackaged programs HERE 108 + # NOT in environment.systemPackages 109 + zlib 110 + openssl 111 + sqlite 112 + libunwind 113 + libglvnd 114 + libclang 115 + systemdLibs 116 + ]; 117 + }; 118 + programs.nix-index = { 119 + enable = true; 120 + enableFishIntegration = true; 121 + enableBashIntegration = false; 122 + enableZshIntegration = false; 123 + }; 124 + 125 + programs.steam = { 126 + enable = true; 127 + remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play 128 + dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server 129 + localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers 130 + gamescopeSession.enable = true; 131 + }; 132 + programs.gamescope = { 133 + enable = true; 134 + capSysNice = true; 135 + }; 136 + # Boot to bigpicture 137 + services.getty.autologinUser = "noah"; 138 + 139 + programs.appimage = { 140 + enable = true; 141 + binfmt = true; 142 + }; 143 + 144 + # Run other bins in QEMU 145 + boot.binfmt.emulatedSystems = [ 146 + "aarch64-linux" 147 + "riscv64-linux" 148 + ]; 149 + # UEFI firmware support for QEMU 150 + systemd.tmpfiles.rules = [ "L+ /var/lib/qemu/firmware - - - - ${pkgs.qemu}/share/qemu/firmware" ]; 151 + 152 + # Logseq uses an ancient version of Electron, so we enable that 153 + nixpkgs.config.permittedInsecurePackages = [ "electron-25.9.0" ]; 154 + 155 + # I don't care too much about unfree 156 + nixpkgs.config.allowUnfree = true; 157 + # Whitelist some unfree packages 158 + nixpkgs.config.allowUnfreePredicate = 159 + pkg: 160 + builtins.elem (lib.getName pkg) [ 161 + "discord" 162 + "spotify" 163 + "obsidian" 164 + "unstable.obsidian" 165 + "tailscale" 166 + "google-chrome" 167 + "slack" 168 + "steam" 169 + "steam-original" 170 + "steam-unwrapped" 171 + "steam-run" 172 + ]; 173 + }
-5
scripts/fix-ghostty-terminfo
··· 1 - #/usr/bin/env rc 2 - 3 - host=$1 4 - 5 - infocmp -x | ssh $host -- tic -x -
···
-36
scripts/for-each-ref.rcsh
··· 1 - #!/usr/bin/env rc 2 - 3 - flag e + 4 - 5 - current_ref=`{ 6 - git symbolic-ref --short -q HEAD \ 7 - || git describe --tags --exact-match >[2]/dev/null \ 8 - || git rev-parse --short HEAD 9 - } 10 - 11 - root=`{git rev-parse --show-toplevel} 12 - 13 - fn log { 14 - echo $"* >[1=2] #" 15 - } 16 - 17 - log Preserving current symbolic ref to return to later: $current_ref 18 - 19 - rev_range=$1 20 - shift 21 - 22 - revlist=`{git rev-list $rev_range --reverse} 23 - 24 - for (rev in $revlist) { 25 - echo Checking out $rev 26 - # Checkout the ref 27 - git checkout $rev 28 - # Execute the argument 29 - for (command in $*) { 30 - eval $command 31 - } 32 - git restore $root 33 - } 34 - 35 - log Done! 36 - git checkout $current_ref
···
-13
scripts/nd
··· 1 - #!/usr/bin/env rc 2 - 3 - flag e + 4 - flag x + 5 - 6 - flake=. 7 - 8 - if(~ $1 --flake) { 9 - flake=$2 10 - shift 2 11 - } 12 - 13 - exec nix develop -c $SHELL -- $*
···
+3 -6
scripts/nr
··· 1 #!/usr/bin/env rc 2 3 flag x + 4 5 - if(~ $1 -x) { 6 - flake e + 7 - shift 8 - } 9 10 - pkg=$1 11 shift 12 13 - exec nix run --impure 'nixpkgs#'^$pkg -- $*
··· 1 #!/usr/bin/env rc 2 3 + flag e + 4 flag x + 5 6 + pkg=$1 7 8 shift 9 10 + exec nix run 'nixpkgs#'^$pkg -- $*
+4
scripts/oclip
··· 1 #!/usr/bin/env rc 2 flag e + 3 data=`{base64 <[0=0]} 4 printf '\033]52;c;%s\007' $"data
··· 1 #!/usr/bin/env rc 2 flag e + 3 + 4 + if (~ $1 -x) { 5 + flag x + 6 + } 7 data=`{base64 <[0=0]} 8 printf '\033]52;c;%s\007' $"data
-31
scripts/resolve.rcsh
··· 1 - #!/usr/bin/env rc 2 - 3 - flag e + 4 - 5 - gitroot=`{git rev-parse --show-toplevel} 6 - 7 - if(~ $1 -x --debug) { 8 - flag x + 9 - shift 10 - } 11 - 12 - if(~ $* ()) { 13 - conflicted=`{git ls-files -u $gitroot | cut -f2 | uniq} 14 - } else { 15 - conflicted=$* 16 - } 17 - 18 - echo Conflicted files: $conflicted >[1=2] 19 - 20 - for (file in $conflicted) { 21 - prompt=(Do you want to add $file to the index? (y/n): ' ') 22 - echo Editing $file 23 - # Edit the file 24 - $EDITOR $file 25 - # Prompt for if we want to add it 26 - read -p $"prompt response; #" 27 - if (~ $response y Y) { 28 - git add $file 29 - } 30 - } 31 -
···
-3
scripts/rust-rover
··· 1 - #!/usr/bin/env rc 2 - 3 - open $HOME/Applications/RustRover.app/
···
-12
scripts/s
··· 1 - #!/usr/bin/env rc 2 - 3 - flag e + 4 - 5 - server=`{cat $home/.ssh/config | awk '/^ +Host / { print $2}' | fzf} 6 - 7 - if(~ $server ()) { 8 - echo No server selected 9 - exit 0 10 - } 11 - 12 - ssh $server $*
···
-15
scripts/sol-to-lamports
··· 1 - #!/usr/bin/env rc 2 - 3 - flag e + 4 - 5 - if(~ $1 ()) { 6 - echo Must provide a value in lamports >[1=2] 7 - exit 150 8 - } 9 - 10 - sol=$1 11 - shift 12 - 13 - exec bc <<EOF 14 - $sol * 1000000000 15 - EOF
···
-8
scripts/update-ollama-models.rcsh
··· 1 - #!/usr/bin/env rc 2 - 3 - models=`{ollama ls | tail -n +2 | cut -f 1 -d' '} 4 - 5 - for(model in $models) { 6 - echo Pulling $model 7 - ollama pull $model || true 8 - }
···
+55
services.nix
···
··· 1 + { pkgs, ... }: 2 + { 3 + # Some programs need SUID wrappers, can be configured further or are 4 + # started in user sessions. 5 + # programs.mtr.enable = true; 6 + programs.gnupg.agent = { 7 + enable = true; 8 + enableSSHSupport = false; 9 + }; 10 + 11 + # Fish shell, the best 12 + programs.fish.enable = true; 13 + 14 + # List services that you want to enable: 15 + 16 + # Enable the OpenSSH daemon. 17 + services.openssh = { 18 + enable = true; 19 + settings.X11Forwarding = true; 20 + }; 21 + 22 + # Smart Card daemon 23 + services.pcscd.enable = true; 24 + 25 + # This option is for enabling the bolt daemon for managing Thunderbolt/USB4 Devices. 26 + services.hardware.bolt.enable = true; 27 + 28 + # Tailscale 29 + services.tailscale = { 30 + enable = false; 31 + useRoutingFeatures = "client"; 32 + }; 33 + 34 + services.fwupd.enable = true; 35 + 36 + services.xrdp = { 37 + enable = true; 38 + openFirewall = true; 39 + defaultWindowManager = "${pkgs.lxqt.lxqt-session}/bin/lxqt-session"; 40 + }; 41 + 42 + # Containers and VMs 43 + virtualisation = { 44 + podman = { 45 + enable = false; 46 + dockerCompat = true; 47 + defaultNetwork.settings.dns_enabled = true; 48 + dockerSocket.enable = true; 49 + }; 50 + docker = { 51 + enable = true; 52 + storageDriver = "overlay2"; 53 + }; 54 + }; 55 + }
+2 -41
ssh/extra
··· 1 ServerAliveInterval 60 2 ControlMaster auto 3 ControlPath ~/.ssh/master-%r@%h:%p 4 5 Host 192.168.1.* 6 ForwardAgent yes 7 - 8 - # ghostty terminfo isn't on Google VMs 9 - Host 34.* 10 - SetEnv TERM=xterm-256color 11 - StrictHostKeyChecking no 12 - UserKnownHostsFile /dev/null 13 - LogLevel QUIET 14 - Host 35.* 15 - SetEnv TERM=xterm-256color 16 - StrictHostKeyChecking no 17 - UserKnownHostsFile /dev/null 18 - LogLevel QUIET 19 - Host 104.* 20 - SetEnv TERM=xterm-256color 21 - StrictHostKeyChecking no 22 - UserKnownHostsFile /dev/null 23 - LogLevel QUIET 24 - Host 146.* 25 - SetEnv TERM=xterm-256color 26 - StrictHostKeyChecking no 27 - UserKnownHostsFile /dev/null 28 - LogLevel QUIET 29 - Host 130.* 30 - SetEnv TERM=xterm-256color 31 - StrictHostKeyChecking no 32 - UserKnownHostsFile /dev/null 33 - LogLevel QUIET 34 - 35 36 Host *.local 37 ForwardAgent yes ··· 130 HostName git.launchpad.net 131 User pedersonnoah 132 IdentityFile ~/.ssh/id_ed25519 133 - 134 - Host drone 135 - HostName 100.81.145.102 136 - User ambient 137 - IdentityFile ~/.ssh/id_ed25519 138 - 139 - Host chillwave 140 - HostName 100.95.1.23 141 - IdentityFile ~/.ssh/id_ed25519 142 - 143 - Host glitch 144 - HostName 100.83.137.68 145 - IdentityFile ~/.ssh/id_ed25519
··· 1 + AddKeysToAgent yes 2 ServerAliveInterval 60 3 + ForwardAgent no 4 ControlMaster auto 5 ControlPath ~/.ssh/master-%r@%h:%p 6 7 Host 192.168.1.* 8 ForwardAgent yes 9 10 Host *.local 11 ForwardAgent yes ··· 104 HostName git.launchpad.net 105 User pedersonnoah 106 IdentityFile ~/.ssh/id_ed25519
+5
sway/config
··· 76 accel_profile flat 77 } 78 79 80 exec xrdb -merge "/home/noah/.config/Xresources.d/all" 81 ### Key bindings
··· 76 accel_profile flat 77 } 78 79 + input "1133:50504:Logitech_USB_Receiver_Mouse" { 80 + pointer_accel 0.2 81 + accel_profile flat 82 + } 83 + 84 85 exec xrdb -merge "/home/noah/.config/Xresources.d/all" 86 ### Key bindings
+45
users.nix
···
··· 1 + { pkgs, lib, ... }: 2 + let 3 + home-manager = builtins.fetchTarball 4 + "https://github.com/nix-community/home-manager/archive/release-25.05.tar.gz"; 5 + in 6 + { 7 + 8 + imports = [ 9 + # Import home-manager first, it's required for other modules 10 + (import "${home-manager}/nixos") 11 + ]; 12 + 13 + # Declarative only optoins. 14 + # I don't want to allow ad-hoc modifying users on the system. 15 + # Users must be declared either as part of a package or in this file. 16 + users.mutableUsers = false; 17 + 18 + 19 + # Define a user account. Don't forget to set a password with โ€˜passwdโ€™. 20 + users.users.noah = { 21 + isNormalUser = true; 22 + shell = pkgs.fish; 23 + extraGroups = [ "wheel" "video" "nas" "libvirtd" "qemu-libvirtd" "docker" ]; # Enable โ€˜sudoโ€™ for the user. 24 + hashedPasswordFile = "/etc/nixos/noah-password"; 25 + openssh.authorizedKeys.keys = 26 + lib.strings.splitString "\n" (builtins.readFile (builtins.fetchurl { 27 + url = "https://meta.sr.ht/~chiefnoah.keys"; 28 + name = "chiefnoah.keys"; 29 + # Update this with: 30 + # `curl https://meta.sr.ht/~chiefnoah.keys | sha256sum` 31 + sha256 = "0wdnx25blqihbgaa0hzd39mjqwki92ambar097hjfmlrxg1s4lk7"; 32 + })); 33 + }; 34 + 35 + users.groups.nas.gid = 1001; 36 + 37 + # I manage my home with home-manager 38 + # Don't store packages in ~/.nix-profile, use /etc/profiles so we can build-vm 39 + home-manager.useUserPackages = true; 40 + # No more NIX_PATH, use system pkgs 41 + home-manager.useGlobalPkgs = true; 42 + home-manager.backupFileExtension = "bak"; 43 + 44 + home-manager.users.noah = import ./noah-home.nix; 45 + }
+5 -5
vis/visrc.lua
··· 1 require('vis') 2 local plugins = { 3 - --{ 'timoha/vis-acme', theme = true, file = 'acme' }, 4 { 'milhnl/vis-format' }, 5 { url = 'https://git.cepl.eu/cgit/vis/vis-fzf-open' }, 6 { url = 'https://gitlab.com/muhq/vis-lspc.git' }, 7 - { url = 'https://repo.or.cz/vis-parkour.git', alias = 'vis-parkour' }, 8 } 9 10 - local function setup_plug() 11 if not pcall(require, 'plugins/vis-plug') then 12 os.execute('git clone --quiet https://github.com/erf/vis-plug ' .. 13 (os.getenv('XDG_CONFIG_HOME') or os.getenv('HOME') .. '/.config') ··· 19 20 plug.init(plugins, true) 21 22 - local function configure_plugin(name, config) 23 if vis:module_exist(name) then 24 local module = require(name) 25 config(module) ··· 59 vis:command('set autoindent on') 60 vis:command('set cursorline on') 61 vis:command('set tabwidth 4') 62 - vis:command('set theme zenburn') 63 end) 64 return nil
··· 1 require('vis') 2 + local plugin_manager = 'plugins/vis-plug' 3 local plugins = { 4 + { 'timoha/vis-acme', theme = true, file = 'acme' }, 5 { 'milhnl/vis-format' }, 6 { url = 'https://git.cepl.eu/cgit/vis/vis-fzf-open' }, 7 { url = 'https://gitlab.com/muhq/vis-lspc.git' }, 8 + { url = 'https://repo.or.cz/vis-parkour.git', alias = 'vis-parkour' } 9 } 10 11 + function setup_plug() 12 if not pcall(require, 'plugins/vis-plug') then 13 os.execute('git clone --quiet https://github.com/erf/vis-plug ' .. 14 (os.getenv('XDG_CONFIG_HOME') or os.getenv('HOME') .. '/.config') ··· 20 21 plug.init(plugins, true) 22 23 + function configure_plugin(name, config) 24 if vis:module_exist(name) then 25 local module = require(name) 26 config(module) ··· 60 vis:command('set autoindent on') 61 vis:command('set cursorline on') 62 vis:command('set tabwidth 4') 63 end) 64 return nil
xfce/Win95_plus/1024x1024/apps/3d_graphics_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/3d_graphics_program.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/Home.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/aseprite.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/aseprite_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/audio_editor.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/audio_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/audio_music_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/brave-browser.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/brave.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/briefcase.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/calculator.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/calendar.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/camera.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/cd_drive.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/chrome.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/clock.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/contact_book.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/discord.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/drive.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/firefox.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/flop_drive.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/folder_closed.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/folder_dark.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/folder_open.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/games.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/gihtub.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/gwenview.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/image_editor.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/image_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/krita.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/libreoffice-calc.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/libreoffice-writer.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/libreoffice_--calc.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/libreoffice_--writer.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/mail.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/microphone.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/minecraft.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/movies.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/mpv.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/music.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/news.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/notepad.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/obsidian.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/okular.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/org.prismlauncher.PrismLauncher.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/org.xfce.panel.applicationsmenu.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/org.xfce.terminalemulator.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/paint.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/paint_alt.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/parsec.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/password_manager.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/phone.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/printer.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/prismlauncher.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/program.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/proton-vpn-logo.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/protonvpn-app.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/protonvpn.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/recycle_bin.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/recycle_bin_full.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/script_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/search.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/signal-desktop.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/slack.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/sounds.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/spotify-client.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/spotify.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/spreadsheet_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/spreadsheet_program.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/stardew_valley.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/steam.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/sticky_note.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/text_editor.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/text_file-default.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/text_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/text_file_2.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/this_computer.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/tools.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/vesktop.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/video_editor.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/video_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/video_movie_editor.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/vlc.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/vscodium.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/webpage_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/whisker-menu-button.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/workspace.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/world.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/xfce4-terminal.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/3d_graphics_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/3d_graphics_program.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/Home.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/aseprite.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/aseprite_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/audio_editor.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/audio_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/audio_music_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/brave-browser.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/brave.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/briefcase.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/calculator.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/calendar.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/camera.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/cd_drive.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/chrome.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/clock.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/contact_book.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/discord.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/drive.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/firefox.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/flop_drive.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/folder_closed.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/folder_dark.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/folder_open.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/games.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/github.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/gwenview.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/image_editor.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/image_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/krita.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/libreoffice-calc.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/libreoffice-writer.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/libreoffice_--calc.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/libreoffice_--writer.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/mail.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/microphone.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/minecraft.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/movies.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/mpv.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/music.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/news.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/notepad.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/obsidian.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/okular.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/org.prismlauncher.PrismLauncher.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/org.xfce.panel.applicationsmenu.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/org.xfce.terminalemulator.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/paint.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/paint_alt.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/parsec.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/password_manager.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/phone.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/printer.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/prismlauncher.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/program.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/proton-vpn-logo.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/protonvpn-app.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/protonvpn.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/recycle_bin.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/recycle_bin_full.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/script_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/search.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/signal-desktop.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/slack.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/sounds.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/spotify-client.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/spotify.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/spreadsheet_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/spreadsheet_program.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/stardew_valley.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/steam.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/sticky_note.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/text_editor.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/text_file-default.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/text_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/text_file_2.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/this_computer.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/tools.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/vesktop.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/video_editor.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/video_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/video_movie_editor.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/vlc.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/webpage_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/whisker-menu-button.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/workspace.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/world.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/xfce4-terminal.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/3d_graphics_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/3d_graphics_program.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/Home.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/aseprite.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/aseprite_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/audio_editor.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/audio_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/audio_music_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/brave-browser.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/brave.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/briefcase.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/calculator.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/calendar.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/camera.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/cd_drive.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/chrome.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/clock.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/contact_book.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/discord.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/drive.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/firefox.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/flop_drive.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/folder_closed.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/folder_dark.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/folder_open.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/games.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/github.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/gwenview.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/image_editor.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/image_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/krita.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/libreoffice-calc.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/libreoffice-writer.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/libreoffice_--calc.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/libreoffice_--writer.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/mail.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/microphone.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/minecraft.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/movies.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/mpv.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/music.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/news.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/notepad.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/obsidian.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/okular.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/org.prismlauncher.PrismLauncher.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/org.xfce.panel.applicationsmenu.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/org.xfce.terminalemulator.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/paint.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/paint_alt.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/parsec.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/password_manager.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/phone.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/printer.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/prismlauncher.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/program.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/proton-vpn-logo.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/protonvpn-app.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/protonvpn.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/recycle_bin_empty.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/recycle_bin_full.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/script_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/search.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/signal-desktop.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/slack.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/sounds.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/spotify-client.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/spotify.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/spreadsheet_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/spreadsheet_program.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/stardew_valley.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/steam.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/sticky_note.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/text_editor.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/text_file-default.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/text_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/text_file_2.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/this_computer.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/tools.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/vesktop.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/video_editor.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/video_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/video_movie_editor.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/vlc.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/webpage_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/whisker-menu-button.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/workspace.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/world.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/xfce4-terminal.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/3d_graphics_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/3d_graphics_program.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/Home.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/aseprite.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/aseprite_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/audio_editor.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/audio_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/audio_music_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/brave-browser.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/brave.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/briefcase.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/calculator.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/calendar.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/camera.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/cd_drive.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/chrome.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/clock.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/contact_book.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/discord.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/drive.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/firefox.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/flop_drive.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/folder_closed.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/folder_dark.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/folder_open.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/games.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/github.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/gwenview.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/image_editor.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/image_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/krita.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/libreoffice-calc.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/libreoffice-writer.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/libreoffice_--calc.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/libreoffice_--writer.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/mail.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/microphone.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/minecraft.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/movies.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/mpv.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/music.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/news.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/notepad.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/obsidian.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/okular.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/org.prismlauncher.PrismLauncher.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/org.xfce.panel.applicationsmenu.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/org.xfce.terminalemulator.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/paint.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/paint_alt.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/parsec.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/password_manager.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/phone.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/printer.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/prismlauncher.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/program.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/proton-vpn-logo.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/protonvpn-app.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/protonvpn.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/recycle_bin.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/recycle_bin_full.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/script_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/search.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/signal-desktop.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/slack.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/sounds.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/spotify-client.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/spotify.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/spreadsheet_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/spreadsheet_program.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/stardew_valley.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/steam.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/sticky_note.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/text_editor.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/text_file-default.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/text_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/text_file_2.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/this_computer.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/tools.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/vesktop.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/video_editor.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/video_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/video_movie_editor.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/vlc.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/webpadge_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/whisker-menu-button.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/workspace.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/world.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/xfce4-terminal.png

This is a binary file and will not be displayed.

+25
xfce/Win95_plus/index.theme
···
··· 1 + [Icon Theme] 2 + Name=Win95_plus 3 + Comment=Custom icon set inspired by Win95 4 + Inherits=Adwaita 5 + Directories=32x32/apps,256x256/apps,512x512/apps,1024x1024/apps 6 + 7 + [32x32/apps] 8 + Size=32 9 + Context=Applications 10 + Type=Fixed 11 + 12 + [256x256/apps] 13 + Size=256 14 + Context=Applications 15 + Type=Fixed 16 + 17 + [512x512/apps] 18 + Size=512 19 + Context=Applications 20 + Type=Fixed 21 + 22 + [1024x1024/apps] 23 + Size=1024 24 + Context=Applications 25 + Type=Fixed
+40
xfce/chicago95.nix
···
··· 1 + { lib 2 + , stdenvNoCC 3 + , fetchFromGitHub 4 + , 5 + }: 6 + stdenvNoCC.mkDerivation (finalAttrs: { 7 + pname = "chicago95"; 8 + version = "3.0.1"; 9 + 10 + src = fetchFromGitHub { 11 + owner = "grassmunk"; 12 + repo = "Chicago95"; 13 + rev = "v${finalAttrs.version}"; 14 + hash = "sha256-EHcDIct2VeTsjbQWnKB2kwSFNb97dxuydAu+i/VquBA="; 15 + }; 16 + 17 + dontBuild = true; 18 + 19 + installPhase = '' 20 + runHook preInstall 21 + mkdir -p $out/share/themes 22 + cp -a Theme/Chicago95 $out/share/themes 23 + runHook postInstall 24 + ''; 25 + 26 + meta = { 27 + description = "Rendition of everyone's favorite 1995 Microsoft operating system for Linux"; 28 + homepage = "https://github.com/grassmunk/Chicago95"; 29 + changelog = "https://github.com/grassmunk/Chicago95/releases/tag/v${finalAttrs.version}"; 30 + license = with lib.licenses; [ 31 + gpl3Plus # generally 32 + mit # for the lightdm greeter 33 + ]; 34 + maintainers = with lib.maintainers; [ 35 + linuxissuper 36 + jk 37 + ]; 38 + platforms = lib.platforms.all; 39 + }; 40 + })
+10
xfce/themeConfig/launcher-13/brave.desktop
···
··· 1 + [Desktop Entry] 2 + Version=1.0 3 + Type=Application 4 + Name=Brave 5 + GenericName=Web Browser 6 + Comment=Browse the Web 7 + Exec=brave 8 + Icon=world 9 + Terminal=false 10 + Categories=Network;WebBrowser;
+11
xfce/themeConfig/launcher-14/signal.desktop
···
··· 1 + [Desktop Entry] 2 + Version=1.0 3 + Type=Application 4 + Name=Signal 5 + 6 + Comment=Private Messenger 7 + Exec=signal-desktop %U 8 + Icon=signal-desktop 9 + Terminal=false 10 + Categories=Network;InstantMessaging; 11 +
+10
xfce/themeConfig/launcher-15/obsidian.desktop
···
··· 1 + [Desktop Entry] 2 + Version=1.0 3 + Type=Application 4 + Name=Obsidian 5 + 6 + Comment=Markdown Editor 7 + Exec=obsidian %u 8 + Icon=obsidian 9 + Terminal=false 10 + Categories=Office;Utility;
+10
xfce/themeConfig/launcher-16/spotify.desktop
···
··· 1 + [Desktop Entry] 2 + Version=1.0 3 + Type=Application 4 + Name=Spotify 5 + 6 + Comment=Spotify Music 7 + Exec=spotify %U 8 + Icon=spotify 9 + Terminal=false 10 + Categories=AudioVideo;Player;
+33
xfce/themeConfig/xfce4-desktop.xml
···
··· 1 + <?xml version="1.1" encoding="UTF-8"?> 2 + 3 + <channel name="xfce4-desktop" version="1.0"> 4 + <property name="last-settings-migration-version" type="uint" value="1"/> 5 + <property name="backdrop" type="empty"> 6 + <property name="screen0" type="empty"> 7 + <property name="monitor0" type="empty"> 8 + <property name="image-path" type="string" value="/home/user/Wallpaper/NixOS-95-wallpaper.png"/> 9 + <property name="image-show" type="bool" value="true"/> 10 + <property name="image-style" type="int" value="5"/> 11 + </property> 12 + <property name="monitoreDP-1" type="empty"> 13 + <property name="workspace0" type="empty"> 14 + <property name="last-image" type="string" value="/home/user/Wallpaper/NixOS-95-wallpaper.png"/> 15 + <property name="image-style" type="int" value="5"/> 16 + </property> 17 + </property> 18 + </property> 19 + </property> 20 + <property name="last" type="empty"> 21 + <property name="window-width" type="int" value="740"/> 22 + <property name="window-height" type="int" value="531"/> 23 + </property> 24 + <property name="desktop-icons" type="empty"> 25 + <property name="style" type="int" value="2"/> 26 + <property name="file-icons" type="empty"> 27 + <property name="show-home" type="bool" value="false"/> 28 + <property name="show-filesystem" type="bool" value="false"/> 29 + <property name="show-trash" type="bool" value="false"/> 30 + <property name="show-removable" type="bool" value="false"/> 31 + </property> 32 + </property> 33 + </channel>
+197
xfce/themeConfig/xfce4-keyboard-shortcuts.xml
···
··· 1 + <?xml version="1.1" encoding="UTF-8"?> 2 + 3 + <channel name="xfce4-keyboard-shortcuts" version="1.0"> 4 + <property name="commands" type="empty"> 5 + <property name="default" type="empty"> 6 + <property name="&lt;Alt&gt;F1" type="empty"/> 7 + <property name="&lt;Alt&gt;F2" type="empty"> 8 + <property name="startup-notify" type="empty"/> 9 + </property> 10 + <property name="&lt;Alt&gt;F3" type="empty"> 11 + <property name="startup-notify" type="empty"/> 12 + </property> 13 + <property name="&lt;Primary&gt;&lt;Alt&gt;Delete" type="empty"/> 14 + <property name="&lt;Primary&gt;&lt;Alt&gt;l" type="empty"/> 15 + <property name="&lt;Primary&gt;&lt;Alt&gt;t" type="empty"/> 16 + <property name="XF86Display" type="empty"/> 17 + <property name="&lt;Super&gt;p" type="empty"/> 18 + <property name="&lt;Primary&gt;Escape" type="empty"/> 19 + <property name="XF86WWW" type="empty"/> 20 + <property name="HomePage" type="empty"/> 21 + <property name="XF86Mail" type="empty"/> 22 + <property name="Print" type="empty"/> 23 + <property name="&lt;Alt&gt;Print" type="empty"/> 24 + <property name="&lt;Shift&gt;Print" type="empty"/> 25 + <property name="&lt;Super&gt;e" type="empty"/> 26 + <property name="&lt;Primary&gt;&lt;Alt&gt;f" type="empty"/> 27 + <property name="&lt;Primary&gt;&lt;Alt&gt;Escape" type="empty"/> 28 + <property name="&lt;Primary&gt;&lt;Shift&gt;Escape" type="empty"/> 29 + <property name="&lt;Super&gt;r" type="empty"> 30 + <property name="startup-notify" type="empty"/> 31 + </property> 32 + <property name="&lt;Alt&gt;&lt;Super&gt;s" type="empty"/> 33 + </property> 34 + <property name="custom" type="empty"> 35 + <property name="&lt;Alt&gt;F2" type="string" value="xfce4-appfinder --collapsed"> 36 + <property name="startup-notify" type="bool" value="true"/> 37 + </property> 38 + <property name="&lt;Alt&gt;Print" type="string" value="xfce4-screenshooter -w"/> 39 + <property name="&lt;Super&gt;r" type="string" value="xfce4-appfinder -c"> 40 + <property name="startup-notify" type="bool" value="true"/> 41 + </property> 42 + <property name="XF86WWW" type="string" value="exo-open --launch WebBrowser"/> 43 + <property name="XF86Mail" type="string" value="exo-open --launch MailReader"/> 44 + <property name="&lt;Alt&gt;F3" type="string" value="xfce4-appfinder"> 45 + <property name="startup-notify" type="bool" value="true"/> 46 + </property> 47 + <property name="Print" type="string" value="xfce4-screenshooter"/> 48 + <property name="&lt;Primary&gt;Escape" type="string" value="xfdesktop --menu"/> 49 + <property name="&lt;Shift&gt;Print" type="string" value="xfce4-screenshooter -r"/> 50 + <property name="&lt;Primary&gt;&lt;Alt&gt;Delete" type="string" value="xfce4-session-logout"/> 51 + <property name="&lt;Alt&gt;&lt;Super&gt;s" type="string" value="orca"/> 52 + <property name="&lt;Primary&gt;&lt;Alt&gt;t" type="string" value="exo-open --launch TerminalEmulator"/> 53 + <property name="&lt;Primary&gt;&lt;Alt&gt;f" type="string" value="thunar"/> 54 + <property name="&lt;Primary&gt;&lt;Alt&gt;l" type="string" value="xflock4"/> 55 + <property name="&lt;Super&gt;l" type="string" value="xflock4"/> 56 + <property name="&lt;Alt&gt;F1" type="string" value="xfce4-popup-applicationsmenu"/> 57 + <property name="&lt;Super&gt;p" type="string" value="xfce4-display-settings --minimal"/> 58 + <property name="&lt;Primary&gt;&lt;Shift&gt;Escape" type="string" value="xfce4-taskmanager"/> 59 + <property name="&lt;Super&gt;e" type="string" value="thunar"/> 60 + <property name="&lt;Primary&gt;&lt;Alt&gt;Escape" type="string" value="xkill"/> 61 + <property name="HomePage" type="string" value="exo-open --launch WebBrowser"/> 62 + <property name="XF86Display" type="string" value="xfce4-display-settings --minimal"/> 63 + <property name="override" type="bool" value="true"/> 64 + </property> 65 + </property> 66 + <property name="xfwm4" type="empty"> 67 + <property name="default" type="empty"> 68 + <property name="&lt;Alt&gt;Insert" type="empty"/> 69 + <property name="Escape" type="empty"/> 70 + <property name="Left" type="empty"/> 71 + <property name="Right" type="empty"/> 72 + <property name="Up" type="empty"/> 73 + <property name="Down" type="empty"/> 74 + <property name="&lt;Alt&gt;Tab" type="empty"/> 75 + <property name="&lt;Alt&gt;&lt;Shift&gt;Tab" type="empty"/> 76 + <property name="&lt;Alt&gt;Delete" type="empty"/> 77 + <property name="&lt;Primary&gt;&lt;Alt&gt;Down" type="empty"/> 78 + <property name="&lt;Primary&gt;&lt;Alt&gt;Left" type="empty"/> 79 + <property name="&lt;Shift&gt;&lt;Alt&gt;Page_Down" type="empty"/> 80 + <property name="&lt;Alt&gt;F4" type="empty"/> 81 + <property name="&lt;Alt&gt;F6" type="empty"/> 82 + <property name="&lt;Alt&gt;F7" type="empty"/> 83 + <property name="&lt;Alt&gt;F8" type="empty"/> 84 + <property name="&lt;Alt&gt;F9" type="empty"/> 85 + <property name="&lt;Alt&gt;F10" type="empty"/> 86 + <property name="&lt;Alt&gt;F11" type="empty"/> 87 + <property name="&lt;Alt&gt;F12" type="empty"/> 88 + <property name="&lt;Primary&gt;&lt;Shift&gt;&lt;Alt&gt;Left" type="empty"/> 89 + <property name="&lt;Primary&gt;&lt;Alt&gt;End" type="empty"/> 90 + <property name="&lt;Primary&gt;&lt;Alt&gt;Home" type="empty"/> 91 + <property name="&lt;Primary&gt;&lt;Shift&gt;&lt;Alt&gt;Right" type="empty"/> 92 + <property name="&lt;Primary&gt;&lt;Shift&gt;&lt;Alt&gt;Up" type="empty"/> 93 + <property name="&lt;Primary&gt;&lt;Alt&gt;KP_1" type="empty"/> 94 + <property name="&lt;Primary&gt;&lt;Alt&gt;KP_2" type="empty"/> 95 + <property name="&lt;Primary&gt;&lt;Alt&gt;KP_3" type="empty"/> 96 + <property name="&lt;Primary&gt;&lt;Alt&gt;KP_4" type="empty"/> 97 + <property name="&lt;Primary&gt;&lt;Alt&gt;KP_5" type="empty"/> 98 + <property name="&lt;Primary&gt;&lt;Alt&gt;KP_6" type="empty"/> 99 + <property name="&lt;Primary&gt;&lt;Alt&gt;KP_7" type="empty"/> 100 + <property name="&lt;Primary&gt;&lt;Alt&gt;KP_8" type="empty"/> 101 + <property name="&lt;Primary&gt;&lt;Alt&gt;KP_9" type="empty"/> 102 + <property name="&lt;Alt&gt;space" type="empty"/> 103 + <property name="&lt;Shift&gt;&lt;Alt&gt;Page_Up" type="empty"/> 104 + <property name="&lt;Primary&gt;&lt;Alt&gt;Right" type="empty"/> 105 + <property name="&lt;Primary&gt;&lt;Alt&gt;d" type="empty"/> 106 + <property name="&lt;Primary&gt;&lt;Alt&gt;Up" type="empty"/> 107 + <property name="&lt;Super&gt;Tab" type="xfce4-popup-applicationsmenu"/> 108 + <property name="&lt;Primary&gt;F1" type="empty"/> 109 + <property name="&lt;Primary&gt;F2" type="empty"/> 110 + <property name="&lt;Primary&gt;F3" type="empty"/> 111 + <property name="&lt;Primary&gt;F4" type="empty"/> 112 + <property name="&lt;Primary&gt;F5" type="empty"/> 113 + <property name="&lt;Primary&gt;F6" type="empty"/> 114 + <property name="&lt;Primary&gt;F7" type="empty"/> 115 + <property name="&lt;Primary&gt;F8" type="empty"/> 116 + <property name="&lt;Primary&gt;F9" type="empty"/> 117 + <property name="&lt;Primary&gt;F10" type="empty"/> 118 + <property name="&lt;Primary&gt;F11" type="empty"/> 119 + <property name="&lt;Primary&gt;F12" type="empty"/> 120 + <property name="&lt;Super&gt;KP_Left" type="empty"/> 121 + <property name="&lt;Super&gt;KP_Right" type="empty"/> 122 + <property name="&lt;Super&gt;KP_Down" type="empty"/> 123 + <property name="&lt;Super&gt;KP_Up" type="empty"/> 124 + <property name="&lt;Super&gt;KP_Page_Up" type="empty"/> 125 + <property name="&lt;Super&gt;KP_Home" type="empty"/> 126 + <property name="&lt;Super&gt;KP_End" type="empty"/> 127 + <property name="&lt;Super&gt;KP_Next" type="empty"/> 128 + </property> 129 + <property name="custom" type="empty"> 130 + <property name="&lt;Primary&gt;F12" type="string" value="workspace_12_key"/> 131 + <property name="&lt;Super&gt;KP_Down" type="string" value="tile_down_key"/> 132 + <property name="&lt;Alt&gt;F4" type="string" value="close_window_key"/> 133 + <property name="&lt;Primary&gt;&lt;Alt&gt;KP_3" type="string" value="move_window_workspace_3_key"/> 134 + <property name="&lt;Primary&gt;F2" type="string" value="workspace_2_key"/> 135 + <property name="&lt;Primary&gt;F6" type="string" value="workspace_6_key"/> 136 + <property name="&lt;Primary&gt;&lt;Alt&gt;Down" type="string" value="down_workspace_key"/> 137 + <property name="&lt;Primary&gt;&lt;Alt&gt;KP_9" type="string" value="move_window_workspace_9_key"/> 138 + <property name="&lt;Super&gt;KP_Up" type="string" value="tile_up_key"/> 139 + <property name="&lt;Primary&gt;&lt;Alt&gt;End" type="string" value="move_window_next_workspace_key"/> 140 + <property name="&lt;Primary&gt;F8" type="string" value="workspace_8_key"/> 141 + <property name="&lt;Primary&gt;&lt;Shift&gt;&lt;Alt&gt;Left" type="string" value="move_window_left_key"/> 142 + <property name="&lt;Super&gt;KP_Right" type="string" value="tile_right_key"/> 143 + <property name="&lt;Primary&gt;&lt;Alt&gt;KP_4" type="string" value="move_window_workspace_4_key"/> 144 + <property name="Right" type="string" value="right_key"/> 145 + <property name="Down" type="string" value="down_key"/> 146 + <property name="&lt;Primary&gt;F3" type="string" value="workspace_3_key"/> 147 + <property name="&lt;Shift&gt;&lt;Alt&gt;Page_Down" type="string" value="lower_window_key"/> 148 + <property name="&lt;Primary&gt;F9" type="string" value="workspace_9_key"/> 149 + <property name="&lt;Alt&gt;Tab" type="string" value="cycle_windows_key"/> 150 + <property name="&lt;Primary&gt;&lt;Shift&gt;&lt;Alt&gt;Right" type="string" value="move_window_right_key"/> 151 + <property name="&lt;Primary&gt;&lt;Alt&gt;Right" type="string" value="right_workspace_key"/> 152 + <property name="&lt;Alt&gt;F6" type="string" value="stick_window_key"/> 153 + <property name="&lt;Primary&gt;&lt;Alt&gt;KP_5" type="string" value="move_window_workspace_5_key"/> 154 + <property name="&lt;Primary&gt;F11" type="string" value="workspace_11_key"/> 155 + <property name="&lt;Alt&gt;F10" type="string" value="maximize_window_key"/> 156 + <property name="&lt;Alt&gt;Delete" type="string" value="del_workspace_key"/> 157 + <property name="&lt;Super&gt;Tab" type="string" value="switch_window_key"/> 158 + <property name="&lt;Primary&gt;&lt;Alt&gt;d" type="string" value="show_desktop_key"/> 159 + <property name="&lt;Primary&gt;F4" type="string" value="workspace_4_key"/> 160 + <property name="&lt;Super&gt;KP_Page_Up" type="string" value="tile_up_right_key"/> 161 + <property name="&lt;Alt&gt;F7" type="string" value="move_window_key"/> 162 + <property name="Up" type="string" value="up_key"/> 163 + <property name="&lt;Primary&gt;&lt;Alt&gt;KP_6" type="string" value="move_window_workspace_6_key"/> 164 + <property name="&lt;Alt&gt;F11" type="string" value="fullscreen_key"/> 165 + <property name="&lt;Alt&gt;space" type="string" value="popup_menu_key"/> 166 + <property name="&lt;Super&gt;KP_Home" type="string" value="tile_up_left_key"/> 167 + <property name="Escape" type="string" value="cancel_key"/> 168 + <property name="&lt;Primary&gt;&lt;Alt&gt;KP_1" type="string" value="move_window_workspace_1_key"/> 169 + <property name="&lt;Super&gt;KP_Next" type="string" value="tile_down_right_key"/> 170 + <property name="&lt;Super&gt;KP_Left" type="string" value="tile_left_key"/> 171 + <property name="&lt;Shift&gt;&lt;Alt&gt;Page_Up" type="string" value="raise_window_key"/> 172 + <property name="&lt;Primary&gt;&lt;Alt&gt;Home" type="string" value="move_window_prev_workspace_key"/> 173 + <property name="&lt;Alt&gt;&lt;Shift&gt;Tab" type="string" value="cycle_reverse_windows_key"/> 174 + <property name="&lt;Primary&gt;&lt;Alt&gt;Left" type="string" value="left_workspace_key"/> 175 + <property name="&lt;Alt&gt;F12" type="string" value="above_key"/> 176 + <property name="&lt;Primary&gt;&lt;Shift&gt;&lt;Alt&gt;Up" type="string" value="move_window_up_key"/> 177 + <property name="&lt;Primary&gt;F5" type="string" value="workspace_5_key"/> 178 + <property name="&lt;Alt&gt;F8" type="string" value="resize_window_key"/> 179 + <property name="&lt;Primary&gt;&lt;Alt&gt;KP_7" type="string" value="move_window_workspace_7_key"/> 180 + <property name="&lt;Primary&gt;&lt;Alt&gt;KP_2" type="string" value="move_window_workspace_2_key"/> 181 + <property name="&lt;Super&gt;KP_End" type="string" value="tile_down_left_key"/> 182 + <property name="&lt;Primary&gt;&lt;Alt&gt;Up" type="string" value="up_workspace_key"/> 183 + <property name="&lt;Alt&gt;F9" type="string" value="hide_window_key"/> 184 + <property name="&lt;Primary&gt;F7" type="string" value="workspace_7_key"/> 185 + <property name="&lt;Primary&gt;F10" type="string" value="workspace_10_key"/> 186 + <property name="Left" type="string" value="left_key"/> 187 + <property name="&lt;Primary&gt;&lt;Alt&gt;KP_8" type="string" value="move_window_workspace_8_key"/> 188 + <property name="&lt;Alt&gt;Insert" type="string" value="add_workspace_key"/> 189 + <property name="&lt;Primary&gt;F1" type="string" value="workspace_1_key"/> 190 + <property name="override" type="bool" value="true"/> 191 + </property> 192 + </property> 193 + <property name="providers" type="array"> 194 + <value type="string" value="xfwm4"/> 195 + <value type="string" value="commands"/> 196 + </property> 197 + </channel>
+81
xfce/themeConfig/xfce4-panel.xml
···
··· 1 + <?xml version="1.1" encoding="UTF-8"?> 2 + 3 + <channel name="xfce4-panel" version="1.0"> 4 + <property name="configver" type="int" value="2"/> 5 + <property name="panels" type="array"> 6 + <value type="int" value="1"/> 7 + <property name="dark-mode" type="bool" value="true"/> 8 + <property name="panel-1" type="empty"> 9 + <property name="position" type="string" value="p=8;x=1368;y=1810"/> 10 + <property name="length" type="double" value="100"/> 11 + <property name="position-locked" type="bool" value="true"/> 12 + <property name="icon-size" type="uint" value="0"/> 13 + <property name="size" type="uint" value="36"/> 14 + <property name="plugin-ids" type="array"> 15 + <value type="int" value="1"/> 16 + <value type="int" value="13"/> 17 + <value type="int" value="14"/> 18 + <value type="int" value="15"/> 19 + <value type="int" value="16"/> 20 + <value type="int" value="2"/> 21 + <value type="int" value="5"/> 22 + <value type="int" value="6"/> 23 + <value type="int" value="8"/> 24 + <value type="int" value="10"/> 25 + </property> 26 + <property name="mode" type="uint" value="0"/> 27 + <property name="background-style" type="uint" value="0"/> 28 + </property> 29 + </property> 30 + <property name="plugins" type="empty"> 31 + <property name="plugin-1" type="string" value="whiskermenu"> 32 + <property name="button-icon" type="string" value="whisker-menu-button"/> 33 + <property name="recent" type="array"> 34 + <value type="string" value="codium.desktop"/> 35 + </property> 36 + </property> 37 + <property name="plugin-2" type="string" value="tasklist"> 38 + <property name="grouping" type="uint" value="1"/> 39 + </property> 40 + <property name="plugin-6" type="string" value="systray"> 41 + <property name="square-icons" type="bool" value="true"/> 42 + <property name="known-legacy-items" type="array"> 43 + <value type="string" value="networkmanager applet"/> 44 + </property> 45 + </property> 46 + <property name="plugin-8" type="string" value="clock"> 47 + <property name="mode" type="uint" value="2"/> 48 + <property name="digital-layout" type="uint" value="3"/> 49 + <property name="digital-time-font" type="string" value="Sans 12"/> 50 + </property> 51 + <property name="plugin-10" type="string" value="actions"/> 52 + <property name="plugin-13" type="string" value="launcher"> 53 + <property name="show-label" type="bool" value="false"/> 54 + <property name="items" type="array"> 55 + <value type="string" value="brave.desktop"/> 56 + </property> 57 + </property> 58 + <property name="plugin-14" type="string" value="launcher"> 59 + <property name="show-label" type="bool" value="false"/> 60 + <property name="items" type="array"> 61 + <value type="string" value="signal.desktop"/> 62 + </property> 63 + </property> 64 + <property name="plugin-15" type="string" value="launcher"> 65 + <property name="show-label" type="bool" value="false"/> 66 + <property name="items" type="array"> 67 + <value type="string" value="obsidian.desktop"/> 68 + </property> 69 + </property> 70 + <property name="plugin-16" type="string" value="launcher"> 71 + <property name="show-label" type="bool" value="false"/> 72 + <property name="items" type="array"> 73 + <value type="string" value="spotify.desktop"/> 74 + </property> 75 + </property> 76 + <property name="plugin-5" type="string" value="separator"> 77 + <property name="expand" type="bool" value="true"/> 78 + <property name="style" type="uint" value="0"/> 79 + </property> 80 + </property> 81 + </channel>
+6
xfce/themeConfig/xfce4-sessions.xml
···
··· 1 + <?xml version="1.0" encoding="UTF-8"?> 2 + <channel name="xfce4-session" version="1.0"> 3 + <property name="General"> 4 + <property name="SaveOnExit" type="bool" value="false"/> 5 + </property> 6 + </channel>
+91
xfce/themeConfig/xfwm4.xml
···
··· 1 + <?xml version="1.1" encoding="UTF-8"?> 2 + 3 + <channel name="xfwm4" version="1.0"> 4 + <property name="general" type="empty"> 5 + <property name="activate_action" type="string" value="bring"/> 6 + <property name="borderless_maximize" type="bool" value="true"/> 7 + <property name="box_move" type="bool" value="false"/> 8 + <property name="box_resize" type="bool" value="false"/> 9 + <property name="button_layout" type="string" value="O|SHMC"/> 10 + <property name="button_offset" type="int" value="0"/> 11 + <property name="button_spacing" type="int" value="0"/> 12 + <property name="click_to_focus" type="bool" value="true"/> 13 + <property name="cycle_apps_only" type="bool" value="false"/> 14 + <property name="cycle_draw_frame" type="bool" value="true"/> 15 + <property name="cycle_raise" type="bool" value="false"/> 16 + <property name="cycle_hidden" type="bool" value="true"/> 17 + <property name="cycle_minimum" type="bool" value="true"/> 18 + <property name="cycle_minimized" type="bool" value="false"/> 19 + <property name="cycle_preview" type="bool" value="true"/> 20 + <property name="cycle_tabwin_mode" type="int" value="0"/> 21 + <property name="cycle_workspaces" type="bool" value="false"/> 22 + <property name="double_click_action" type="string" value="maximize"/> 23 + <property name="double_click_distance" type="int" value="5"/> 24 + <property name="double_click_time" type="int" value="250"/> 25 + <property name="easy_click" type="string" value="Alt"/> 26 + <property name="focus_delay" type="int" value="250"/> 27 + <property name="focus_hint" type="bool" value="true"/> 28 + <property name="focus_new" type="bool" value="true"/> 29 + <property name="frame_opacity" type="int" value="100"/> 30 + <property name="frame_border_top" type="int" value="0"/> 31 + <property name="full_width_title" type="bool" value="true"/> 32 + <property name="horiz_scroll_opacity" type="bool" value="false"/> 33 + <property name="inactive_opacity" type="int" value="100"/> 34 + <property name="maximized_offset" type="int" value="0"/> 35 + <property name="mousewheel_rollup" type="bool" value="true"/> 36 + <property name="move_opacity" type="int" value="100"/> 37 + <property name="placement_mode" type="string" value="center"/> 38 + <property name="placement_ratio" type="int" value="20"/> 39 + <property name="popup_opacity" type="int" value="100"/> 40 + <property name="prevent_focus_stealing" type="bool" value="false"/> 41 + <property name="raise_delay" type="int" value="250"/> 42 + <property name="raise_on_click" type="bool" value="true"/> 43 + <property name="raise_on_focus" type="bool" value="false"/> 44 + <property name="raise_with_any_button" type="bool" value="true"/> 45 + <property name="repeat_urgent_blink" type="bool" value="false"/> 46 + <property name="resize_opacity" type="int" value="100"/> 47 + <property name="scroll_workspaces" type="bool" value="true"/> 48 + <property name="shadow_delta_height" type="int" value="0"/> 49 + <property name="shadow_delta_width" type="int" value="0"/> 50 + <property name="shadow_delta_x" type="int" value="0"/> 51 + <property name="shadow_delta_y" type="int" value="-3"/> 52 + <property name="shadow_opacity" type="int" value="50"/> 53 + <property name="show_app_icon" type="bool" value="false"/> 54 + <property name="show_dock_shadow" type="bool" value="true"/> 55 + <property name="show_frame_shadow" type="bool" value="true"/> 56 + <property name="show_popup_shadow" type="bool" value="false"/> 57 + <property name="snap_resist" type="bool" value="false"/> 58 + <property name="snap_to_border" type="bool" value="true"/> 59 + <property name="snap_to_windows" type="bool" value="false"/> 60 + <property name="snap_width" type="int" value="10"/> 61 + <property name="vblank_mode" type="string" value="auto"/> 62 + <property name="theme" type="string" value="Default"/> 63 + <property name="tile_on_move" type="bool" value="true"/> 64 + <property name="title_alignment" type="string" value="center"/> 65 + <property name="title_font" type="string" value="Sans Bold 9"/> 66 + <property name="title_horizontal_offset" type="int" value="0"/> 67 + <property name="titleless_maximize" type="bool" value="false"/> 68 + <property name="title_shadow_active" type="string" value="false"/> 69 + <property name="title_shadow_inactive" type="string" value="false"/> 70 + <property name="title_vertical_offset_active" type="int" value="0"/> 71 + <property name="title_vertical_offset_inactive" type="int" value="0"/> 72 + <property name="toggle_workspaces" type="bool" value="false"/> 73 + <property name="unredirect_overlays" type="bool" value="true"/> 74 + <property name="urgent_blink" type="bool" value="false"/> 75 + <property name="use_compositing" type="bool" value="true"/> 76 + <property name="workspace_count" type="int" value="4"/> 77 + <property name="wrap_cycle" type="bool" value="true"/> 78 + <property name="wrap_layout" type="bool" value="true"/> 79 + <property name="wrap_resistance" type="int" value="10"/> 80 + <property name="wrap_windows" type="bool" value="true"/> 81 + <property name="wrap_workspaces" type="bool" value="false"/> 82 + <property name="zoom_desktop" type="bool" value="true"/> 83 + <property name="zoom_pointer" type="bool" value="true"/> 84 + <property name="workspace_names" type="array"> 85 + <value type="string" value="Workspace 1"/> 86 + <value type="string" value="Workspace 2"/> 87 + <value type="string" value="Workspace 3"/> 88 + <value type="string" value="Workspace 4"/> 89 + </property> 90 + </property> 91 + </channel>
+45
xfce/themeConfig/xsettings.xml
···
··· 1 + <?xml version="1.1" encoding="UTF-8"?> 2 + 3 + <channel name="xsettings" version="1.0"> 4 + <property name="Net" type="empty"> 5 + <property name="ThemeName" type="string" value="Chicago95"/> 6 + <property name="IconThemeName" type="string" value="Chicago95"/> 7 + <property name="DoubleClickTime" type="empty"/> 8 + <property name="DoubleClickDistance" type="empty"/> 9 + <property name="DndDragThreshold" type="empty"/> 10 + <property name="CursorBlink" type="empty"/> 11 + <property name="CursorBlinkTime" type="empty"/> 12 + <property name="SoundThemeName" type="empty"/> 13 + <property name="EnableEventSounds" type="empty"/> 14 + <property name="EnableInputFeedbackSounds" type="empty"/> 15 + </property> 16 + <property name="Xft" type="empty"> 17 + <property name="DPI" type="int" value="100"/> 18 + <property name="Antialias" type="empty"/> 19 + <property name="Hinting" type="empty"/> 20 + <property name="HintStyle" type="empty"/> 21 + <property name="RGBA" type="empty"/> 22 + </property> 23 + <property name="Gtk" type="empty"> 24 + <property name="CanChangeAccels" type="empty"/> 25 + <property name="ColorPalette" type="empty"/> 26 + <property name="FontName" type="empty"/> 27 + <property name="MonospaceFontName" type="empty"/> 28 + <property name="IconSizes" type="empty"/> 29 + <property name="KeyThemeName" type="empty"/> 30 + <property name="MenuImages" type="empty"/> 31 + <property name="ButtonImages" type="empty"/> 32 + <property name="MenuBarAccel" type="empty"/> 33 + <property name="CursorThemeName" type="string" value="Chicago95"/> 34 + <property name="CursorThemeSize" type="empty"/> 35 + <property name="DecorationLayout" type="string" value="icon,menu:minimize,maximize,close"/> 36 + <property name="DialogsUseHeader" type="empty"/> 37 + <property name="TitlebarMiddleClick" type="empty"/> 38 + </property> 39 + <property name="Gdk" type="empty"> 40 + <property name="WindowScalingFactor" type="empty"/> 41 + </property> 42 + <property name="Xfce" type="empty"> 43 + <property name="LastCustomDPI" type="int" value="100"/> 44 + </property> 45 + </channel>
+64
xfce/win95_plus.nix
···
··· 1 + { lib, stdenvNoCC, fetchFromGitHub, ... }: 2 + 3 + stdenvNoCC.mkDerivation (finalAttrs: { 4 + pname = "win95-plus-theme"; 5 + version = "1.0.0"; 6 + 7 + 8 + src = ./Win95_plus; # directory containing icons_32x32 etc. Ressources/Icons/Win95_plus/index.theme 9 + 10 + dontBuild = true; 11 + 12 + installPhase = '' 13 + runHook preInstall 14 + 15 + mkdir -p $out/share/icons/Win95_plus/{32x32,256x256,512x512,1024x1024}/apps 16 + 17 + cp -a $src/32x32/apps/*.png $out/share/icons/Win95_plus/32x32/apps/ 18 + cp -a $src/256x256/apps/*.png $out/share/icons/Win95_plus/256x256/apps/ || true 19 + cp -a $src/512x512/apps/*.png $out/share/icons/Win95_plus/512x512/apps/ 20 + cp -a $src/1024x1024/apps/*.png $out/share/icons/Win95_plus/1024x1024/apps/ 21 + 22 + # Use the provided index.theme (preferred) 23 + if [ -f "$src/index.theme" ]; then 24 + cp $src/index.theme $out/share/icons/Win95_plus/index.theme 25 + else 26 + # fallback to hardcoded theme 27 + cat > $out/share/icons/Win95_plus/index.theme <<EOF 28 + 29 + [Icon Theme] 30 + Name=Win95_plus 31 + Comment=Custom icon theme based on Windows 95 32 + Inherits=Chicago95 33 + Directories=32x32/apps,256x256/apps,512x512/apps,1024x1024/apps 34 + 35 + [32x32/apps] 36 + Size=32 37 + Context=Applications 38 + Type=Fixed 39 + 40 + [256x256/apps] 41 + Size=256 42 + Context=Applications 43 + Type=Fixed 44 + 45 + [512x512/apps] 46 + Size=512 47 + Context=Applications 48 + Type=Fixed 49 + 50 + [1024x1024/apps] 51 + Size=1024 52 + Context=Applications 53 + Type=Fixed 54 + EOF 55 + fi 56 + 57 + runHook postInstall 58 + ''; 59 + 60 + meta = { 61 + description = "Custom Win95-like icon theme"; 62 + homepage = ""; 63 + }; 64 + })