Configuration for my NixOS based systems and Home Manager

Compare changes

Choose any two refs to compare.

+2017 -1128
+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 + }
+19 -115
flake.lock
··· 1 1 { 2 2 "nodes": { 3 - "agenix": { 4 - "inputs": { 5 - "darwin": "darwin", 6 - "home-manager": "home-manager", 7 - "nixpkgs": "nixpkgs", 8 - "systems": "systems" 9 - }, 10 - "locked": { 11 - "lastModified": 1754433428, 12 - "narHash": "sha256-NA/FT2hVhKDftbHSwVnoRTFhes62+7dxZbxj5Gxvghs=", 13 - "owner": "ryantm", 14 - "repo": "agenix", 15 - "rev": "9edb1787864c4f59ae5074ad498b6272b3ec308d", 16 - "type": "github" 17 - }, 18 - "original": { 19 - "owner": "ryantm", 20 - "repo": "agenix", 21 - "type": "github" 22 - } 23 - }, 24 - "darwin": { 25 - "inputs": { 26 - "nixpkgs": [ 27 - "agenix", 28 - "nixpkgs" 29 - ] 30 - }, 31 - "locked": { 32 - "lastModified": 1744478979, 33 - "narHash": "sha256-dyN+teG9G82G+m+PX/aSAagkC+vUv0SgUw3XkPhQodQ=", 34 - "owner": "lnl7", 35 - "repo": "nix-darwin", 36 - "rev": "43975d782b418ebf4969e9ccba82466728c2851b", 37 - "type": "github" 38 - }, 39 - "original": { 40 - "owner": "lnl7", 41 - "ref": "master", 42 - "repo": "nix-darwin", 43 - "type": "github" 44 - } 45 - }, 46 3 "flake-compat": { 47 4 "flake": false, 48 5 "locked": { ··· 83 40 "home-manager": { 84 41 "inputs": { 85 42 "nixpkgs": [ 86 - "agenix", 87 43 "nixpkgs" 88 44 ] 89 45 }, 90 46 "locked": { 91 - "lastModified": 1745494811, 92 - "narHash": "sha256-YZCh2o9Ua1n9uCvrvi5pRxtuVNml8X2a03qIFfRKpFs=", 93 - "owner": "nix-community", 94 - "repo": "home-manager", 95 - "rev": "abfad3d2958c9e6300a883bd443512c55dfeb1be", 96 - "type": "github" 97 - }, 98 - "original": { 99 - "owner": "nix-community", 100 - "repo": "home-manager", 101 - "type": "github" 102 - } 103 - }, 104 - "home-manager_2": { 105 - "inputs": { 106 - "nixpkgs": [ 107 - "nixpkgs" 108 - ] 109 - }, 110 - "locked": { 111 - "lastModified": 1753592768, 112 - "narHash": "sha256-oV695RvbAE4+R9pcsT9shmp6zE/+IZe6evHWX63f2Qg=", 47 + "lastModified": 1747688870, 48 + "narHash": "sha256-ypL9WAZfmJr5V70jEVzqGjjQzF0uCkz+AFQF7n9NmNc=", 113 49 "owner": "nix-community", 114 50 "repo": "home-manager", 115 - "rev": "fc3add429f21450359369af74c2375cb34a2d204", 51 + "rev": "d5f1f641b289553927b3801580598d200a501863", 116 52 "type": "github" 117 53 }, 118 54 "original": { 119 55 "owner": "nix-community", 120 - "ref": "release-25.05", 56 + "ref": "release-24.11", 121 57 "repo": "home-manager", 122 58 "type": "github" 123 59 } 124 60 }, 125 61 "nixpkgs": { 126 62 "locked": { 127 - "lastModified": 1754028485, 128 - "narHash": "sha256-IiiXB3BDTi6UqzAZcf2S797hWEPCRZOwyNThJIYhUfk=", 129 - "owner": "NixOS", 63 + "lastModified": 1751274312, 64 + "narHash": "sha256-/bVBlRpECLVzjV19t5KMdMFWSwKLtb5RyXdjz3LJT+g=", 65 + "owner": "nixos", 130 66 "repo": "nixpkgs", 131 - "rev": "59e69648d345d6e8fef86158c555730fa12af9de", 67 + "rev": "50ab793786d9de88ee30ec4e4c24fb4236fc2674", 132 68 "type": "github" 133 69 }, 134 70 "original": { 135 - "owner": "NixOS", 136 - "ref": "nixos-25.05", 71 + "owner": "nixos", 72 + "ref": "nixos-24.11", 137 73 "repo": "nixpkgs", 138 74 "type": "github" 139 75 } 140 76 }, 141 77 "nixpkgs-unstable": { 142 78 "locked": { 143 - "lastModified": 1755186698, 144 - "narHash": "sha256-wNO3+Ks2jZJ4nTHMuks+cxAiVBGNuEBXsT29Bz6HASo=", 79 + "lastModified": 1756386758, 80 + "narHash": "sha256-1wxxznpW2CKvI9VdniaUnTT2Os6rdRJcRUf65ZK9OtE=", 145 81 "owner": "nixos", 146 82 "repo": "nixpkgs", 147 - "rev": "fbcf476f790d8a217c3eab4e12033dc4a0f6d23c", 83 + "rev": "dfb2f12e899db4876308eba6d93455ab7da304cd", 148 84 "type": "github" 149 85 }, 150 86 "original": { ··· 156 92 }, 157 93 "nixpkgs_2": { 158 94 "locked": { 159 - "lastModified": 1755274400, 160 - "narHash": "sha256-rTInmnp/xYrfcMZyFMH3kc8oko5zYfxsowaLv1LVobY=", 161 - "owner": "nixos", 162 - "repo": "nixpkgs", 163 - "rev": "ad7196ae55c295f53a7d1ec39e4a06d922f3b899", 164 - "type": "github" 165 - }, 166 - "original": { 167 - "owner": "nixos", 168 - "ref": "nixos-25.05", 169 - "repo": "nixpkgs", 170 - "type": "github" 171 - } 172 - }, 173 - "nixpkgs_3": { 174 - "locked": { 175 95 "lastModified": 1754340878, 176 96 "narHash": "sha256-lgmUyVQL9tSnvvIvBp7x1euhkkCho7n3TMzgjdvgPoU=", 177 97 "owner": "NixOS", ··· 190 110 "inputs": { 191 111 "flake-compat": "flake-compat", 192 112 "gitignore": "gitignore", 193 - "nixpkgs": "nixpkgs_3" 113 + "nixpkgs": "nixpkgs_2" 194 114 }, 195 115 "locked": { 196 - "lastModified": 1755446520, 197 - "narHash": "sha256-I0Ok1OGDwc1jPd8cs2VvAYZsHriUVFGIUqW+7uSsOUM=", 116 + "lastModified": 1755960406, 117 + "narHash": "sha256-RF7j6C1TmSTK9tYWO6CdEMtg6XZaUKcvZwOCD2SICZs=", 198 118 "owner": "cachix", 199 119 "repo": "git-hooks.nix", 200 - "rev": "4b04db83821b819bbbe32ed0a025b31e7971f22e", 120 + "rev": "e891a93b193fcaf2fc8012d890dc7f0befe86ec2", 201 121 "type": "github" 202 122 }, 203 123 "original": { ··· 208 128 }, 209 129 "root": { 210 130 "inputs": { 211 - "agenix": "agenix", 212 - "home-manager": "home-manager_2", 213 - "nixpkgs": "nixpkgs_2", 131 + "home-manager": "home-manager", 132 + "nixpkgs": "nixpkgs", 214 133 "nixpkgs-unstable": "nixpkgs-unstable", 215 134 "pre-commit-hooks": "pre-commit-hooks" 216 - } 217 - }, 218 - "systems": { 219 - "locked": { 220 - "lastModified": 1681028828, 221 - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", 222 - "owner": "nix-systems", 223 - "repo": "default", 224 - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", 225 - "type": "github" 226 - }, 227 - "original": { 228 - "owner": "nix-systems", 229 - "repo": "default", 230 - "type": "github" 231 135 } 232 136 } 233 137 },
+19 -24
flake.nix
··· 1 1 { 2 - description = "NixOS Configuration module"; 2 + description = "Home Manager configuration of noah"; 3 3 4 4 inputs = { 5 5 # Specify the source of Home Manager and Nixpkgs. 6 - nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05"; 6 + nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; 7 7 nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; 8 8 home-manager = { 9 - url = "github:nix-community/home-manager/release-25.05"; 9 + url = "github:nix-community/home-manager/release-24.11"; 10 10 inputs.nixpkgs.follows = "nixpkgs"; 11 11 }; 12 12 pre-commit-hooks.url = "github:cachix/git-hooks.nix"; 13 - agenix.url = "github:ryantm/agenix"; 14 13 }; 15 14 16 15 outputs = { self, nixpkgs, nixpkgs-unstable, home-manager, pre-commit-hooks, ... }@inputs: 17 16 let 17 + system = "aarch64-darwin"; 18 + pkgs = nixpkgs.legacyPackages.${system}; 19 + unstable-pkgs = nixpkgs-unstable.legacyPackages.${system}; 18 20 supportedSystems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; 19 21 forAllSystems = nixpkgs.lib.genAttrs supportedSystems; 20 22 in 21 23 { 24 + homeConfigurations."noah" = home-manager.lib.homeManagerConfiguration { 25 + inherit pkgs; 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 33 + extraSpecialArgs = { 34 + unstable = unstable-pkgs; 35 + }; 36 + }; 22 37 checks = forAllSystems (system: { 23 38 pre-commit-check = inputs.pre-commit-hooks.lib.${system}.run { 24 39 src = ./.; ··· 37 52 buildInputs = self.checks.${system}.pre-commit-check.enabledPackages; 38 53 }; 39 54 }); 40 - nixosConfigurations = { 41 - odin = nixpkgs.lib.nixosSystem { 42 - system = "x86_64-linux"; 43 - specialArgs = { inherit inputs; }; 44 - modules = [ 45 - ./odin.nix 46 - home-manager.nixosModules.home-manager 47 - { 48 - # I manage my home with home-manager 49 - # Don't store packages in ~/.nix-profile, use /etc/profiles so we can build-vm 50 - home-manager.useUserPackages = true; 51 - # No more NIX_PATH, use system pkgs 52 - home-manager.useGlobalPkgs = true; 53 - 54 - home-manager.users.noah = import ./home.nix; 55 - home-manager.extraSpecialArgs = inputs; 56 - } 57 - ]; 58 - }; 59 - }; 60 55 }; 61 56 }
+2 -2
ghostty/config
··· 1 1 font-size = 13 2 - font-family = Berkeley Mono 2 + font-family = TX-02 3 3 theme = catppuccin-macchiato 4 4 shell-integration = fish 5 5 6 - window-decoration = false 6 + window-decoration = server 7 7 8 8 font-feature = calt 9 9 font-feature = ccmp
+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[@]}"
+27 -9
gui.nix
··· 12 12 ]; 13 13 14 14 # Configure keymap in X11 15 - # services.xserver.xkb.layout = "us"; 15 + services.xserver.xkb = { 16 + layout = "us"; 17 + variant = ""; 18 + }; 16 19 # services.xserver.xkb.options = "eurosign:e,caps:escape"; 17 20 18 21 # Enable CUPS to print documents. ··· 59 62 60 63 # Enable the sway window manager 61 64 programs.sway = { 62 - enable = true; 65 + enable = false; 63 66 #package = unstable.sway; 64 67 wrapperFeatures.gtk = true; 65 68 }; 66 69 # Use greetd as the displaymanager 67 70 #services.xserver.displayManager.greetd.enable = true; 68 - #services.xserver.displayManager.lightdm.enable = false; 69 - services.displayManager.sddm.enable = true; 70 - services.displayManager.defaultSession = "sway"; 71 - services.displayManager.autoLogin = { 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 = { 72 83 enable = true; 73 - user = "noah"; 74 84 }; 85 + services.xscreensaver.enable = true; 86 + security.pam.services.xscreensaver.enable = true; 75 87 76 88 # i3, for when I need XOrg 77 89 services.xserver.windowManager.i3 = { 78 - enable = true; 90 + enable = false; 79 91 extraPackages = with pkgs; [ 80 92 dmenu 81 93 i3status ··· 87 99 xdg.portal = { 88 100 enable = true; 89 101 wlr.enable = true; 90 - extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; 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 + ]; 91 109 }; 92 110 xdg.mime = { 93 111 enable = true;
+36 -27
hardware-configuration.nix
··· 1 1 # Do not modify this file! It was generated by โ€˜nixos-generate-configโ€™ 2 2 # and may be overwritten by future invocations. Please make changes 3 3 # to /etc/nixos/configuration.nix instead. 4 - { config, lib, modulesPath, pkgs, ... }: 4 + { config, lib, pkgs, modulesPath, ... }: 5 5 6 6 { 7 7 imports = ··· 10 10 ]; 11 11 12 12 boot.kernelPackages = pkgs.linuxPackages_latest; 13 - boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usb_storage" "usbhid" "sd_mod" "sdhci_pci" ]; 14 - boot.initrd.kernelModules = [ "kvm-amd" "amdgpu" "nvme" "xhci_pci" "thunderbolt" "usb_storage" "usbhid" "sd_mod" "sdhci_pci" ]; 15 - boot.kernelModules = [ "kvm-amd" "amdgpu" "nvme" "xhci_pci" "thunderbolt" "usb_storage" "usbhid" "sd_mod" "sdhci_pci" ]; 16 - virtualisation.libvirtd = { 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 = { 17 20 enable = true; 18 - qemu = { 19 - runAsRoot = false; 20 - ovmf = { 21 - 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; 22 37 }; 23 38 }; 24 39 }; 25 - #boot.extraModulePackages = with config.boot.kernelPackages; [ ]; 26 - boot.kernelParams = [ ]; 27 40 28 - hardware.enableRedistributableFirmware = true; 29 41 30 42 fileSystems."/" = 31 43 { 32 - device = "/dev/disk/by-uuid/07019c69-2597-410d-a8a0-a8ffb0f58883"; 44 + device = "/dev/disk/by-uuid/9a7cbffe-6c10-4220-bb99-4dcea8181dcc"; 33 45 fsType = "ext4"; 34 46 }; 35 47 36 48 fileSystems."/boot" = 37 49 { 38 - device = "/dev/disk/by-uuid/4B85-C90A"; 50 + device = "/dev/disk/by-uuid/9AC5-62C3"; 39 51 fsType = "vfat"; 52 + options = [ "fmask=0077" "dmask=0077" ]; 40 53 }; 41 54 42 - swapDevices = [{ 43 - device = "/swapfile"; 44 - size = 32 * 1024; 45 - }]; 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 + }; 46 61 47 62 # Enables DHCP on each ethernet and wireless interface. In case of scripted networking 48 63 # (the default) this is the recommended approach. When using systemd-networkd it's 49 64 # still possible to use this option, but it's recommended to use it in conjunction 50 65 # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. 51 66 networking.useDHCP = lib.mkDefault true; 52 - # networking.interfaces.enp1s0.useDHCP = lib.mkDefault true; 53 - # networking.interfaces.wlp2s0.useDHCP = lib.mkDefault true; 67 + # networking.interfaces.enp191s0.useDHCP = lib.mkDefault true; 68 + # networking.interfaces.wlp192s0.useDHCP = lib.mkDefault true; 54 69 55 - nixpkgs.hostPlatform = { 56 - #gcc.arch = "znver2"; 57 - #gcc.tune = "znver2"; 58 - system = "x86_64-linux"; 59 - #gcc.arch = "x86-64-v3"; 60 - }; 61 - #nix.settings.system-features = ["gccarch-znver2" "big-parallel" "nixos-test" "benchmark" "kvm"]; 70 + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; 62 71 hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; 63 72 }
-290
home.nix
··· 1 - { pkgs, unstable, ... }: 2 - { 3 - home.sessionVariables = { 4 - NIXOS_OZONE_WL = "1"; 5 - }; 6 - 7 - home.packages = with pkgs; [ 8 - # main tool 9 - firefox-devedition 10 - direnv 11 - fish 12 - tree 13 - btop 14 - htop 15 - mtr 16 - pavucontrol 17 - moreutils 18 - picocom 19 - # Disabled because even unstable is too out-of-date 20 - # unstable.logseq 21 - element-desktop 22 - rsync 23 - unzip 24 - fd 25 - jq 26 - ripgrep 27 - bat 28 - netcat 29 - stunnel 30 - fzf 31 - iperf3 32 - entr 33 - bitwarden-cli 34 - # Previewer for LF 35 - unstable.pistol 36 - sqlite 37 - age 38 - just 39 - unstable.catgirl 40 - #devenv 41 - plan9port 42 - killall 43 - 44 - # Dev tools 45 - git 46 - gcc 47 - go 48 - gopls 49 - gnumake 50 - babashka 51 - ccls 52 - unstable.clojure 53 - unstable.cljfmt 54 - unstable.clojure-lsp 55 - unstable.janet 56 - unstable.jpm 57 - unstable.fennel-ls 58 - graalvm-ce 59 - cmake 60 - ctags 61 - kotlin 62 - nodejs 63 - node2nix 64 - opam 65 - unstable.rustup # includes rust-analyzer 66 - # Scala stuff 67 - #scala_3 68 - #scalafmt 69 - #metals 70 - # Scala / Java build tool 71 - #sbt 72 - # Haskell 73 - #cabal-install 74 - luarocks 75 - luajit 76 - lua-language-server 77 - luaformatter 78 - #leiningen 79 - libressl 80 - erlang 81 - elixir 82 - #ghc 83 - nil # nix language server 84 - typescript 85 - # This is currently broken 86 - #vscode-langservers-extracted 87 - scdoc 88 - dockerfile-language-server-nodejs 89 - yaml-language-server 90 - mkcert 91 - natscli 92 - python3 93 - python311Packages.pip 94 - sqlite 95 - unstable.harec 96 - unstable.hare 97 - unstable.haredoc 98 - unstable.haredo 99 - unstable.gleam 100 - unstable.rebar3 101 - #unstable.flyctl 102 - unstable.bun 103 - unstable.gh 104 - unstable.kraft 105 - unstable.doctl 106 - 107 - # JetBrains 108 - unstable.jetbrains-toolbox 109 - 110 - # GUI tools 111 - i3status 112 - i3lock 113 - maim 114 - slurp 115 - grim 116 - wl-clipboard 117 - playerctl 118 - barrier 119 - xclip 120 - zathura 121 - fuzzel 122 - thunderbird 123 - ghostty 124 - slack 125 - 126 - # Python dev tools 127 - pyright 128 - python311Packages.python-lsp-server 129 - python311Packages.python-lsp-ruff 130 - 131 - # Certificate Management 132 - minica 133 - mkcert 134 - step-cli 135 - unstable.ollama 136 - 137 - 138 - # Unfree 139 - discord 140 - spotify 141 - telegram-desktop 142 - google-chrome 143 - ]; 144 - 145 - nix = { 146 - settings.experimental-features = [ "nix-command" "flakes" ]; 147 - }; 148 - 149 - programs.fish = { 150 - enable = true; 151 - #package = unstable.fish; 152 - }; 153 - programs.neovim = { 154 - #package = unstable.neovim-unwrapped; 155 - enable = true; 156 - defaultEditor = true; 157 - withNodeJs = true; 158 - withPython3 = true; 159 - extraPackages = with pkgs; [ fzf ripgrep luarocks unstable.tree-sitter ]; 160 - }; 161 - programs.git = { 162 - enable = true; 163 - lfs.enable = true; 164 - userName = "Noah Pederson"; 165 - userEmail = "noah@packetlost.dev"; 166 - extraConfig = { 167 - sendemail = { 168 - smtpserver = "smtp.migadu.com"; 169 - smtpuser = "noah@packetlost.dev"; 170 - smtpencryption = "ssl"; 171 - smtpserverport = 465; 172 - }; 173 - init = { 174 - defaultBranch = "master"; 175 - }; 176 - pull = { 177 - rebase = true; 178 - }; 179 - credential = { 180 - helper = "cache"; 181 - }; 182 - }; 183 - ignores = [ 184 - ".direnv/" 185 - ".envrc" 186 - "flake.nix" 187 - "shell.nix" 188 - ".env/" 189 - ".clj-kondo/" 190 - ]; 191 - }; 192 - 193 - programs.aerc = { 194 - enable = true; 195 - package = unstable.aerc; 196 - }; 197 - 198 - programs.ssh = { 199 - enable = true; 200 - extraConfig = builtins.readFile ./ssh/extra; 201 - addKeysToAgent = "yes"; 202 - }; 203 - 204 - programs.yazi = { 205 - enable = true; 206 - package = unstable.yazi; 207 - enableFishIntegration = true; 208 - settings = { 209 - preview = { 210 - image_quality = 90; 211 - }; 212 - tasks = { 213 - image_bound = [ 214 - 0 215 - 0 216 - ]; 217 - }; 218 - }; 219 - plugins = { 220 - rsync = unstable.yaziPlugins.rsync; 221 - piper = unstable.yaziPlugins.piper; 222 - nord = unstable.yaziPlugins.nord; 223 - mediainfo = unstable.yaziPlugins.mediainfo; 224 - glow = unstable.yaziPlugins.glow; 225 - git = unstable.yaziPlugins.git; 226 - diff = unstable.yaziPlugins.diff; 227 - duckdb = unstable.yaziPlugins.duckdb; 228 - }; 229 - }; 230 - 231 - services.ssh-agent.enable = true; 232 - 233 - programs.direnv = { 234 - enable = true; 235 - nix-direnv.enable = true; 236 - }; 237 - 238 - # Independent config files. 239 - xdg.configFile.nvim = { 240 - source = ./nvim; 241 - recursive = true; 242 - }; 243 - 244 - xdg.configFile.vis = { 245 - source = ./vis; 246 - recursive = true; 247 - }; 248 - 249 - xdg.configFile.fish = { 250 - source = ./fish; 251 - recursive = true; 252 - }; 253 - 254 - xdg.configFile.kitty = { 255 - source = ./kitty; 256 - recursive = true; 257 - }; 258 - 259 - xdg.configFile.aerc = { 260 - source = ./aerc; 261 - recursive = true; 262 - }; 263 - 264 - xdg.configFile.sway = { 265 - source = ./sway; 266 - recursive = true; 267 - }; 268 - 269 - xdg.configFile.i3 = { 270 - source = ./i3; 271 - recursive = true; 272 - }; 273 - xdg.configFile.i3status = { 274 - source = ./i3status; 275 - recursive = true; 276 - }; 277 - 278 - xdg.configFile.ghostty = { 279 - source = ./ghostty; 280 - recursive = true; 281 - }; 282 - 283 - home.file.".local/bin" = { 284 - source = ./scripts; 285 - recursive = true; 286 - }; 287 - 288 - home.stateVersion = "23.11"; 289 - 290 - }
+3 -2
networking.nix
··· 4 4 # Pick only one of the below networking options. 5 5 # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. 6 6 # networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. 7 - networking.hostName = "odin"; 7 + networking.hostName = "shizuri"; 8 8 # I like systemd-networkd 9 9 systemd.network.enable = true; 10 10 systemd.network.networks."50-wlp2s0" = { ··· 27 27 # Or disable the firewall altogether. 28 28 # TODO: allow some ports 29 29 networking.firewall = { 30 - enable = true; 30 + enable = false; 31 31 allowPing = true; 32 32 allowedUDPPorts = [ ]; 33 33 allowedTCPPorts = [ 34 + 1234 34 35 2375 35 36 ]; 36 37 };
+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 + }
+35 -42
nvim/init.lua
··· 7 7 -- Config for Nord, which I usually use 8 8 -- vim.g.nord_italic = false 9 9 -- vim.g.nord_bold = false 10 - -- vim.opt.background = "light" 10 + vim.opt.background = "light" 11 11 --vim.opt.background = "dark" 12 12 13 13 -- Formatting and vim config ··· 28 28 vim.opt.lcs = vim.opt.lcs + "space:ยท" 29 29 vim.opt.list = true 30 30 vim.opt.textwidth = 88 31 - 32 - -- LuaLine Config 33 - 34 - local noirbuddy_lualine = require("noirbuddy.plugins.lualine") 35 - 36 - require("lualine").setup { 37 - options = { 38 - icons_enabled = true, 39 - --theme = "auto" 40 - theme = noirbuddy_lualine.theme 41 - }, 42 - sections = noirbuddy_lualine.sections, 43 - inactive_sections = noirbuddy_lualine.inactive_sections, 44 - } 31 + vim.cmd [[ colorscheme alabaster ]] 45 32 46 33 -- Force OSC-52 47 34 vim.g.clipboard = { 48 - name = 'OSC 52', 49 - copy = { 50 - ['+'] = require('vim.ui.clipboard.osc52').copy('+'), 51 - ['*'] = require('vim.ui.clipboard.osc52').copy('*'), 52 - }, 53 - paste = { 54 - ['+'] = require('vim.ui.clipboard.osc52').paste('+'), 55 - ['*'] = require('vim.ui.clipboard.osc52').paste('*'), 56 - }, 35 + name = 'OSC 52', 36 + copy = { 37 + ['+'] = require('vim.ui.clipboard.osc52').copy('+'), 38 + ['*'] = require('vim.ui.clipboard.osc52').copy('*'), 39 + }, 40 + paste = { 41 + ['+'] = require('vim.ui.clipboard.osc52').paste('+'), 42 + ['*'] = require('vim.ui.clipboard.osc52').paste('*'), 43 + }, 57 44 } 58 45 59 46 -- CTags ··· 64 51 65 52 -- Gerbil Scheme 66 53 local set_gerbil = function() 67 - vim.g["conjure#client#scheme#stdio#command"] = "gxi" 68 - vim.g["conjure#client#scheme#stdio#prompt_pattern"] = "%d*> " 69 - vim.g["conjure#client#scheme#stdio#value_prefix_pattern"] = false 54 + vim.g["conjure#client#scheme#stdio#command"] = "gxi" 55 + vim.g["conjure#client#scheme#stdio#prompt_pattern"] = "%d*> " 56 + vim.g["conjure#client#scheme#stdio#value_prefix_pattern"] = false 70 57 end 71 58 set_gerbil() 72 59 vim.api.nvim_create_user_command("ConjureGerbil", set_gerbil, {}) 73 60 74 61 -- Chibi-scheme 75 62 local set_chibi = function() 76 - vim.g["conjure#client#scheme#stdio#command"] = "chibi-scheme -R" 77 - vim.g["conjure#client#scheme#stdio#prompt_pattern"] = "=> $?" 78 - vim.g["conjure#client#scheme#stdio#value_prefix_pattern"] = true 63 + vim.g["conjure#client#scheme#stdio#command"] = "chibi-scheme -R" 64 + vim.g["conjure#client#scheme#stdio#prompt_pattern"] = "=> $?" 65 + vim.g["conjure#client#scheme#stdio#value_prefix_pattern"] = true 79 66 end 80 67 vim.api.nvim_create_user_command("ConjureChibi", set_chibi, {}) 81 68 -- Chicken Scheme 82 69 local set_chicken = function() 83 - vim.g["conjure#client#scheme#stdio#command"] = "csi -quiet -:c" 84 - vim.g["conjure#client#scheme#stdio#prompt_pattern"] = "\n-#;%d-> " 85 - vim.g["conjure#client#scheme#stdio#value_prefix_pattern"] = true 70 + vim.g["conjure#client#scheme#stdio#command"] = "csi -quiet -:c" 71 + vim.g["conjure#client#scheme#stdio#prompt_pattern"] = "\n-#;%d-> " 72 + vim.g["conjure#client#scheme#stdio#value_prefix_pattern"] = true 86 73 end 87 74 vim.api.nvim_create_user_command("ConjureChicken", set_chicken, {}) 88 75 ··· 90 77 local keymap = vim.keymap.set 91 78 local noremap = { noremap = true } 92 79 local silentnoremap = { noremap = true, silent = true } 80 + --Toggle background 81 + keymap("n", "<leader>bg", function() if vim.o.background == "light" then vim.o.background = "dark" else vim.o.background = "light" end end, noremap) 93 82 -- Easier breaking from edit modes 94 83 keymap("n", ";;", "<Esc>", noremap) 95 84 keymap("v", ";;", "<Esc>", noremap) ··· 155 144 156 145 -- Autoformat! 157 146 vim.api.nvim_create_user_command("Format", function(args) 158 - local range = nil 159 - if args.count ~= -1 then 160 - local end_line = vim.api.nvim_buf_get_lines(0, args.line2 - 1, args.line2, true)[1] 161 - range = { 162 - start = { args.line1, 0 }, 163 - ["end"] = { args.line2, end_line:len() }, 164 - } 165 - end 166 - require("conform").format({ async = true, lsp_format = "fallback", range = range }) 147 + local range = nil 148 + if args.count ~= -1 then 149 + local end_line = vim.api.nvim_buf_get_lines(0, args.line2 - 1, args.line2, true)[1] 150 + range = { 151 + start = { args.line1, 0 }, 152 + ["end"] = { args.line2, end_line:len() }, 153 + } 154 + end 155 + require("conform").format({ async = true, lsp_format = "fallback", range = range }) 167 156 end, { range = true }) 168 157 keymap("n", "<C-n>", "<cmd>Format<CR>", silentnoremap) 169 158 ··· 175 164 -- ######################## 176 165 -- LSP 177 166 require("lsp") 167 + 168 + if vim.uv.fs_stat(vim.fn.stdpath("config") .. "/lua/local.lua") then 169 + require("local") 170 + end
+8
nvim/lua/ambient.lua
··· 1 + function setup() 2 + return require("codecompanion.adapters").extend("openai_compatible", { 3 + env = { 4 + url = "http://34.46.152.76", 5 + chat_url = "/run-auction" 6 + } 7 + }) 8 + end
+3
nvim/lua/lsp/fennel_ls.lua
··· 1 + return { 2 + root_markers = {".git", "fnl"}, 3 + }
+8
nvim/lua/lsp/janet_lsp.lua
··· 1 + return { 2 + cmd = { 3 + "janet", 4 + "-i", 5 + "/home/noah/repos/janet-lsp/jpm_tree/lib/janet-lsp.jimage", 6 + "--stdio", 7 + } 8 + }
+20
nvim/lua/lsp/lua_ls.lua
··· 1 + return { 2 + settings = { 3 + Lua = { 4 + runtime = { 5 + -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) 6 + version = "LuaJIT" 7 + }, 8 + diagnostics = { 9 + -- Get the language server to recognize the `vim` global 10 + globals = { "vim", "vis" } 11 + }, 12 + workspace = { 13 + -- Make the server aware of Neovim runtime files 14 + library = vim.api.nvim_get_runtime_file("", true) 15 + }, 16 + -- Do not send telemetry data containing a randomized but unique identifier 17 + telemetry = { enable = false } 18 + } 19 + } 20 + }
+5
nvim/lua/lsp/pylsp.lua
··· 1 + return { 2 + -- cmd = {"/home/noah/.envs/nvim/bin/pylsp"}, 3 + cmd = "basedpyright", 4 + root_markers = { "pants.toml", "pyproject.toml", "setup.py", "setup.cfg", "Pipfile" }, 5 + }
+74 -126
nvim/lua/lsp.lua
··· 1 - local nvim_lsp = require("lspconfig") 2 1 local capabilities = require('cmp_nvim_lsp').default_capabilities() 3 2 -- ######################## 4 3 -- #### Set up LSPs #### 5 4 -- ######################## 6 5 7 - local util = require("lspconfig.util") 8 - 9 - -- Rust 10 - -- Python LSP 11 - nvim_lsp.pylsp.setup({ 12 - -- cmd = {"/home/noah/.envs/nvim/bin/pylsp"}, 13 - root_dir = function(fname) 14 - local root_files = { 15 - "pants.toml", "pyproject.toml", "setup.py", "setup.cfg", "Pipfile" 16 - } 17 - return util.find_git_ancestor(fname) or 18 - util.root_pattern(unpack(root_files))(fname) 19 - end 6 + vim.lsp.config("*", { 7 + capabilities = capabilities 20 8 }) 21 - nvim_lsp.lua_ls.setup { 22 - settings = { 23 - Lua = { 24 - runtime = { 25 - -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) 26 - version = "LuaJIT" 27 - }, 28 - diagnostics = { 29 - -- Get the language server to recognize the `vim` global 30 - globals = { "vim" } 31 - }, 32 - workspace = { 33 - -- Make the server aware of Neovim runtime files 34 - library = vim.api.nvim_get_runtime_file("", true) 35 - }, 36 - -- Do not send telemetry data containing a randomized but unique identifier 37 - telemetry = { enable = false } 38 - } 39 - } 40 - } 41 9 42 - nvim_lsp.janet_lsp.setup { 43 - cmd = { 44 - "janet", 45 - "-i", 46 - "/home/noah/repos/janet-lsp/jpm_tree/lib/janet-lsp.jimage", 47 - "--stdio", 48 - } 49 - } 50 - 51 - -- LSPs that just use default config 52 - local simple_lsps = { 53 - --"htmx", 54 - "nil_ls", "bzl", "buf_ls", "crystalline", "dockerls", 55 - "erlangls", "elixirls", "fortls", "gleam", "gopls", "hls", "jsonls", 56 - "vimls", "asm_lsp", "ccls", "pyright", 57 - "ruff", "clojure_lsp", "guile_ls", 58 - -- Of course the Java-based ones are verbose af 59 - "kotlin_language_server", "java_language_server", "jsonls", "pest_ls", 60 - "ocamllsp", "reason_ls", "racket_langserver", "rust_analyzer", 61 - "scheme_langserver", "sqls", "thriftls", "tinymist", "vhdl_ls", "yamlls", 62 - "zls", "ts_ls", "eslint", "metals", "futhark_lsp", "roc_ls", 63 - -- disabled because it's broken 64 - -- "scheme_langserver", 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", 17 + -- Of course the Java-based ones are verbose af 18 + "kotlin_language_server", "java_language_server", "jsonls", "pest_ls", 19 + "ocamllsp", "reason_ls", "racket_langserver", "rust_analyzer", 20 + "scheme_langserver", "sqls", "thriftls", "tinymist", "vhdl_ls", "yamlls", 21 + "zls", "ts_ls", "eslint", "metals", "futhark_lsp", "roc_ls", "sourcekit" 22 + -- disabled because it's broken 23 + -- "scheme_langserver", 65 24 } 66 - -- #simple_lsps is the length of the table when treated as a list... funky! 67 - for _, v in pairs(simple_lsps) do 68 - nvim_lsp[v].setup { 69 - capabilities = capabilities 70 - } 71 - end 25 + vim.lsp.enable(servers) 72 26 73 - nvim_lsp.fennel_ls.setup({ 74 - capabilities = capabilities, 75 - root_dir = nvim_lsp.util.root_pattern(".git", "fnl") 76 - }) 77 - 78 - -- Whenever an LSP is attached to a buffer 79 27 local on_attach = function(ev) 80 - -- Enable completion triggered by <c-x><x-o> 81 - vim.bo[ev.buf].omnifunc = 'v:lua.vim.lsp.omnifunc' 28 + -- Enable completion triggered by <c-x><x-o> 29 + vim.bo[ev.buf].omnifunc = 'v:lua.vim.lsp.omnifunc' 82 30 83 - local opts = { noremap = true, silent = true, buffer = ev.buf } 84 - local protocol = require("vim.lsp.protocol") 85 - -- Mappings. 86 - -- See `:help vim.lsp.*` for documentation on any of the below functions 87 - vim.keymap.set("n", "gD", vim.lsp.buf.declaration, opts) 88 - vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts) 89 - vim.keymap.set("n", "K", vim.lsp.buf.hover, opts) 90 - vim.keymap.set("n", "gi", vim.lsp.buf.implementation, opts) 91 - vim.keymap.set("n", "<C-k>", vim.lsp.buf.signature_help, opts) 92 - vim.keymap.set("n", "<space>wa", vim.lsp.buf.add_workspace_folder, opts) 93 - vim.keymap.set("n", "<space>wr", vim.lsp.buf.remove_workspace_folder, opts) 94 - vim.keymap.set("n", "<space>wl", function() 95 - print(vim.inspect(vim.lsp.buf.list_workspace_folders())) 96 - end, opts) 97 - vim.keymap.set("n", "<space>D", vim.lsp.buf.type_definition, opts) 98 - vim.keymap.set("n", "<space>rn", vim.lsp.buf.rename, opts) 99 - vim.keymap.set("n", "<space>ca", vim.lsp.buf.code_action, opts) 100 - vim.keymap.set("n", "gr", vim.lsp.buf.references, opts) 101 - vim.keymap.set("n", "<space>e", vim.diagnostic.open_float, opts) 102 - vim.keymap.set("n", "[d", vim.diagnostic.goto_prev, opts) 103 - vim.keymap.set("n", "]d", vim.diagnostic.goto_next, opts) 104 - vim.keymap.set("n", "<space>q", vim.diagnostic.setloclist, opts) 105 - vim.keymap.set("n", "<space>f", 106 - function() vim.lsp.buf.format { async = true } end, opts) 107 - vim.keymap.set("n", "<space>s", vim.lsp.buf.workspace_symbol, opts) 31 + local opts = { noremap = true, silent = true, buffer = ev.buf } 32 + local protocol = require("vim.lsp.protocol") 33 + -- Mappings. 34 + -- See `:help vim.lsp.*` for documentation on any of the below functions 35 + vim.keymap.set("n", "gD", vim.lsp.buf.declaration, opts) 36 + vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts) 37 + vim.keymap.set("n", "K", vim.lsp.buf.hover, opts) 38 + vim.keymap.set("n", "gi", vim.lsp.buf.implementation, opts) 39 + vim.keymap.set("n", "<C-k>", vim.lsp.buf.signature_help, opts) 40 + vim.keymap.set("n", "<space>wa", vim.lsp.buf.add_workspace_folder, opts) 41 + vim.keymap.set("n", "<space>wr", vim.lsp.buf.remove_workspace_folder, opts) 42 + vim.keymap.set("n", "<space>wl", function() 43 + print(vim.inspect(vim.lsp.buf.list_workspace_folders())) 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) 55 + vim.keymap.set("n", "<space>s", vim.lsp.buf.workspace_symbol, opts) 108 56 109 - -- require'completion'.on_attach(client, bufnr) 110 - protocol.CompletionItemKind = { 111 - "๎˜’", -- Text 112 - "โ‹™", -- Method 113 - "๐‘“", -- Function 114 - "๏ž”", -- Constructor 115 - "๎ž›", -- Field 116 - "๎ž›", -- Variable 117 - "๏ƒจ", -- Class 118 - "๏ฐฎ", -- Interface 119 - "๏ฃ–", -- Module 120 - "๎˜ค", -- Property 121 - "๏‘ต", -- Unit 122 - "๏ขŸ", -- Value 123 - "๏ƒŠ", -- Enum 124 - "๏ Š", -- Keyword 125 - "๏ฌŒ", -- Snippet 126 - "๎ˆซ", -- Color 127 - "๏…›", -- File 128 - "๏š", -- Reference 129 - "๏„•", -- Folder 130 - "๏…", -- EnumMember 131 - "๎ˆฌ", -- Constant 132 - "๏ƒŠ", -- Struct 133 - "๏ƒง", -- Event 134 - "๏ฌฆ", -- Operator 135 - "๎˜Ž" -- TypeParameter 136 - } 57 + -- require'completion'.on_attach(client, bufnr) 58 + protocol.CompletionItemKind = { 59 + "๎˜’", -- Text 60 + "โ‹™", -- Method 61 + "๐‘“", -- Function 62 + "๏ž”", -- Constructor 63 + "๎ž›", -- Field 64 + "๎ž›", -- Variable 65 + "๏ƒจ", -- Class 66 + "๏ฐฎ", -- Interface 67 + "๏ฃ–", -- Module 68 + "๎˜ค", -- Property 69 + "๏‘ต", -- Unit 70 + "๏ขŸ", -- Value 71 + "๏ƒŠ", -- Enum 72 + "๏ Š", -- Keyword 73 + "๏ฌŒ", -- Snippet 74 + "๎ˆซ", -- Color 75 + "๏…›", -- File 76 + "๏š", -- Reference 77 + "๏„•", -- Folder 78 + "๏…", -- EnumMember 79 + "๎ˆฌ", -- Constant 80 + "๏ƒŠ", -- Struct 81 + "๏ƒง", -- Event 82 + "๏ฌฆ", -- Operator 83 + "๎˜Ž" -- TypeParameter 84 + } 137 85 end 138 86 vim.api.nvim_create_autocmd('LspAttach', { 139 - group = vim.api.nvim_create_augroup('UserLspConfig', {}), 140 - callback = on_attach 87 + group = vim.api.nvim_create_augroup('UserLspConfig', {}), 88 + callback = on_attach 141 89 })
+345 -402
nvim/lua/plugins.lua
··· 1 1 -- Bootstrap lazy.nvim 2 2 local ensure_lazy = function() 3 - local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" 4 - if not vim.loop.fs_stat(lazypath) then 5 - vim.fn.system({ 6 - "git", "clone", "--filter=blob:none", 7 - "https://github.com/folke/lazy.nvim.git", "--branch=stable", -- latest stable release 8 - lazypath 9 - }) 10 - end 11 - vim.opt.rtp:prepend(lazypath) 3 + local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" 4 + if not vim.loop.fs_stat(lazypath) then 5 + vim.fn.system({ 6 + "git", "clone", "--filter=blob:none", 7 + "https://github.com/folke/lazy.nvim.git", "--branch=stable", -- latest stable release 8 + lazypath 9 + }) 10 + end 11 + vim.opt.rtp:prepend(lazypath) 12 12 end 13 13 14 14 local lazy_bootstrap = ensure_lazy() 15 15 if lazy_bootstrap then print("Bootstrapped lazy.nvim") end 16 16 17 17 require("lazy").setup({ 18 - install = { colorscheme = { "noirbuddy" } }, 19 - checker = { enabled = false }, 20 - spec = { 21 - -- Color themes 22 - { "shaunsingh/nord.nvim", priority = 1000, lazy = true }, 23 - { "shaunsingh/moonlight.nvim", priority = 1000, lazy = true }, 24 - { "folke/tokyonight.nvim", priority = 1000, lazy = true }, 25 - { "cranberry-clockworks/coal.nvim", priority = 1000, lazy = true }, 26 - { "hardselius/warlock", priority = 1000, lazy = true }, 27 - { "sontungexpt/witch", priority = 1000, lazy = true, config = true }, 28 - { "catppuccin/nvim", name = "catppuccin", priority = 1000, lazy = true }, 29 - { 30 - "neanias/everforest-nvim", 31 - version = false, 32 - lazy = true, 33 - priority = 1000, -- make sure to load this before all the other start plugins 34 - main = "everforest", 35 - opts = { background = "hard" } 36 - }, 37 - { "rebelot/kanagawa.nvim", opts = { compile = true }, priority = 1000, lazy = true }, 38 - { 39 - 'jesseleite/nvim-noirbuddy', 40 - dependencies = { 41 - 'tjdevries/colorbuddy.nvim', 42 - }, 43 - lazy = true, 44 - priority = 1000, 45 - opts = { 46 - -- All of your `setup(opts)` will go here 47 - preset = "oxide", 48 - colors = { 49 - noir_8 = "#3A4649" 50 - } 51 - }, 52 - }, 53 - { 54 - "plan9-for-vimspace/acme-colors" 55 - }, 56 - -- Completion 57 - { 58 - "hrsh7th/nvim-cmp", 59 - dependencies = { 60 - "hrsh7th/cmp-nvim-lsp", 61 - "hrsh7th/cmp-buffer", 62 - "hrsh7th/cmp-path", 63 - "hrsh7th/cmp-vsnip", 64 - "hrsh7th/vim-vsnip", 65 - "petertriho/cmp-git", 66 - "hrsh7th/cmp-cmdline" 67 - }, 68 - config = require('completion') 69 - }, -- nvim lsp plugins 70 - { 71 - "neovim/nvim-lspconfig", 72 - }, 73 - -- LSP Goodness 74 - { 75 - "ray-x/navigator.lua", 76 - dependencies = { 77 - { 'ray-x/guihua.lua', build = 'cd lua/fzy && make' }, 78 - { 'neovim/nvim-lspconfig' }, 79 - } 18 + install = { colorscheme = { "alabaster" } }, 19 + checker = { enabled = false }, 20 + spec = { 21 + -- Color themes 22 + { "shaunsingh/nord.nvim", priority = 1000, lazy = true }, 23 + { "shaunsingh/moonlight.nvim", priority = 1000, lazy = true }, 24 + { "folke/tokyonight.nvim", priority = 1000, lazy = true }, 25 + { "cranberry-clockworks/coal.nvim", priority = 1000, lazy = true }, 26 + { "hardselius/warlock", priority = 1000, lazy = true }, 27 + { "sontungexpt/witch", priority = 1000, lazy = true, config = true }, 28 + { "rose-pine/neovim", priority = 1000, lazy = true }, 29 + { "catppuccin/nvim", name = "catppuccin", priority = 1000, lazy = true }, 30 + { "p00f/alabaster.nvim", priority = 1000, lazy = true }, 31 + { 32 + "neanias/everforest-nvim", 33 + version = false, 34 + lazy = true, 35 + priority = 1000, -- make sure to load this before all the other start plugins 36 + main = "everforest", 37 + opts = { background = "hard" } 38 + }, 39 + { "rebelot/kanagawa.nvim", opts = { compile = true }, priority = 1000, lazy = true }, 40 + { 41 + 'jesseleite/nvim-noirbuddy', 42 + dependencies = { 43 + 'tjdevries/colorbuddy.nvim', 44 + 'nvim-lualine/lualine.nvim' 45 + }, 46 + lazy = true, 47 + priority = 1000, 48 + config = function(_, opts) 49 + -- configure lualine 50 + require('noirbuddy').setup(opts) 51 + local noirbuddy_lualine = require("noirbuddy.plugins.lualine") 52 + require("lualine").setup { 53 + options = { 54 + icons_enabled = true, 55 + --theme = "auto" 56 + theme = noirbuddy_lualine.theme 57 + }, 58 + sections = noirbuddy_lualine.sections, 59 + inactive_sections = noirbuddy_lualine.inactive_sections, 60 + } 61 + end, 62 + opts = { 63 + -- All of your `setup(opts)` will go here 64 + preset = "oxide", 65 + colors = { 66 + noir_8 = "#3A4649" 67 + } 68 + }, 69 + }, 70 + { 71 + "plan9-for-vimspace/acme-colors" 72 + }, 73 + -- Completion 74 + { 75 + "hrsh7th/nvim-cmp", 76 + dependencies = { 77 + "hrsh7th/cmp-nvim-lsp", 78 + "hrsh7th/cmp-buffer", 79 + "hrsh7th/cmp-path", 80 + "hrsh7th/cmp-vsnip", 81 + "hrsh7th/vim-vsnip", 82 + "petertriho/cmp-git", 83 + "hrsh7th/cmp-cmdline" 84 + }, 85 + config = require('completion') 86 + }, -- nvim lsp plugins 87 + { 88 + "neovim/nvim-lspconfig", 89 + config = false 90 + }, 91 + -- LSP Goodness 92 + { 93 + "ray-x/navigator.lua", 94 + dependencies = { 95 + { 'ray-x/guihua.lua', build = 'cd lua/fzy && make' }, 96 + { 'neovim/nvim-lspconfig' }, 97 + } 80 98 81 - }, 82 - { 83 - -- Syntax Highlighting from the future 84 - "nvim-treesitter/nvim-treesitter", 85 - --init = function() vim.cmd([[":TSUpdate"]]) end, 86 - main = "nvim-treesitter.configs", 87 - opts = { 88 - ensure_installed = 'all', 89 - ignore_install = { 'norg' }, 90 - sync_intall = true, 91 - highlight = { 92 - enable = true, 93 - }, 94 - indent = { 95 - enable = false, 96 - }, 97 - }, 98 - build = ":TSUpdate", 99 - version = false, 100 - dependencies = { 101 - "nvim-treesitter/nvim-treesitter-textobjects", 102 - "nvim-treesitter/nvim-treesitter-context", 103 - }, 104 - }, -- Git stuff 105 - -- GitGutter, shows inline difs 106 - "airblade/vim-gitgutter", 107 - { 108 - "NeogitOrg/neogit", 109 - dependencies = { 110 - "nvim-lua/plenary.nvim", -- required 111 - "sindrets/diffview.nvim", -- optional - Diff integration 112 - "nvim-telescope/telescope.nvim" 113 - }, 114 - config = true 115 - }, 116 - -- Auto format tool 117 - { 118 - "stevearc/conform.nvim", 119 - lazy = true, 120 - opts = { 121 - python = { "isort", "black" }, 122 - lua = { "lua-format" }, 123 - clojure = { "cljfmt" }, 124 - rust = { "rustfmt" }, 125 - haskell = { "ormolu", "stylish-haskell" }, 126 - go = { "goimports", "gofmt" }, 127 - java = { "google-java-format" }, 128 - javascript = { "prettier" }, 129 - html = { "prettier" }, 130 - yaml = { "prettier" }, 131 - sh = { "shfmt" }, 132 - c = { "clang-format" }, 133 - } 134 - }, 135 - { 136 - "hedyhli/outline.nvim", 137 - lazy = true, 138 - cmd = { "Outline", "OutlineOpen" }, 139 - config = true, 140 - keys = { 141 - { "<leader>o", "<cmd>Outline<cr>", desc = "Toggle outline" }, 142 - }, 143 - }, 144 - { 145 - "ray-x/go.nvim", 146 - ft = "go", 147 - lazy = true, 148 - dependencies = { 149 - "ray-x/guihua.lua", "neovim/nvim-lspconfig", 150 - "nvim-treesitter/nvim-treesitter" 151 - } 152 - }, 153 - { 154 - "nvim-lualine/lualine.nvim", 155 - config = function(_spec, _opt) 156 - local noirbuddy_lualine = require("noirbuddy.plugins.lualine") 157 - require("lualine").setup { 158 - options = { 159 - icons_enabled = true, 160 - -- when not using noirbuddy, uncomment this 161 - --theme = "auto" 162 - theme = noirbuddy_lualine.theme 163 - }, 164 - sections = noirbuddy_lualine.sections, 165 - inactive_sections = noirbuddy_lualine.inactive_sections, 166 - } 167 - end, 168 - dependencies = { "nvim-tree/nvim-web-devicons", "jesseleite/nvim-noirbuddy" } 169 - }, 170 - -- Fuzzy finding stuff 171 - "junegunn/fzf.vim", 172 - -- A lua + nvim stdlib sort of thing 173 - { "nvim-lua/plenary.nvim", lazy = true, }, 174 - -- Telescope, find anything fast 175 - { 176 - "nvim-telescope/telescope.nvim", 177 - config = true, 178 - dependencies = { 179 - "nvim-lua/plenary.nvim", 180 - "nvim-telescope/telescope-symbols.nvim", 181 - "nvim-telescope/telescope-fzf-native.nvim" 182 - } 183 - }, 184 - { 185 - "folke/trouble.nvim", 186 - dependencies = "nvim-tree/nvim-web-devicons", 187 - config = true, 188 - }, 189 - -- Which key is bound? 190 - -- literally the best plugin ever 191 - { 192 - "folke/which-key.nvim", 193 - init = function() 194 - vim.o.timeout = true 195 - vim.o.timeoutlen = 300 196 - end, 197 - config = true 198 - }, 199 - -- Developing my neovim 200 - { 201 - "folke/lazydev.nvim", 202 - config = true, 203 - ft = "lua", 204 - lazy = true, 205 - opts = { 206 - library = { 207 - path = "luvit-meta/library", words = { "vim%.uv" }, 208 - }, 209 - }, 210 - dependencies = { 211 - "Bilal2453/luvit-meta" 212 - }, 213 - }, 214 - -- Lithsps 215 - { 216 - "windwp/nvim-autopairs", 217 - event = "InsertEnter", 218 - config = function() 219 - local pairs = require("nvim-autopairs") 99 + }, 100 + { 101 + -- Syntax Highlighting from the future 102 + "nvim-treesitter/nvim-treesitter", 103 + --init = function() vim.cmd([[":TSUpdate"]]) end, 104 + main = "nvim-treesitter.configs", 105 + opts = { 106 + ensure_installed = 'all', 107 + ignore_install = { 'norg' }, 108 + sync_intall = true, 109 + highlight = { 110 + enable = true, 111 + }, 112 + indent = { 113 + enable = false, 114 + }, 115 + }, 116 + build = ":TSUpdate", 117 + version = false, 118 + dependencies = { 119 + "nvim-treesitter/nvim-treesitter-textobjects", 120 + "nvim-treesitter/nvim-treesitter-context", 121 + }, 122 + }, -- Git stuff 123 + -- GitGutter, shows inline difs 124 + --"airblade/vim-gitgutter", 125 + { 126 + "NeogitOrg/neogit", 127 + dependencies = { 128 + "nvim-lua/plenary.nvim", -- required 129 + "sindrets/diffview.nvim", -- optional - Diff integration 130 + "nvim-telescope/telescope.nvim" 131 + }, 132 + config = true 133 + }, 134 + -- Auto format tool 135 + { 136 + "stevearc/conform.nvim", 137 + lazy = true, 138 + opts = { 139 + python = { "isort", "black" }, 140 + lua = { "lua-format" }, 141 + clojure = { "cljfmt" }, 142 + rust = { "rustfmt" }, 143 + haskell = { "ormolu", "stylish-haskell" }, 144 + go = { "goimports", "gofmt" }, 145 + java = { "google-java-format" }, 146 + javascript = { "prettier" }, 147 + html = { "prettier" }, 148 + yaml = { "prettier" }, 149 + sh = { "shfmt" }, 150 + c = { "clang-format" }, 151 + } 152 + }, 153 + { 154 + "hedyhli/outline.nvim", 155 + lazy = true, 156 + cmd = { "Outline", "OutlineOpen" }, 157 + config = true, 158 + keys = { 159 + { "<leader>o", "<cmd>Outline<cr>", desc = "Toggle outline" }, 160 + }, 161 + }, 162 + { 163 + "ray-x/go.nvim", 164 + ft = "go", 165 + lazy = true, 166 + dependencies = { 167 + "ray-x/guihua.lua", "neovim/nvim-lspconfig", 168 + "nvim-treesitter/nvim-treesitter" 169 + } 170 + }, 171 + { 172 + "nvim-lualine/lualine.nvim", 173 + config = true, 174 + dependencies = { "nvim-tree/nvim-web-devicons" } 175 + }, 176 + -- Fuzzy finding stuff 177 + --"junegunn/fzf.vim", 178 + "ibhagwan/fzf-lua", 179 + -- A lua + nvim stdlib sort of thing 180 + { "nvim-lua/plenary.nvim", lazy = true, }, 181 + -- Telescope, find anything fast 182 + { 183 + "nvim-telescope/telescope.nvim", 184 + config = true, 185 + dependencies = { 186 + "nvim-lua/plenary.nvim", 187 + "nvim-telescope/telescope-symbols.nvim", 188 + "nvim-telescope/telescope-fzf-native.nvim" 189 + } 190 + }, 191 + { 192 + "folke/trouble.nvim", 193 + dependencies = "nvim-tree/nvim-web-devicons", 194 + config = true, 195 + }, 196 + -- Which key is bound? 197 + -- literally the best plugin ever 198 + { 199 + "folke/which-key.nvim", 200 + init = function() 201 + vim.o.timeout = true 202 + vim.o.timeoutlen = 300 203 + end, 204 + config = true 205 + }, 206 + -- Developing my neovim 207 + { 208 + "folke/lazydev.nvim", 209 + config = true, 210 + ft = "lua", 211 + lazy = true, 212 + opts = { 213 + library = { 214 + path = "luvit-meta/library", words = { "vim%.uv" }, 215 + }, 216 + }, 217 + dependencies = { 218 + "Bilal2453/luvit-meta" 219 + }, 220 + }, 221 + -- Lithsps 222 + { 223 + "windwp/nvim-autopairs", 224 + event = "InsertEnter", 225 + config = function() 226 + local pairs = require("nvim-autopairs") 220 227 221 - pairs.setup({ 222 - check_ts = true, 223 - enable_check_bracket_line = false, 224 - }) 228 + pairs.setup({ 229 + check_ts = true, 230 + enable_check_bracket_line = false, 231 + }) 225 232 226 - pairs.get_rules("`")[1].not_filetypes = { "clojure", "scheme", "scm", "janet" } 227 - pairs.get_rules("'")[1].not_filetypes = { "clojure", "scheme", "scm", "janet", "rust" } 228 - end, 229 - }, 230 - -- This gives me the paredit engine, it's pretty nifty 231 - { 232 - "gpanders/nvim-parinfer", 233 - ft = { "hy", "scheme", "scm", "clojure", "fennel", "janet", "lisp", "python", "lua" }, 234 - lazy = true, 235 - config = function() 236 - vim.g.parinfer_comment_chars = { ";", "#" } 237 - vim.g.parinfer_force_balance = true 238 - end 239 - }, -- )))))) 240 - -- This one gives me vim-sexp like structural editing 241 - { 242 - "julienvincent/nvim-paredit", 243 - config = function() 244 - local paredit = require('nvim-paredit') 245 - paredit.setup({ 246 - indent = { 247 - enabled = true, 248 - }, 249 - --filetypes = {"clojure", "fennel", "janet"}, 250 - keys = { 251 - ["<localleader>w"] = { 252 - function() 253 - -- place cursor and set mode to `insert` 254 - paredit.cursor.place_cursor( 255 - -- wrap element under cursor with `( ` and `)` 256 - paredit.wrap.wrap_element_under_cursor("( ", ")"), 257 - -- cursor placement opts 258 - { placement = "inner_start", mode = "insert" } 259 - ) 260 - end, 261 - "Wrap element insert head", 262 - }, 233 + pairs.get_rules("`")[1].not_filetypes = { "clojure", "scheme", "scm", "janet" } 234 + pairs.get_rules("'")[1].not_filetypes = { "clojure", "scheme", "scm", "janet", "rust" } 235 + end, 236 + }, 237 + -- This gives me the paredit engine, it's pretty nifty 238 + { 239 + "gpanders/nvim-parinfer", 240 + ft = { "hy", "scheme", "scm", "clojure", "fennel", "janet", "lisp", "python", "lua" }, 241 + lazy = true, 242 + config = function() 243 + --vim.g.parinfer_comment_chars = { ";" } 244 + vim.g.parinfer_force_balance = true 245 + end 246 + }, -- )))))) 247 + -- This one gives me vim-sexp like structural editing 248 + { 249 + "julienvincent/nvim-paredit", 250 + config = function() 251 + local paredit = require('nvim-paredit') 252 + paredit.setup({ 253 + indent = { 254 + enabled = true, 255 + }, 256 + filetypes = { "clojure", "fennel", "janet" }, 257 + }) 258 + end, 259 + lazy = true, 260 + ft = { "hy", "scheme", "scm", "clojure", "fennel", "janet", "lisp", "python", "lua" } 261 + }, 262 + --{ "hiphish/rainbow-delimiters.nvim", priority = 1050, }, 263 + -- Conjure, lisp is magical 264 + { 265 + "Olical/conjure", 266 + dependencies = { "PaterJason/cmp-conjure" }, 267 + config = function() 268 + vim.g["conjure#client#scheme#stdio#command"] = "gxi" 269 + vim.g["conjure#client#scheme#stdio#prompt_pattern"] = "%d*> $?" 270 + end, 271 + lazy = true, 272 + ft = { "scheme", "scm", "lisp", "fennel", "clojure", "lua", "janet" }, 273 + }, 274 + { "PaterJason/cmp-conjure", lazy = true }, 275 + { "p1xelHer0/gerbil.nvim", lazy = true, ft = "scheme", config = true }, -- Fennel, Luasthp 276 + { "jaawerth/fennel.vim", lazy = true, ft = "fennel", config = true }, 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 + { 304 + "saecki/crates.nvim", 305 + tag = "v0.4.0", 306 + dependencies = { "nvim-lua/plenary.nvim" }, 307 + config = function() require("crates").setup() end, 308 + lazy = true, 309 + ft = { "rust" } 310 + }, -- RISC-V Assembly syntax highlighting 311 + { "kylelaker/riscv.vim", ft = "riscv" }, -- Hare Stuff 312 + -- Hare stuff 313 + -- Haredoc 314 + { 315 + url = "https://git.sr.ht/~torresjrjr/vim-haredoc", 316 + lazy = true, 317 + ft = { "hare" }, 318 + branch = "dev" 319 + }, 320 + { url = "https://git.sr.ht/~sircmpwn/hare.vim", ft = { "hare" } }, 321 + -- TCL 322 + { "lewis6991/tree-sitter-tcl", lazy = true, build = "make" }, 323 + -- LF 324 + { 325 + "ptzz/lf.vim", 326 + lazy = true, 327 + cmd = { "Lf" }, 328 + dependencies = { "voldikss/vim-floaterm" } 329 + }, 330 + { "imsnif/kdl.vim", lazy = true, ft = "kdl" }, 331 + { "catgoose/nvim-colorizer.lua", lazy = true, ft = { "css", "html", "toml", "conf" } }, 332 + { "github/copilot.vim", lazy = true, cmd = { "Copilot" } }, 333 + { 334 + "cshuaimin/ssr.nvim", 335 + config = function() 336 + local ssr = require("ssr") 337 + ssr.setup { 338 + border = "rounded", 339 + min_width = 50, 340 + min_height = 5, 341 + max_width = 120, 342 + max_height = 25, 343 + adjust_window = true, 344 + keymaps = { 345 + close = "q", 346 + next_match = "n", 347 + prev_match = "N", 348 + replace_confirm = "<cr>", 349 + replace_all = "<leader><cr>", 350 + }, 351 + } 352 + vim.keymap.set({ "n", "x" }, "<leader>sr", function() ssr.open() end) 353 + end 354 + }, 355 + { "lewis6991/gitsigns.nvim", config = true }, 263 356 264 - ["<localleader>W"] = { 265 - function() 266 - paredit.cursor.place_cursor( 267 - paredit.wrap.wrap_element_under_cursor("(", ")"), 268 - { placement = "inner_end", mode = "insert" } 269 - ) 270 - end, 271 - "Wrap element insert tail", 272 - }, 273 - -- same as above but for enclosing form 274 - ["<localleader>i"] = { 275 - function() 276 - paredit.cursor.place_cursor( 277 - paredit.wrap.wrap_enclosing_form_under_cursor("( ", ")"), 278 - { placement = "inner_start", mode = "insert" } 279 - ) 280 - end, 281 - "Wrap form insert head", 282 - }, 283 - ["<localleader>I"] = { 284 - function() 285 - paredit.cursor.place_cursor( 286 - paredit.wrap.wrap_enclosing_form_under_cursor("(", ")"), 287 - { placement = "inner_end", mode = "insert" } 288 - ) 289 - end, 290 - "Wrap form insert tail", 291 - }, 292 - ["<localleader>["] = { 293 - function() 294 - paredit.cursor.place_cursor( 295 - paredit.wrap.wrap_enclosing_form_under_cursor("[", "]"), 296 - { placement = "inner_start", mode = "insert" } 297 - ) 298 - end, 299 - }, 300 - ["<localleader>{"] = { 301 - function() 302 - paredit.cursor.place_cursor( 303 - paredit.wrap.wrap_enclosing_form_under_cursor("{", "}"), 304 - { placement = "inner_end", mode = "insert" } 305 - ) 306 - end, 307 - }, 308 - }, 309 - }) 310 - end, 311 - lazy = true, 312 - ft = { "hy", "scheme", "scm", "clojure", "fennel", "janet", "lisp", "python", "lua" } 313 - }, 314 - { 315 - "chiefnoah/nvim-paredit-janet", 316 - dependencies = { "julienvincent/nvim-paredit" }, 317 - lazy = true, 318 - ft = { "janet" }, 319 - config = function() 320 - require("nvim-paredit-janet").setup() 321 - end, 322 - }, 323 - { 324 - "julienvincent/nvim-paredit-fennel", 325 - dependencies = { "julienvincent/nvim-paredit" }, 326 - lazy = true, 327 - ft = { "fennel" }, 328 - config = true, 329 - }, 330 - { 331 - "ekaitz-zarraga/nvim-paredit-scheme", 332 - lazy = true, 333 - ft = { "scheme" }, 334 - config = function() 335 - require("nvim-paredit-scheme").setup(require("nvim-paredit")) 336 - end, 337 - }, 338 - --{ "hiphish/rainbow-delimiters.nvim", priority = 1050, }, 339 - -- Conjure, lisp is magical 340 - { 341 - "Olical/conjure", 342 - dependencies = { "PaterJason/cmp-conjure" }, 343 - config = function() 344 - vim.g["conjure#client#scheme#stdio#command"] = "gxi" 345 - vim.g["conjure#client#scheme#stdio#prompt_pattern"] = "%d*> $?" 346 - end, 347 - lazy = true, 348 - ft = { "scheme", "scm", "lisp", "fennel", "clojure", "lua", "janet" }, 349 - }, 350 - { "PaterJason/cmp-conjure", lazy = true }, 351 - { "p1xelHer0/gerbil.nvim", lazy = true, ft = "scheme", config = true }, -- Fennel, Luasthp 352 - { "jaawerth/fennel.vim", lazy = true, ft = "fennel", config = true }, 353 - { "rktjmp/hotpot.nvim", lazy = true, ft = "fennel", config = true }, 354 - { "Olical/nfnl", lazy = true, ft = "fennel", config = true }, -- Rust stuff 355 - { 356 - "simrat39/rust-tools.nvim", 357 - lazy = true, 358 - ft = { "rust" }, 359 - config = function() 360 - local rt = require("rust-tools") 361 - rt.setup({ 362 - server = { 363 - on_attach = function(_, bufnr) 364 - -- Hover actions 365 - vim.keymap.set("n", "<C-space>", 366 - rt.hover_actions.hover_actions, 367 - { buffer = bufnr }) 368 - -- Code action groups 369 - vim.keymap.set("n", "<Leader>a", 370 - rt.code_action_group.code_action_group, 371 - { buffer = bufnr }) 372 - end 373 - } 374 - }) 375 - end, 376 - dependencies = { "nvim-lua/plenary.nvim" } 377 - }, 378 - { "mfussenegger/nvim-dap", lazy = true, ft = { "c", "rust" } }, 379 - { 380 - "saecki/crates.nvim", 381 - tag = "v0.4.0", 382 - dependencies = { "nvim-lua/plenary.nvim" }, 383 - config = function() require("crates").setup() end, 384 - lazy = true, 385 - ft = { "rust" } 386 - }, -- RISC-V Assembly syntax highlighting 387 - { "kylelaker/riscv.vim", ft = "riscv" }, -- Hare Stuff 388 - -- Hare stuff 389 - -- Haredoc 390 - { 391 - url = "https://git.sr.ht/~torresjrjr/vim-haredoc", 392 - lazy = true, 393 - ft = { "hare" }, 394 - branch = "dev" 395 - }, 396 - { url = "https://git.sr.ht/~sircmpwn/hare.vim", ft = { "hare" } }, 397 - -- TCL 398 - { "lewis6991/tree-sitter-tcl", lazy = true, build = "make" }, 399 - -- LF 400 - { 401 - "ptzz/lf.vim", 402 - lazy = true, 403 - cmd = { "Lf" }, 404 - dependencies = { "voldikss/vim-floaterm" } 405 - }, 406 - -- SuperMaven, another AI coding tool 407 - { 408 - "supermaven-inc/supermaven-nvim", 409 - opts = { keymaps = { accept_suggestion = "<C-f>" } }, 410 - lazy = true, 411 - cmd = "SupermavenStart" 412 - }, 413 - { "imsnif/kdl.vim", lazy = true, ft = "kdl" }, 414 - } 357 + } 415 358 })
+133
nvim/syntax/infsh.vim
··· 1 + " Vim syntax file 2 + " Language: OS Inferno sh 3 + " Maintainer: Alex Efros <powerman-asdf@ya.ru> 4 + " URL: http://powerman.name/download/vim/syntax/infsh.vim 5 + " Version: 1.10 6 + " Last Change: 2012-12-09 7 + 8 + if version < 600 9 + syntax clear 10 + elseif exists("b:current_syntax") 11 + finish 12 + endif 13 + 14 + 15 + syn cluster infshTOP contains=infshError 16 + " usual typo 17 + syn match infshError +"+ 18 + 19 + syn cluster infshTOP add=infshSubst,infshCmdOut,infshBlock 20 + " substitution command 21 + syn region infshSubst matchgroup=infshSubstDelimiter keepend extend start="\$["#]\?{\w\@=" end="}" contains=@infshTOP,@NoSpell 22 + syn match infshSubstName contained "\(\$["#]\?{\)\@<=\w\+" containedin=infshSubst 23 + " get command output 24 + syn region infshCmdOut matchgroup=infshCmdOutDelimiter keepend extend start="[`"]{" end="}" contains=@infshTOP,@NoSpell 25 + " command block 26 + syn region infshBlock matchgroup=infshDelimiter keepend extend start="{" end="}" contains=@infshTOP,@NoSpell 27 + 28 + syn cluster infshTOP add=infshDelimiter,infshRedir,infshConditional,infshOperator,infshPatternClass,infshPattern 29 + " top-level delimiters 30 + syn match infshDelimiter "[;&()]" 31 + syn match infshRedir "[|<>]\(\[\d\+\(=\d\+\)\?\]\)\?" 32 + syn match infshConditional "&&\|||" 33 + syn match infshOperator "\(:=\|=\|\^\)" 34 + syn region infshPatternClass matchgroup=infshPattern keepend extend oneline start="\[^\?" end="\]" contains=infshPatternInClass 35 + syn match infshPatternInClass contained "\(\[^\?\)\@<!-\]\@!" 36 + syn match infshPattern "[*?]" 37 + 38 + syn cluster infshTOP add=infshVar,infshSpecVar,infshError 39 + " references to variables 40 + syn match infshVar "\$["#]\?[$(']\@=" 41 + syn match infshVar "\$["#]\?\(`{\)\@=" 42 + syn match infshVar "\$["#]\(\"{\)\@=" 43 + " variables with single-char names (spec chars & unicode) 44 + syn match infshVar "\$["#]\?[!%+,\-./:?@\[\\\]~]" 45 + syn match infshVar "\$["#]\?[^\x0-\x7f]" 46 + " special variables 47 + syn match infshSpecVar "\$["#]\?[*]" 48 + syn match infshSpecVar "\$["#]\?[0]" 49 + syn match infshSpecVar "\$["#]\?[1-9][0-9]*" 50 + " variables with usual names 51 + syn match infshVar "\$["#]\?[a-zA-Z_][*0-9a-zA-Z_]*" 52 + syn match infshVar "\$["#]\?[*0][*0-9a-zA-Z_]\+" 53 + syn match infshVar "\$["#]\?[1-9][0-9]*[*a-zA-Z_][*0-9a-zA-Z_]*" 54 + " more special variables 55 + syn match infshSpecVar "\$["#]\?\(status\|apid\|ifs\|prompt\|autoload\)[*0-9a-zA-Z_]\@!" 56 + " bad variables 57 + syn match infshError "\$["#]\?[ \t\n&);<=>^|}]\@=" 58 + syn match infshError "\$["#]\?\((\s*)\)\@=" 59 + syn match infshError "\$["#]\?\(''[^']\@=\)\@=" 60 + syn match infshError "\$["#]\?\([`]{\@!\)\@=" 61 + syn match infshError "\$["#]\(["]{\@!\)\@=" 62 + syn match infshError "\$["#][#]\@=" 63 + 64 + syn cluster infshTOP add=infshStr,infshComment,infshShebang 65 + " quoted string 66 + syn region infshStr matchgroup=infshStrQ keepend extend start="'" skip="''" end="'" contains=infshStrQQ 67 + syn match infshStrQQ contained "''" 68 + " comment 69 + syn match infshComment "#.*" contains=infshTodo,@Spell extend 70 + syn keyword infshTodo contained TODO TBD FIXME XXX NOTE BUG WARNING DEBUG OPTIMIZATION WORKAROUND 71 + " shebang 72 + syn match infshShebang "^#!/dis/sh\(\.dis\)\?\(\s\+-[nlvx]\+\)*\s*$" contains=infshOpts 73 + syn match infshOpts contained "-[nlvx]\+" 74 + 75 + syn cluster infshTOP add=infshStatement,infshConditional,infshRepeat,infshOperator,infshKeyword,infshException,infshPctlType 76 + " keywords 77 + syn keyword infshStatement fn subfn 78 + syn keyword infshConditional and or if 79 + syn keyword infshRepeat apply getlines for in while 80 + syn keyword infshOperator run builtin exit load unload 81 + syn keyword infshOperator no pctl status 82 + syn match infshOperator "[@!~]" 83 + syn keyword infshKeyword flag loaded whatis 84 + syn keyword infshException raise rescue 85 + syn keyword infshPctlType newfd forkfd newns forkns newpgrp nodevs 86 + 87 + 88 + if version >= 508 || !exists("did_infsh_syn_inits") 89 + if version < 508 90 + let did_infsh_syn_inits = 1 91 + command -nargs=+ HiLink hi link <args> 92 + else 93 + command -nargs=+ HiLink hi def link <args> 94 + endif 95 + 96 + HiLink infshSubstDelimiter Identifier 97 + HiLink infshSubstName Operator 98 + 99 + HiLink infshCmdOutDelimiter Include 100 + 101 + HiLink infshDelimiter Delimiter 102 + HiLink infshRedir Type 103 + HiLink infshConditional Conditional 104 + HiLink infshOperator Operator 105 + HiLink infshPattern SpecialChar 106 + HiLink infshPatternInClass SpecialChar 107 + 108 + HiLink infshVar Identifier 109 + HiLink infshSpecVar Special 110 + 111 + HiLink infshError Error 112 + 113 + HiLink infshStr String 114 + HiLink infshStrQ String 115 + HiLink infshStrQQ SpecialChar 116 + 117 + HiLink infshComment Comment 118 + HiLink infshTodo Todo 119 + HiLink infshShebang Comment 120 + HiLink infshOpts PreProc 121 + 122 + HiLink infshStatement Statement 123 + HiLink infshConditional Conditional 124 + HiLink infshRepeat Repeat 125 + HiLink infshOperator Operator 126 + HiLink infshKeyword Keyword 127 + HiLink infshException Exception 128 + HiLink infshPctlType Type 129 + 130 + delcommand HiLink 131 + endif 132 + 133 + let b:current_syntax = "infsh"
+97
nvim/syntax/mkfile.vim
··· 1 + " Vim syntax file 2 + " Language: mkfile (used by OS Inferno mk(1)) 3 + " Maintainer: Alex Efros <powerman-asdf@ya.ru> 4 + " URL: http://powerman.name/download/vim/syntax/mkfile.vim 5 + " Version: 1.10 6 + " Last Change: 2012-12-09 7 + 8 + if version < 600 9 + syntax clear 10 + elseif exists("b:current_syntax") 11 + finish 12 + endif 13 + 14 + 15 + syn include @ShOs syntax/sh.vim 16 + unlet b:current_syntax 17 + syn include @ShInferno syntax/infsh.vim 18 + unlet b:current_syntax 19 + 20 + 21 + syn match mkfileComment "\\\@<!#.\{-}\(\\\?\n\)\@=" contains=mkfileTodo,@Spell 22 + syn keyword mkfileTodo contained TODO TBD FIXME XXX NOTE BUG WARNING DEBUG OPTIMIZATION WORKAROUND 23 + syn match mkfileEscaped "\\." 24 + syn match mkfileError contained "^\s\+\S.*" 25 + 26 + syn match mkfileDelimiter contained "[=:%<|]" 27 + syn match mkfileNextLine contained "\\\n" 28 + \ containedin=mkfileAssignment,mkfileVarWithAttr,mkfileVar,mkfileTargetWithAttr,mkfileTargets 29 + 30 + syn match mkfileVarValue contained "\$\w\+" 31 + syn match mkfileVarValue contained "\${\w\+}" 32 + syn match mkfileVarValue contained "\${\w\+:[^}]*}" contains=mkfileVarSubst 33 + syn match mkfileVarSubst contained ":[^}]*" contains=mkfileDelimiter,mkfileVarValue 34 + syn match mkfileVarDelimiter contained "[${}]" 35 + \ containedin=mkfileVarValue 36 + 37 + syn region mkfileExternal excludenl keepend start="^<" end="$" contains=mkfileDelimiter,mkfileVarValue 38 + 39 + syn region mkfileAssignment excludenl keepend start="^\w\(\w\|\\\n\)*\(\s\|\\\n\)*=" skip="\\\n" end="$" 40 + \ contains=mkfileVarWithAttr,mkfileVarValue,mkfileComment,mkfileEscaped 41 + \ skipempty nextgroup=mkfileError 42 + syn match mkfileVarWithAttr contained "^\w\(\w\|\\\n\)*\(\s\|\\\n\)*=\(\(\\\n\)*\(=\|U\(\\\n\)*=\)\)\?" 43 + \ contains=mkfileVar,mkfileDelimiter,mkfileVarAttr 44 + syn match mkfileVar contained "^\(\w\|\\\n\)*\w" 45 + syn match mkfileVarAttr contained "\(=\(\\\n\)*\)\@<=U\(\(\\\n\)*=\)\@=" 46 + 47 + syn region mkfileRule excludenl keepend start="^[^ \t#=:]\([^#=:]\|\\\n\)*:" skip="\\\n" end="$" 48 + \ contains=mkfileTargetWithAttr,mkfilePrereq,mkfileVarValue,mkfileComment,mkfileEscaped 49 + \ skipempty nextgroup=mkfileError,mkfileRecipe 50 + syn region mkfileRule_os excludenl keepend start="^[^ \t#=:]\([^ \t#=:]\|\\\n\)*-\(os\|sh\):" skip="\\\n" end="$" 51 + \ contains=mkfileTargetWithAttr,mkfilePrereq,mkfileVarValue,mkfileComment,mkfileEscaped 52 + \ skipempty nextgroup=mkfileError,mkfileRecipe_os 53 + syn match mkfileTargetWithAttr contained "^[^ \t#=:]\([^#=:]\|\\\n\)*:\(\(\\\n\)*\(:\|[<DENnPQRUV]\+\(\\\n\)*:\)\)\?" 54 + \ contains=mkfileTargets,mkfileDelimiter,mkfileTargetAttr 55 + syn match mkfileTargets contained "^\([^#=:]\|\\\n\)*[^ \t#=:]" 56 + \ contains=mkfileDelimiter,mkfileVarValue 57 + syn match mkfileTargetAttr contained "\(:\(\\\n\)*\)\@<=[<DENnPQRUV]\+\(\(\\\n\)*:\)\@=" 58 + syn match mkfilePrereq contained "\(:\(\\\n\)*\)\@<=.*" 59 + \ contains=mkfileDelimiter,mkfileVarValue,mkfileComment,mkfileEscaped 60 + syn region mkfileRecipe contained excludenl keepend start="^\s.*" skip="\n\s" end="$" 61 + \ contains=@ShInferno 62 + syn region mkfileRecipe_os contained excludenl keepend start="^\s.*" skip="\n\s" end="$" 63 + \ contains=@ShOs 64 + " without including @Shโ€ฆ: 65 + " \ contains=mkfileVarValue,mkfileComment,mkfileEscaped 66 + 67 + 68 + if version >= 508 || !exists("did_mkfile_syn_inits") 69 + if version < 508 70 + let did_mkfile_syn_inits = 1 71 + command -nargs=+ HiLink hi link <args> 72 + else 73 + command -nargs=+ HiLink hi def link <args> 74 + endif 75 + 76 + HiLink mkfileError Error 77 + HiLink mkfileComment Comment 78 + HiLink mkfileTodo Todo 79 + HiLink mkfileEscaped Special 80 + 81 + HiLink mkfileDelimiter Operator 82 + HiLink mkfileNextLine Special 83 + 84 + HiLink mkfileVarValue Identifier 85 + HiLink mkfileVarSubst String 86 + HiLink mkfileVarDelimiter Delimiter 87 + 88 + HiLink mkfileVar Identifier 89 + HiLink mkfileVarAttr Type 90 + 91 + HiLink mkfileTargets Function 92 + HiLink mkfileTargetAttr Type 93 + 94 + delcommand HiLink 95 + endif 96 + 97 + let b:current_syntax = "mkfile"
-72
odin.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 - { pkgs, config, nixpkgs-unstable, unstable, ... }: 6 - { 7 - imports = 8 - [ 9 - # Include the results of the hardware scan. 10 - ./hardware-configuration.nix 11 - ./boot.nix 12 - ./networking.nix 13 - ./gui.nix 14 - ./users.nix 15 - ./packages.nix 16 - ./services.nix 17 - ]; 18 - _module.args.unstable = import nixpkgs-unstable { 19 - inherit (pkgs.stdenv.hostPlatform) system; 20 - inherit (config.nixpkgs) config; 21 - }; 22 - 23 - nixpkgs.config.allowUnfree = true; 24 - # Set your time zone. 25 - time.timeZone = "America/Chicago"; 26 - 27 - # Select internationalisation properties. 28 - i18n.defaultLocale = "en_US.UTF-8"; 29 - # console = { 30 - # font = "Lat2-Terminus16"; 31 - # keyMap = "us"; 32 - # useXkbConfig = true; # use xkb.options in tty. 33 - # }; 34 - 35 - # Copy the NixOS configuration file and link it from the resulting system 36 - # (/run/current-system/configuration.nix). This is useful in case you 37 - # accidentally delete configuration.nix. 38 - system.copySystemConfiguration = true; 39 - 40 - # Automatic doc cache generation 41 - documentation.man.generateCaches = true; 42 - 43 - # Automatic system upgrades 44 - system.autoUpgrade = { 45 - enable = true; 46 - dates = "09:00"; 47 - randomizedDelaySec = "45min"; 48 - }; 49 - 50 - # Automatic Garbage Collection 51 - nix.gc.automatic = true; 52 - nix.gc.options = "--delete-older-than 8d"; 53 - 54 - # This option defines the first version of NixOS you have installed on this particular machine, 55 - # and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions. 56 - # 57 - # Most users should NEVER change this value after the initial install, for any reason, 58 - # even if you've upgraded your system to a new NixOS release. 59 - # 60 - # This value does NOT affect the Nixpkgs version your packages and OS are pulled from, 61 - # so changing it will NOT upgrade your system. 62 - # 63 - # This value being lower than the current NixOS release does NOT mean your system is 64 - # out of date, out of support, or vulnerable. 65 - # 66 - # Do NOT change this value unless you have manually inspected all the changes it would make to your configuration, 67 - # and migrated your data accordingly. 68 - # 69 - # For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion . 70 - system.stateVersion = "23.11"; # Did you read the comment? 71 - 72 - }
+45 -12
packages.nix
··· 3 3 # propagate them to relevent services run at the end of sway config 4 4 # see 5 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 6 + # note: this is pretty much the same as /etc/sway/config.d/nixos.conf but also restarts 7 7 # some user services to make sure they have the correct environment variables 8 8 dbus-sway-environment = pkgs.writeTextFile { 9 9 name = "dbus-sway-environment"; ··· 44 44 # List packages installed in system profile. To search, run: 45 45 # $ nix search wget 46 46 environment.systemPackages = with pkgs; [ 47 + mangohud 47 48 neovim 48 49 appimage-run 49 50 tzdata ··· 79 80 dracula-theme 80 81 glib 81 82 xdg-utils 83 + xdg-desktop-portal 82 84 wayland 83 85 configure-gtk 86 + lxqt.lxqt-menu-data # for lxqt 84 87 dbus-sway-environment 85 88 dbus 86 89 pkg-config ··· 90 93 man-pages-posix 91 94 linuxPackages_latest.perf 92 95 ]; 96 + 97 + environment.loginShellInit = '' 98 + [[ "$(tty)" = "/dev/tty1" ]] && /home/noah/repos/nixos/gs.sh 99 + ''; 100 + 93 101 documentation.dev.enable = true; 94 102 95 103 # Fix dynamically linked libraries for unpackaged binaries ··· 112 120 enableFishIntegration = true; 113 121 enableBashIntegration = false; 114 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; 115 142 }; 116 143 117 144 # Run other bins in QEMU ··· 122 149 # UEFI firmware support for QEMU 123 150 systemd.tmpfiles.rules = [ "L+ /var/lib/qemu/firmware - - - - ${pkgs.qemu}/share/qemu/firmware" ]; 124 151 125 - 126 - 127 152 # Logseq uses an ancient version of Electron, so we enable that 128 153 nixpkgs.config.permittedInsecurePackages = [ "electron-25.9.0" ]; 129 154 155 + # I don't care too much about unfree 156 + nixpkgs.config.allowUnfree = true; 130 157 # Whitelist some unfree packages 131 - nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ 132 - "discord" 133 - "spotify" 134 - "obsidian" 135 - "unstable.obsidian" 136 - "tailscale" 137 - "google-chrome" 138 - "slack" 139 - ]; 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 + ]; 140 173 }
+14 -3
services.nix
··· 1 - { ... }: 1 + { pkgs, ... }: 2 2 { 3 3 # Some programs need SUID wrappers, can be configured further or are 4 4 # started in user sessions. ··· 14 14 # List services that you want to enable: 15 15 16 16 # Enable the OpenSSH daemon. 17 - services.openssh.enable = true; 17 + services.openssh = { 18 + enable = true; 19 + settings.X11Forwarding = true; 20 + }; 18 21 19 22 # Smart Card daemon 20 23 services.pcscd.enable = true; ··· 24 27 25 28 # Tailscale 26 29 services.tailscale = { 30 + enable = false; 31 + useRoutingFeatures = "client"; 32 + }; 33 + 34 + services.fwupd.enable = true; 35 + 36 + services.xrdp = { 27 37 enable = true; 28 - useRoutingFeatures = "client"; 38 + openFirewall = true; 39 + defaultWindowManager = "${pkgs.lxqt.lxqt-session}/bin/lxqt-session"; 29 40 }; 30 41 31 42 # Containers and VMs
+18 -2
users.nix
··· 1 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 2 6 { 3 7 4 - imports = [ ]; 8 + imports = [ 9 + # Import home-manager first, it's required for other modules 10 + (import "${home-manager}/nixos") 11 + ]; 5 12 6 13 # Declarative only optoins. 7 14 # I don't want to allow ad-hoc modifying users on the system. ··· 21 28 name = "chiefnoah.keys"; 22 29 # Update this with: 23 30 # `curl https://meta.sr.ht/~chiefnoah.keys | sha256sum` 24 - sha256 = "0l295n3i2b1agx8xl8l12zlck35qn9vja8fgvhk4g0v4132wfzgg"; 31 + sha256 = "0wdnx25blqihbgaa0hzd39mjqwki92ambar097hjfmlrxg1s4lk7"; 25 32 })); 26 33 }; 27 34 28 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; 29 45 }
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 + })