Configuration for my NixOS based systems and Home Manager

Compare changes

Choose any two refs to compare.

+2455 -809
+1 -1
.envrc
··· 1 - use_nix 1 + use flake
+2 -1
.gitignore
··· 1 - hardware-configuration.nix 1 + #hardware-configuration.nix 2 2 noah-password 3 3 .direnv/ 4 + .pre-commit-config.yaml
+6 -4
configuration.nix
··· 3 3 # https://search.nixos.org/options and in the NixOS manual (`nixos-help`). 4 4 5 5 { ... }: 6 - 6 + let 7 + agenix = builtins.fetchTarball "https://github.com/ryantm/agenix/archive/main.tar.gz"; 8 + in 7 9 { 8 10 imports = 9 - [ # Include the results of the hardware scan. 11 + [ 12 + # Include the results of the hardware scan. 10 13 ./hardware-configuration.nix 11 14 ./boot.nix 12 15 ./networking.nix 13 16 ./gui.nix 17 + (import "${agenix}/modules/age.nix") 14 18 ./users.nix 15 19 ./packages.nix 16 20 ./services.nix 17 - # TOOD: check if we need this here still, it's imported in users.nix 18 - <home-manager/nixos> 19 21 ]; 20 22 21 23 # Set your time zone.
+12 -8
fish/config.fish
··· 22 22 abbr ne "cd ~/repos/notes; nvim" 23 23 end 24 24 25 + abbr srhtclone "git clone git@git.sr.ht:~chiefnoah/" 26 + abbr ghclone "git clone git@github.com:chiefnoah/" 27 + 25 28 if test -d "~/repos" 26 29 alias r "cd ~/repos" 27 30 end 28 31 29 - # PATH stuff 32 + # We start the ssh-agent in noah-home.nix, so we'll add the socket to the environment 33 + set -Ux SSH_AUTH_SOCK /var/run/user/(id -u)/ssh-agent 30 34 31 - # Run ssh-agent 32 - if test -z "(pgrep ssh-agent)" 33 - eval (ssh-agent -c) > /dev/null # no output 34 - set -Ux SSH_AUTH_SOCK $SSH_AUTH_SOCK 35 - set -Ux SSH_AGENT_PID $SSH_AGENT_PID 36 - set -Ux SSH_AUTH_SOCK $SSH_AUTH_SOCK 37 - end 35 + # PATH stuff 38 36 39 37 if type -q "direnv" 40 38 direnv hook fish | source ··· 45 43 alias icat="kitty +kitten icat" 46 44 alias d="kitty +kitten diff" 47 45 end 46 + 47 + # NATS config 48 + set -Ux NATS_URL tls://nats.packetlost.dev 49 + set -Ux NATS_CA /srv/nats/minica.pem 50 + set -Ux NATS_CERT /srv/nats/odin.packetlost.dev/cert.pem 51 + set -Ux NATS_KEY /srv/nats/odin.packetlost.dev/key.pem 48 52 49 53 # Keybindings 50 54 fish_default_key_bindings
+1 -1
fish/functions/lfcd.fish
··· 13 13 14 14 function lfcd 15 15 set tmp (mktemp) 16 - lf -last-dir-path=$tmp $argv 16 + yazi --cwd-file=$tmp $argv 17 17 if test -f "$tmp" 18 18 set dir (cat $tmp) 19 19 rm -f $tmp
+20
fish/functions/rfv.fish
··· 1 + # ripgrep->fzf->nvim [QUERY] 2 + # Ripped from: https://junegunn.github.io/fzf/tips/ripgrep-integration/ 3 + function rfv 4 + set -lx RELOAD 'reload:rg --column --color=always --smart-case {q} || :' 5 + set -lx OPENER 'if [[ $FZF_SELECT_COUNT -eq 0 ]]; then 6 + nvim {1} +{2} # No selection. Open the current line in Vim. 7 + else 8 + nvim +cw -q {+f} # Build quickfix list for the selected items. 9 + fi' 10 + fzf < /dev/null \ 11 + --disabled --ansi --multi \ 12 + --bind "start:$RELOAD" --bind "change:$RELOAD" \ 13 + --bind "enter:become:$OPENER" \ 14 + --bind "ctrl-o:execute:$OPENER" \ 15 + --bind 'alt-a:select-all,alt-d:deselect-all,ctrl-/:toggle-preview' \ 16 + --delimiter : \ 17 + --preview 'bat --style=full --color=always --highlight-line {2} {1}' \ 18 + --preview-window '~4,+{2}+4/3,<80(up)' \ 19 + --query "$argv" 20 + end
+140
flake.lock
··· 1 + { 2 + "nodes": { 3 + "flake-compat": { 4 + "flake": false, 5 + "locked": { 6 + "lastModified": 1747046372, 7 + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", 8 + "owner": "edolstra", 9 + "repo": "flake-compat", 10 + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", 11 + "type": "github" 12 + }, 13 + "original": { 14 + "owner": "edolstra", 15 + "repo": "flake-compat", 16 + "type": "github" 17 + } 18 + }, 19 + "gitignore": { 20 + "inputs": { 21 + "nixpkgs": [ 22 + "pre-commit-hooks", 23 + "nixpkgs" 24 + ] 25 + }, 26 + "locked": { 27 + "lastModified": 1709087332, 28 + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", 29 + "owner": "hercules-ci", 30 + "repo": "gitignore.nix", 31 + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", 32 + "type": "github" 33 + }, 34 + "original": { 35 + "owner": "hercules-ci", 36 + "repo": "gitignore.nix", 37 + "type": "github" 38 + } 39 + }, 40 + "home-manager": { 41 + "inputs": { 42 + "nixpkgs": [ 43 + "nixpkgs" 44 + ] 45 + }, 46 + "locked": { 47 + "lastModified": 1747688870, 48 + "narHash": "sha256-ypL9WAZfmJr5V70jEVzqGjjQzF0uCkz+AFQF7n9NmNc=", 49 + "owner": "nix-community", 50 + "repo": "home-manager", 51 + "rev": "d5f1f641b289553927b3801580598d200a501863", 52 + "type": "github" 53 + }, 54 + "original": { 55 + "owner": "nix-community", 56 + "ref": "release-24.11", 57 + "repo": "home-manager", 58 + "type": "github" 59 + } 60 + }, 61 + "nixpkgs": { 62 + "locked": { 63 + "lastModified": 1751274312, 64 + "narHash": "sha256-/bVBlRpECLVzjV19t5KMdMFWSwKLtb5RyXdjz3LJT+g=", 65 + "owner": "nixos", 66 + "repo": "nixpkgs", 67 + "rev": "50ab793786d9de88ee30ec4e4c24fb4236fc2674", 68 + "type": "github" 69 + }, 70 + "original": { 71 + "owner": "nixos", 72 + "ref": "nixos-24.11", 73 + "repo": "nixpkgs", 74 + "type": "github" 75 + } 76 + }, 77 + "nixpkgs-unstable": { 78 + "locked": { 79 + "lastModified": 1756386758, 80 + "narHash": "sha256-1wxxznpW2CKvI9VdniaUnTT2Os6rdRJcRUf65ZK9OtE=", 81 + "owner": "nixos", 82 + "repo": "nixpkgs", 83 + "rev": "dfb2f12e899db4876308eba6d93455ab7da304cd", 84 + "type": "github" 85 + }, 86 + "original": { 87 + "owner": "nixos", 88 + "ref": "nixos-unstable", 89 + "repo": "nixpkgs", 90 + "type": "github" 91 + } 92 + }, 93 + "nixpkgs_2": { 94 + "locked": { 95 + "lastModified": 1754340878, 96 + "narHash": "sha256-lgmUyVQL9tSnvvIvBp7x1euhkkCho7n3TMzgjdvgPoU=", 97 + "owner": "NixOS", 98 + "repo": "nixpkgs", 99 + "rev": "cab778239e705082fe97bb4990e0d24c50924c04", 100 + "type": "github" 101 + }, 102 + "original": { 103 + "owner": "NixOS", 104 + "ref": "nixpkgs-unstable", 105 + "repo": "nixpkgs", 106 + "type": "github" 107 + } 108 + }, 109 + "pre-commit-hooks": { 110 + "inputs": { 111 + "flake-compat": "flake-compat", 112 + "gitignore": "gitignore", 113 + "nixpkgs": "nixpkgs_2" 114 + }, 115 + "locked": { 116 + "lastModified": 1755960406, 117 + "narHash": "sha256-RF7j6C1TmSTK9tYWO6CdEMtg6XZaUKcvZwOCD2SICZs=", 118 + "owner": "cachix", 119 + "repo": "git-hooks.nix", 120 + "rev": "e891a93b193fcaf2fc8012d890dc7f0befe86ec2", 121 + "type": "github" 122 + }, 123 + "original": { 124 + "owner": "cachix", 125 + "repo": "git-hooks.nix", 126 + "type": "github" 127 + } 128 + }, 129 + "root": { 130 + "inputs": { 131 + "home-manager": "home-manager", 132 + "nixpkgs": "nixpkgs", 133 + "nixpkgs-unstable": "nixpkgs-unstable", 134 + "pre-commit-hooks": "pre-commit-hooks" 135 + } 136 + } 137 + }, 138 + "root": "root", 139 + "version": 7 140 + }
+56
flake.nix
··· 1 + { 2 + description = "Home Manager configuration of noah"; 3 + 4 + inputs = { 5 + # Specify the source of Home Manager and Nixpkgs. 6 + nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; 7 + nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; 8 + home-manager = { 9 + url = "github:nix-community/home-manager/release-24.11"; 10 + inputs.nixpkgs.follows = "nixpkgs"; 11 + }; 12 + pre-commit-hooks.url = "github:cachix/git-hooks.nix"; 13 + }; 14 + 15 + outputs = { self, nixpkgs, nixpkgs-unstable, home-manager, pre-commit-hooks, ... }@inputs: 16 + let 17 + system = "aarch64-darwin"; 18 + pkgs = nixpkgs.legacyPackages.${system}; 19 + unstable-pkgs = nixpkgs-unstable.legacyPackages.${system}; 20 + supportedSystems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; 21 + forAllSystems = nixpkgs.lib.genAttrs supportedSystems; 22 + in 23 + { 24 + homeConfigurations."noah" = home-manager.lib.homeManagerConfiguration { 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 + }; 37 + checks = forAllSystems (system: { 38 + pre-commit-check = inputs.pre-commit-hooks.lib.${system}.run { 39 + src = ./.; 40 + # If your hooks are intrusive, avoid running on each commit with a default_states like this: 41 + # default_stages = ["manual" "push"]; 42 + hooks = { 43 + nixpkgs-fmt.enable = true; 44 + nil.enable = true; 45 + luacheck.enable = true; 46 + }; 47 + }; 48 + }); 49 + devShells = forAllSystems (system: { 50 + default = nixpkgs.legacyPackages.${system}.mkShell { 51 + inherit (self.checks.${system}.pre-commit-check) shellHook; 52 + buildInputs = self.checks.${system}.pre-commit-check.enabledPackages; 53 + }; 54 + }); 55 + }; 56 + }
+22
ghostty/config
··· 1 + font-size = 13 2 + font-family = TX-02 3 + theme = catppuccin-macchiato 4 + shell-integration = fish 5 + 6 + window-decoration = server 7 + 8 + font-feature = calt 9 + font-feature = ccmp 10 + font-feature = locl 11 + font-feature = ordn 12 + font-feature = mark 13 + font-feature = mkmk 14 + #font-feature = aalt 15 + #font-feature = ss01 16 + #font-feature = ss02 17 + #font-feature = ss03 18 + #font-feature = ss04 19 + #font-feature = ss05 20 + #font-feature = ss06 21 + #font-feature = ss07 22 + #font-feature = ss08
+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[@]}"
+40 -23
gui.nix
··· 1 - { pkgs, ... }: let 2 - unstable = import <nixos-unstable> { }; 3 - in { 1 + { pkgs, ... }: 2 + { 4 3 # Enable the X11 windowing system. 5 4 services.xserver = { 6 5 enable = true; 7 - videoDrivers = ["amdgpu"]; 6 + videoDrivers = [ "amdgpu" ]; 8 7 }; 9 8 9 + # Fix for HIP libraries 10 + systemd.tmpfiles.rules = [ 11 + "L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}" 12 + ]; 13 + 10 14 # Configure keymap in X11 11 - # services.xserver.xkb.layout = "us"; 15 + services.xserver.xkb = { 16 + layout = "us"; 17 + variant = ""; 18 + }; 12 19 # services.xserver.xkb.options = "eurosign:e,caps:escape"; 13 20 14 21 # Enable CUPS to print documents. ··· 25 32 }; 26 33 27 34 # Graphics and parallel compute configuration 28 - hardware.opengl = { 35 + hardware.graphics = { 29 36 enable = true; 30 - driSupport = true; 31 37 extraPackages = with pkgs; [ 32 - # TODO: figure out why this doesn't work 33 - # Looks like it requires unfree 34 - # rocmPackages.clr.icd 35 38 amdvlk 36 39 libva 37 - mesa.drivers 40 + mesa 38 41 rocmPackages.clr.icd 39 42 ]; 40 43 }; 41 - 42 44 43 45 44 46 # Enable touchpad support (enabled default in most desktopManager). ··· 49 51 fira-code 50 52 fira-code-symbols 51 53 noto-fonts 52 - noto-fonts-cjk 54 + noto-fonts-cjk-sans 53 55 noto-fonts-emoji 54 56 noto-fonts-extra 55 - (nerdfonts.override { fonts = ["FiraCode"]; }) 57 + nerd-fonts.fira-code 56 58 ]; 57 59 58 60 # Polkit is a dependency of Sway. It's responsible for handling security policies ··· 60 62 61 63 # Enable the sway window manager 62 64 programs.sway = { 63 - enable = true; 64 - package = unstable.sway; 65 + enable = false; 66 + #package = unstable.sway; 65 67 wrapperFeatures.gtk = true; 66 68 }; 67 69 # Use greetd as the displaymanager 68 70 #services.xserver.displayManager.greetd.enable = true; 69 - #services.xserver.displayManager.lightdm.enable = false; 70 - services.xserver.displayManager.sddm.enable = true; 71 - services.xserver.displayManager.defaultSession = "none+i3"; 72 - services.xserver.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 = { 73 83 enable = true; 74 - user = "noah"; 75 84 }; 85 + services.xscreensaver.enable = true; 86 + security.pam.services.xscreensaver.enable = true; 76 87 77 88 # i3, for when I need XOrg 78 89 services.xserver.windowManager.i3 = { 79 - enable = true; 90 + enable = false; 80 91 extraPackages = with pkgs; [ 81 92 dmenu 82 93 i3status ··· 88 99 xdg.portal = { 89 100 enable = true; 90 101 wlr.enable = true; 91 - 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 + ]; 92 109 }; 93 110 xdg.mime = { 94 111 enable = true;
+72
hardware-configuration.nix
··· 1 + # Do not modify this file! It was generated by โ€˜nixos-generate-configโ€™ 2 + # and may be overwritten by future invocations. Please make changes 3 + # to /etc/nixos/configuration.nix instead. 4 + { config, lib, pkgs, modulesPath, ... }: 5 + 6 + { 7 + imports = 8 + [ 9 + (modulesPath + "/installer/scan/not-detected.nix") 10 + ]; 11 + 12 + boot.kernelPackages = pkgs.linuxPackages_latest; 13 + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usb_storage" "usbhid" "uas" "sd_mod" ]; 14 + boot.initrd.kernelModules = [ ]; 15 + boot.kernelModules = [ "kvm-amd" ]; 16 + boot.extraModulePackages = [ ]; 17 + 18 + # Bluetooth / wireless configuration 19 + hardware.bluetooth = { 20 + enable = true; 21 + powerOnBoot = true; 22 + settings = { 23 + General = { 24 + # Shows battery charge of connected devices on supported 25 + # Bluetooth adapters. Defaults to 'false'. 26 + Experimental = true; 27 + # When enabled other devices can connect faster to us, however 28 + # the tradeoff is increased power consumption. Defaults to 29 + # 'false'. 30 + FastConnectable = true; 31 + }; 32 + Policy = { 33 + # Enable all controllers when they are found. This includes 34 + # adapters present on start as well as adapters that are plugged 35 + # in later on. Defaults to 'true'. 36 + AutoEnable = true; 37 + }; 38 + }; 39 + }; 40 + 41 + 42 + fileSystems."/" = 43 + { 44 + device = "/dev/disk/by-uuid/9a7cbffe-6c10-4220-bb99-4dcea8181dcc"; 45 + fsType = "ext4"; 46 + }; 47 + 48 + fileSystems."/boot" = 49 + { 50 + device = "/dev/disk/by-uuid/9AC5-62C3"; 51 + fsType = "vfat"; 52 + options = [ "fmask=0077" "dmask=0077" ]; 53 + }; 54 + 55 + swapDevices = 56 + [{ device = "/dev/disk/by-uuid/a19d8fad-d8d2-4bbe-a233-e645020419ff"; }]; 57 + fileSystems."/srv/mugino" = { 58 + device = "/dev/disk/by-uuid/d832dd9f-1fbb-4ca7-9097-0ba329b838af"; 59 + fsType = "ext4"; 60 + }; 61 + 62 + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking 63 + # (the default) this is the recommended approach. When using systemd-networkd it's 64 + # still possible to use this option, but it's recommended to use it in conjunction 65 + # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. 66 + networking.useDHCP = lib.mkDefault true; 67 + # networking.interfaces.enp191s0.useDHCP = lib.mkDefault true; 68 + # networking.interfaces.wlp192s0.useDHCP = lib.mkDefault true; 69 + 70 + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; 71 + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; 72 + }
+4 -4
kitty/kitty.conf
··· 1 - font_family Berkeley Mono Variable Regular 1 + font_family Berkeley Mono Regular 2 2 #font_family CommitMono Variable Regular 3 3 #symbol_map U+E0A0-U+E0A3,U+E0C0-U+E0C7 JetBrains Mono Bold 4 4 #symbol_map U+E0A0-U+E0A3,U+E0C0-U+E0C7 Fira Code Bold 5 5 symbol_map U+E0A0-U+E0A3,U+E0C0-U+E0C7 FiraCode Nerd Font Bold 6 - bold_font auto 7 - italic_font auto 8 - bold_italic_font auto 6 + bold_font Berkeley Mono Bold 7 + italic_font Berkeley Mono Italic 8 + bold_italic_font Berkeley Mono BoldItalic 9 9 font_size 13.0 10 10 #font_size 12.0 11 11
+25 -27
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 = "othinus"; 7 + networking.hostName = "shizuri"; 8 8 # I like systemd-networkd 9 9 systemd.network.enable = true; 10 10 systemd.network.networks."50-wlp2s0" = { ··· 13 13 linkConfig.RequiredForOnline = "no"; 14 14 }; 15 15 16 - networking.interfaces = { 17 - enp4s0f1 = { 18 - ipv4.addresses = [{ 19 - address = "192.168.1.4"; 20 - prefixLength = 24; 21 - }]; 22 - }; 23 - }; 24 - networking.defaultGateway = { 25 - address = "192.168.1.1"; 26 - interface = "enp4s0f1"; 27 - }; 28 - 29 - networking.nameservers = [ 30 - "192.168.1.3" 31 - "192.168.1.5" 32 - "45.90.28.93" 33 - "45.90.30.93" 34 - ]; 35 - 36 - # This is necessary for ZFX 37 - networking.hostId = "0d14fe47"; 16 + networking.tempAddresses = "disabled"; 38 17 39 18 networking.useNetworkd = true; 40 19 # TODO: static IP @ 192.168.1.2 ··· 48 27 # Or disable the firewall altogether. 49 28 # TODO: allow some ports 50 29 networking.firewall = { 51 - enable = true; 30 + enable = false; 52 31 allowPing = true; 32 + allowedUDPPorts = [ ]; 53 33 allowedTCPPorts = [ 54 - # iperf3 55 - 5201 34 + 1234 35 + 2375 56 36 ]; 57 37 }; 58 38 59 39 services.avahi = { 60 40 enable = true; 61 - nssmdns = true; 41 + nssmdns4 = true; 42 + nssmdns6 = true; 43 + ipv6 = true; 62 44 openFirewall = true; 63 45 publish = { 64 46 enable = true; 65 47 addresses = true; 66 48 workstation = true; 49 + userServices = true; 50 + domain = true; 67 51 }; 68 52 }; 69 53 54 + # NFS mounts 55 + 56 + fileSystems = { 57 + "/srv/shokuhou" = { 58 + device = "192.168.1.3:/srv/shokuhou"; 59 + fsType = "nfs"; 60 + options = [ "nfsvers=4" "user" "x-system.automount" "x-system.idle-timeout=600" ]; 61 + }; 62 + "/srv/mentalout" = { 63 + device = "192.168.1.3:/srv/mentalout"; 64 + fsType = "nfs"; 65 + options = [ "nfsvers=4" "user" "x-system.automount" "x-system.idle-timeout=600" ]; 66 + }; 67 + }; 70 68 }
+246 -130
noah-home.nix
··· 1 - 2 - { pkgs, lib, ... }: let 1 + { pkgs, lib, ... }: 2 + let 3 3 unstable = import <nixos-unstable> { 4 - config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ 5 - "jetbrains-toolbox" 6 - "jetbrains.rust-rover" 7 - "rust-rover" 8 - "discord" 9 - "google-chrome" 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 + }) 10 26 ]; 11 27 }; 12 - in { 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 + 13 37 home.packages = with pkgs; [ 14 38 # main tool 15 - firefox-devedition 39 + unstable.firefox-devedition 16 40 direnv 17 41 fish 18 42 tree 19 43 btop 20 44 htop 45 + amdgpu_top 46 + mtr 21 47 pavucontrol 22 - unstable.logseq 48 + moreutils 49 + picocom 50 + # Disabled because even unstable is too out-of-date 51 + # unstable.logseq 23 52 element-desktop 24 53 rsync 25 54 unzip 26 55 fd 56 + jq 57 + xz 58 + bzip3 27 59 ripgrep 28 - catgirl 60 + bat 29 61 netcat 30 62 stunnel 31 63 fzf 32 64 iperf3 33 65 entr 34 66 bitwarden-cli 35 - lf 67 + # Previewer for LF 68 + unstable.pistol 69 + sqlite 70 + age 71 + just 72 + unstable.catgirl 73 + #devenv 74 + plan9port 75 + killall 36 76 37 77 # Dev tools 38 78 git 39 79 gcc 40 80 go 81 + gopls 41 82 gnumake 42 83 babashka 43 84 ccls 44 - clojure 85 + unstable.clojure 86 + unstable.cljfmt 87 + unstable.clojure-lsp 88 + unstable.janet 89 + unstable.jpm 90 + unstable.fennel-ls 45 91 graalvm-ce 46 92 cmake 47 93 ctags ··· 49 95 nodejs 50 96 node2nix 51 97 opam 52 - rustup 53 - zig 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 54 107 luarocks 55 108 luajit 56 109 lua-language-server 57 - leiningen 110 + luaformatter 111 + #leiningen 58 112 libressl 59 113 erlang 60 114 elixir 61 - ghc 62 - nil 63 - python3 115 + #ghc 116 + nil # nix language server 64 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 65 128 unstable.harec 66 129 unstable.hare 130 + unstable.haredoc 67 131 unstable.haredo 68 132 unstable.gleam 69 133 unstable.rebar3 70 - unstable.flyctl 71 - 134 + #unstable.flyctl 135 + unstable.bun 136 + unstable.gh 137 + unstable.kraft 138 + unstable.doctl 72 139 73 140 # JetBrains 74 141 unstable.jetbrains-toolbox 75 - unstable.jetbrains.rust-rover 76 142 77 143 # GUI tools 78 144 i3status 79 145 i3lock 146 + maim 80 147 slurp 81 148 grim 82 149 wl-clipboard 83 150 playerctl 84 151 barrier 152 + xclip 153 + zathura 154 + fuzzel 155 + thunderbird 156 + ghostty 157 + slack 158 + dconf 85 159 86 160 # Python dev tools 87 - ruff-lsp 88 - nodePackages.pyright 161 + pyright 89 162 python311Packages.python-lsp-server 90 163 python311Packages.python-lsp-ruff 91 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 + 92 179 # Unfree 93 - obsidian 94 180 discord 95 181 spotify 96 182 telegram-desktop 183 + google-chrome 184 + unstable.lmstudio 185 + libreoffice-qt6-fresh 97 186 ]; 98 187 188 + nix = { 189 + settings.experimental-features = [ 190 + "nix-command" 191 + "flakes" 192 + ]; 193 + }; 99 194 100 - programs.fish.enable = true; 195 + programs.fish = { 196 + enable = true; 197 + #package = unstable.fish; 198 + }; 101 199 programs.neovim = { 200 + #package = unstable.neovim-unwrapped; 102 201 enable = true; 103 202 defaultEditor = true; 203 + withNodeJs = true; 204 + withPython3 = true; 205 + plugins = [ 206 + unstable.vimPlugins.nvim-treesitter.withAllGrammars 207 + ]; 104 208 extraPackages = with pkgs; [ 105 209 fzf 106 210 ripgrep 107 211 luarocks 212 + unstable.tree-sitter 108 213 ]; 109 214 }; 110 215 programs.git = { 111 216 enable = true; 217 + lfs.enable = true; 112 218 userName = "Noah Pederson"; 113 219 userEmail = "noah@packetlost.dev"; 114 - extraConfig.init.defaultBranch = "master"; 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 + ]; 115 245 }; 246 + 116 247 programs.aerc = { 117 248 enable = true; 118 249 package = unstable.aerc; 119 250 }; 120 - programs.ssh.enable = true; 121 - programs.ssh.extraConfig = '' 122 - AddKeysToAgent yes 123 - ServerAliveInterval 60 124 - ControlMaster auto 125 - ControlPath ~/.ssh/master-%r@%h:%p 126 - 127 - Host home 128 - Hostname packetlostandfound.us 129 - User noah 130 - IdentityFile ~/.ssh/id_ed25519 131 - IdentitiesOnly yes 132 - 133 - Host git.sr.ht 134 - HostName git.sr.ht 135 - User git 136 - IdentityFile ~/.ssh/id_ed25519 137 - 138 - Host github.com 139 - HostName github.com 140 - User git 141 - IdentityFile ~/.ssh/id_ed25519 142 251 143 - Host misaki 144 - HostName 192.168.1.3 145 - User noah 146 - IdentityFile ~/.ssh/id_ed25519 147 - ForwardAgent yes 252 + programs.ssh = { 253 + enable = true; 254 + extraConfig = builtins.readFile ./ssh/extra; 255 + addKeysToAgent = "yes"; 256 + }; 148 257 149 - Host komoe 150 - HostName 192.168.1.5 151 - User noah 152 - IdentityFile ~/.ssh/id_ed25519 153 - ForwardAgent yes 154 - 155 - Host sdf 156 - HostName tty.sdf.org 157 - User ngp 158 - IdentityFile ~/.ssh/id_ed25519 159 - 160 - Host tildeclub 161 - HostName tilde.club 162 - User ngp 163 - IdentityFile ~/.ssh/id_ed25519 164 - 165 - Host envs 166 - HostName envs.net 167 - User ngp 168 - IdentityFile ~/.ssh/id_ed25519 169 - 170 - Host tildeteam 171 - HostName tilde.team 172 - User ngp 173 - IdentityFile ~/.ssh/id_ed25519 174 - 175 - Host ctrl-c 176 - HostName ctrl-c.club 177 - User ngp 178 - IdentityFile ~/.ssh/id_ed25519 179 - 180 - Host tildetown 181 - HostName tilde.town 182 - User ngp 183 - IdentityFile ~/.ssh/id_ed25519 184 - 185 - Host yourtilde 186 - HostName yourtilde.com 187 - User ngp 188 - IdentityFile ~/.ssh/id_ed25519 189 - 190 - Host hashbang 191 - HostName to1.hashbang.sh 192 - IdentitiesOnly yes 193 - User ngp 194 - IdentityFile ~/.ssh/id_ed25519 195 - 196 - Host tiny 197 - HostName tiny.packetlost.dev 198 - User noah 199 - IdentityFile ~/.ssh/id_ed25519 200 - 201 - Host tinybsd 202 - HostName tinybsd.packetlost.dev 203 - User noah 204 - IdentityFile ~/.ssh/id_ed25519 205 - 206 - Host seedbox 207 - HostName lw914.usbx.me 208 - User ngp 209 - IdentityFile ~/.ssh/id_ed25519 210 - 211 - Host saten 212 - HostName saten.packetlost.dev 213 - User noah 214 - IdentityFile ~/.ssh/id_ed25519 215 - 216 - Host launchpad 217 - HostName git.launchpad.net 218 - User pedersonnoah 219 - IdentityFile ~/.ssh/id_ed25519 220 - ''; 221 - services.gpg-agent = { 258 + programs.yazi = { 222 259 enable = true; 223 - defaultCacheTtl = 1800; 224 - enableSshSupport = 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 + }; 225 283 }; 226 284 285 + services.ssh-agent.enable = true; 286 + 227 287 programs.direnv = { 228 288 enable = true; 229 289 nix-direnv.enable = true; ··· 232 292 # Independent config files. 233 293 xdg.configFile.nvim = { 234 294 source = ./nvim; 295 + recursive = true; 296 + }; 297 + 298 + xdg.configFile.vis = { 299 + source = ./vis; 235 300 recursive = true; 236 301 }; 237 302 ··· 262 327 xdg.configFile.i3status = { 263 328 source = ./i3status; 264 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; 265 381 }; 266 382 267 383 home.stateVersion = "23.11";
+61 -132
nvim/init.lua
··· 4 4 -- These need to happend before we load plugins 5 5 -- Load Plugins 6 6 require("plugins") 7 - -- Color Scheme 8 - vim.cmd.colorscheme "catppuccin" 9 - --vim.cmd([[colorscheme kanagawa]]) 10 7 -- Config for Nord, which I usually use 11 - --vim.g.nord_italic = false 12 - --vim.g.nord_bold = false 13 - --vim.opt.background = "light" 14 - vim.opt.background = "dark" 15 - 8 + -- vim.g.nord_italic = false 9 + -- vim.g.nord_bold = false 10 + vim.opt.background = "light" 11 + --vim.opt.background = "dark" 16 12 17 13 -- Formatting and vim config 18 14 vim.opt.expandtab = true 19 15 vim.opt.tabstop = 4 20 16 vim.opt.shiftwidth = 4 21 - vim.opt.termguicolors = true 17 + --vim.opt.termguicolors = true 22 18 vim.opt.cursorcolumn = true 23 19 vim.opt.cursorline = true 24 20 vim.opt.hidden = true ··· 28 24 vim.opt.relativenumber = false 29 25 -- I don't like word wrapping 30 26 vim.opt.wrap = false 31 - vim.opt.mouse = vim.opt.mouse - "a" 32 - -- TODO: revisit this 33 - vim.opt.foldlevelstart = 20 34 - vim.opt.conceallevel = 3 35 27 -- Show whitespace as dots 36 28 vim.opt.lcs = vim.opt.lcs + "space:ยท" 37 29 vim.opt.list = true 38 30 vim.opt.textwidth = 88 31 + vim.cmd [[ colorscheme alabaster ]] 39 32 40 - -- No sexp wrapping parens 41 - vim.g.sexp_enable_insert_mode_mappings = 1 42 - 43 - -- LuaLine Config 44 - require("lualine").setup( 45 - { 46 - options = { 47 - icons_enabled = true, 48 - theme = "auto" 49 - } 50 - } 51 - ) 33 + -- Force OSC-52 34 + vim.g.clipboard = { 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 + }, 44 + } 52 45 53 46 -- CTags 54 - vim.opt.tags = vim.opt.tags + vim.fn.expand("~/.local/tmp/ctags") + vim.fn.expand("~/repos/gerbil/src/TAGS") 47 + vim.opt.tags = vim.opt.tags + vim.fn.expand("~/.local/tmp/ctags") + 48 + vim.fn.expand("~/repos/gerbil/src/TAGS") 55 49 56 50 -- Conjure 57 51 58 52 -- Gerbil Scheme 59 53 local set_gerbil = function() 60 - vim.g["conjure#client#scheme#stdio#command"] = "gxi" 61 - vim.g["conjure#client#scheme#stdio#prompt_pattern"] = "%d*> " 62 - 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 63 57 end 64 58 set_gerbil() 65 59 vim.api.nvim_create_user_command("ConjureGerbil", set_gerbil, {}) 66 60 67 - 68 - 69 61 -- Chibi-scheme 70 62 local set_chibi = function() 71 - vim.g["conjure#client#scheme#stdio#command"] = "chibi-scheme -R" 72 - vim.g["conjure#client#scheme#stdio#prompt_pattern"] = "=> $?" 73 - 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 74 66 end 75 67 vim.api.nvim_create_user_command("ConjureChibi", set_chibi, {}) 76 68 -- Chicken Scheme 77 69 local set_chicken = function() 78 - vim.g["conjure#client#scheme#stdio#command"] = "csi -quiet -:c" 79 - vim.g["conjure#client#scheme#stdio#prompt_pattern"] = "\n-#;%d-> " 80 - 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 81 73 end 82 74 vim.api.nvim_create_user_command("ConjureChicken", set_chicken, {}) 83 75 84 - -- Neoformat 85 - vim.g.neoformat_run_all_formatters = 1 86 - vim.g.neoformat_enabled_python = {"black", "docformatter", "isort"} 87 - vim.g.neoformat_python_black = { 88 - exe = "ruff", 89 - stdin = 1, 90 - args = {'format', '-q', '-'} 91 - } 92 - 93 76 -- KEYMAPS 94 - 95 - local keymap = vim.api.nvim_set_keymap 96 - local noremap = {noremap = true} 97 - local silentnoremap = {noremap = true, silent = true} 77 + local keymap = vim.keymap.set 78 + local noremap = { noremap = true } 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) 98 82 -- Easier breaking from edit modes 99 83 keymap("n", ";;", "<Esc>", noremap) 100 84 keymap("v", ";;", "<Esc>", noremap) ··· 124 108 125 109 -- Toggle Line Numbers 126 110 keymap("n", "<leader>n", "<cmd>set number! number?<CR>", silentnoremap) 111 + keymap("n", "<leader>N", "<cmd>set relativenumber! relativenumber?<CR>", silentnoremap) 127 112 128 113 -- Edit this file 129 114 keymap("n", "<leader>ec", "<cmd>e $MYVIMRC<CR>", silentnoremap) ··· 145 130 keymap("n", "<Left>", "zh", silentnoremap) 146 131 keymap("n", "<Right>", "zl", silentnoremap) 147 132 133 + -- Telescope 134 + keymap({ "n", "i", "v" }, "<C-t>", "<cmd>Telescope<CR>", silentnoremap) 135 + 148 136 -- LSP Documentation viewer 149 137 keymap("n", "K", "<cmd>lua vim.lsp.buf.hover()<CR>", silentnoremap) 150 138 139 + -- Lf 140 + keymap("n", "<leader>L", "<cmd>Lf<CR>", silentnoremap) 141 + 142 + -- Neogit 143 + keymap("n", "<leader>g", "<cmd>Neogit<CR>", silentnoremap) 144 + 151 145 -- Autoformat! 152 - keymap("n", "<C-n>", "<cmd>Neoformat<cr>", silentnoremap) 146 + vim.api.nvim_create_user_command("Format", function(args) 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 }) 156 + end, { range = true }) 157 + keymap("n", "<C-n>", "<cmd>Format<CR>", silentnoremap) 153 158 154 159 -- Python Specific 155 160 vim.g.python3_host_prog = vim.fn.expand("~/.envs/nvim/bin/python3") 156 161 157 - -- Set up Treesitter 158 - require("nvim-treesitter.configs").setup( 159 - { 160 - highlight = { 161 - enable = true, 162 - disable = {} 163 - }, 164 - indent = { 165 - enable = false, 166 - disable = {} 167 - }, 168 - ensure_installed = { 169 - "c", 170 - "cpp", 171 - "capnp", 172 - "cmake", 173 - "bash", 174 - "dockerfile", 175 - "diff", 176 - "devicetree", 177 - "dot", 178 - "ebnf", 179 - "elixir", 180 - "erlang", 181 - "clojure", 182 - "fortran", 183 - "go", 184 - "gomod", 185 - "gosum", 186 - "graphql", 187 - "git_config", 188 - "git_rebase", 189 - "gitcommit", 190 - "gitignore", 191 - "gleam", 192 - "julia", 193 - "fish", 194 - "toml", 195 - "haskell", 196 - "hare", 197 - "http", 198 - "html", 199 - "ini", 200 - "json", 201 - "jq", 202 - "latex", 203 - "llvm", 204 - "mermaid", 205 - "make", 206 - "meson", 207 - "ninja", 208 - "yaml", 209 - "python", 210 - "proto", 211 - "racket", 212 - "rst", 213 - "scala", 214 - "html", 215 - "tsx", 216 - "rust", 217 - "scheme", 218 - "fennel", 219 - "lua", 220 - "markdown", 221 - "markdown_inline", 222 - "sql", 223 - "thrift", 224 - "typescript", 225 - "verilog", 226 - "vim", 227 - "zig", 228 - "uxntal" 229 - } 230 - } 231 - ) 232 - 233 - -- Set up Which Key? 234 - require("which-key").setup({}) 235 162 -- ######################## 236 - --# Require other configs # 163 + -- # Require other configs # 237 164 -- ######################## 238 165 -- LSP 239 166 require("lsp") 240 - -- Completion 241 - require("completion") 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
+42 -70
nvim/lua/completion.lua
··· 1 - require("compe").setup( 2 - { 3 - enabled = true, 4 - autocomplete = true, 5 - debug = false, 6 - min_length = 1, 7 - preselect = "enable", 8 - throttle_time = 80, 9 - source_timeout = 200, 10 - resolve_timeout = 800, 11 - incomplete_delay = 400, 12 - max_abbr_width = 100, 13 - max_kind_width = 100, 14 - max_menu_width = 100, 15 - documentation = { 16 - border = {"", "", "", " ", "", "", "", " "}, -- the border option is the same as `|help nvim_open_win|` 17 - winhighlight = "NormalFloat:CompeDocumentation,FloatBorder:CompeDocumentationBorder", 18 - max_width = 120, 19 - min_width = 60, 20 - max_height = math.floor(vim.o.lines * 0.3), 21 - min_height = 1 22 - }, 23 - source = { 24 - path = true, 25 - buffer = true, 26 - calc = true, 27 - nvim_lsp = true, 28 - nvim_lua = true, 29 - vsnip = true, 30 - ultisnips = true, 31 - luasnip = true 32 - } 33 - } 34 - ) 35 - local t = function(str) 36 - return vim.api.nvim_replace_termcodes(str, true, true, true) 37 - end 38 - 39 - local check_back_space = function() 40 - local col = vim.fn.col(".") - 1 41 - return col == 0 or vim.fn.getline("."):sub(col, col):match("%s") ~= nil 42 - end 1 + -- Copied from https://github.com/hrsh7th/nvim-cmp/?tab=readme-ov-file#recommended-configuration 2 + return function() 3 + local cmp = require('cmp') 4 + cmp.setup({ 5 + snippet = { 6 + -- REQUIRED - you must specify a snippet engine 7 + expand = function(args) 8 + vim.fn["vsnip#anonymous"](args.body) -- For `vsnip` users. 9 + end 10 + }, 11 + window = { 12 + completion = cmp.config.window.bordered(), 13 + documentation = cmp.config.window.bordered() 14 + }, 15 + mapping = cmp.mapping.preset.insert({ 16 + ['<C-b>'] = cmp.mapping.scroll_docs(-4), 17 + ['<C-f>'] = cmp.mapping.scroll_docs(4), 18 + ['<C-Space>'] = cmp.mapping.complete(), 19 + ['<C-e>'] = cmp.mapping.abort(), 20 + ['<CR>'] = cmp.mapping.confirm({ select = true }) -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. 21 + }), 22 + sources = cmp.config.sources({ 23 + { name = 'lazydev', group_index = 0 }, 24 + { name = 'nvim_lsp' }, 25 + { name = 'vsnip' }, -- For vsnip users. 26 + { name = 'supermaven' }, 27 + { name = 'conjure' }, 28 + }, 29 + { { name = 'buffer' } }) 30 + }) 31 + require("cmp_git").setup() 32 + -- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore). 33 + cmp.setup.cmdline({ '/', '?' }, { 34 + mapping = cmp.mapping.preset.cmdline(), 35 + sources = { { name = 'buffer' } } 36 + }) 43 37 44 - -- Use (s-)tab to: 45 - --- move to prev/next item in completion menuone 46 - --- jump to prev/next snippet's placeholder 47 - _G.tab_complete = function() 48 - if vim.fn.pumvisible() == 1 then 49 - return t "<C-n>" 50 - elseif vim.fn["vsnip#available"](1) == 1 then 51 - return t "<Plug>(vsnip-expand-or-jump)" 52 - elseif check_back_space() then 53 - return t "<Tab>" 54 - else 55 - return vim.fn["compe#complete"]() 56 - end 57 - end 58 - _G.s_tab_complete = function() 59 - if vim.fn.pumvisible() == 1 then 60 - return t "<C-p>" 61 - elseif vim.fn["vsnip#jumpable"](-1) == 1 then 62 - return t "<Plug>(vsnip-jump-prev)" 63 - else 64 - -- If <S-Tab> is not working in your terminal, change it to <C-h> 65 - return t "<S-Tab>" 66 - end 38 + -- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore). 39 + cmp.setup.cmdline(':', { 40 + mapping = cmp.mapping.preset.cmdline(), 41 + sources = cmp.config.sources({ { name = 'path' } }, { { name = 'cmdline' } }), 42 + matching = { disallow_symbol_nonprefix_matching = false } 43 + }) 67 44 end 68 - 69 - vim.api.nvim_set_keymap("i", "<Tab>", "v:lua.tab_complete()", {expr = true}) 70 - vim.api.nvim_set_keymap("s", "<Tab>", "v:lua.tab_complete()", {expr = true}) 71 - vim.api.nvim_set_keymap("i", "<S-Tab>", "v:lua.s_tab_complete()", {expr = true}) 72 - vim.api.nvim_set_keymap("s", "<S-Tab>", "v:lua.s_tab_complete()", {expr = true})
+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 + }
+79 -166
nvim/lua/lsp.lua
··· 1 - local nvim_lsp = require("lspconfig") 2 - --######################## 3 - --#### Set up LSPs #### 4 - --######################## 5 - -- 6 - -- TypeScript 7 - nvim_lsp.tsserver.setup { 8 - flags = { 9 - debounce_text_changes = 150 10 - } 11 - } 1 + local capabilities = require('cmp_nvim_lsp').default_capabilities() 2 + -- ######################## 3 + -- #### Set up LSPs #### 4 + -- ######################## 12 5 13 - local util = require("lspconfig.util") 14 - 15 - -- Rust 16 - -- Python LSP 17 - nvim_lsp.pylsp.setup( 18 - { 19 - cmd = {"/home/noah/.envs/nvim/bin/pylsp"}, 20 - root_dir = function(fname) 21 - local root_files = { 22 - "pants.toml", 23 - "pyproject.toml", 24 - "setup.py", 25 - "setup.cfg", 26 - "Pipfile" 27 - } 28 - return util.find_git_ancestor(fname) or util.root_pattern(unpack(root_files))(fname) 29 - end 30 - } 31 - ) 32 - --nvim_lsp.scheme_langserver.setup{} 6 + vim.lsp.config("*", { 7 + capabilities = capabilities 8 + }) 33 9 34 - -- Golang 35 - -- Lots of things 36 - --nvim_lsp.diagnosticls.setup( 37 - -- { 38 - -- flags = { 39 - -- debounce_text_changes = 150 40 - -- } 41 - -- } 42 - --) 43 - nvim_lsp.lua_ls.setup{ 44 - settings = { 45 - Lua = { 46 - runtime = { 47 - -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) 48 - version = "LuaJIT" 49 - }, 50 - diagnostics = { 51 - -- Get the language server to recognize the `vim` global 52 - globals = {"vim"} 53 - }, 54 - workspace = { 55 - -- Make the server aware of Neovim runtime files 56 - library = vim.api.nvim_get_runtime_file("", true) 57 - }, 58 - -- Do not send telemetry data containing a randomized but unique identifier 59 - telemetry = { 60 - enable = false 61 - } 62 - } 63 - } 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", 64 24 } 25 + vim.lsp.enable(servers) 65 26 66 - -- LSPs that just use default config 67 - local simple_lsps = { 68 - "fennel_ls", 69 - "nil_ls", 70 - "htmx", 71 - "bzl", 72 - "bufls", 73 - "crystalline", 74 - "dockerls", 75 - "erlangls", 76 - "elixirls", 77 - "fortls", 78 - "gleam", 79 - "gopls", 80 - "hls", 81 - "jsonls", 82 - "vimls", 83 - "asm_lsp", 84 - "ccls", 85 - "pyright", 86 - -- ruff", idk if this is wrong? 87 - "ruff_lsp", 88 - "clojure_lsp", 89 - "guile_ls", 90 - -- Of course the Java-based ones are verbose af 91 - "kotlin_language_server", 92 - "java_language_server", 93 - "jsonls", 94 - "pest_ls", 95 - "ocamllsp", 96 - "reason_ls", 97 - "racket_langserver", 98 - "rust_analyzer", 99 - "scheme_langserver", 100 - "sqls", 101 - "thriftls", 102 - "typst_lsp", 103 - "vhdl_ls", 104 - "yamlls", 105 - "zls", 106 - "tsserver", 107 - "eslint", 108 - } 109 - -- #simple_lsps is the length of the table when treated as a list... funky! 110 - for _,v in pairs(simple_lsps) do 111 - nvim_lsp[v].setup{} 112 - end 113 - 114 - -- Whenever an LSP is attached to a buffer 115 27 local on_attach = function(ev) 116 - --Enable completion triggered by <c-x><x-o> 117 - 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' 118 30 119 - local opts = {noremap = true, silent = true, buffer = ev.buf} 120 - local protocol = require("vim.lsp.protocol") 121 - -- Mappings. 122 - -- See `:help vim.lsp.*` for documentation on any of the below functions 123 - vim.keymap.set("n", "gD", vim.lsp.buf.declaration, opts) 124 - vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts) 125 - vim.keymap.set("n", "K", vim.lsp.buf.hover, opts) 126 - vim.keymap.set("n", "gi", vim.lsp.buf.implementation, opts) 127 - vim.keymap.set("n", "<C-k>", vim.lsp.buf.signature_help, opts) 128 - vim.keymap.set("n", "<space>wa", vim.lsp.buf.add_workspace_folder, opts) 129 - vim.keymap.set("n", "<space>wr", vim.lsp.buf.remove_workspace_folder, opts) 130 - vim.keymap.set("n", "<space>wl", function() print(vim.inspect(vim.lsp.buf.list_workspace_folders())) end, opts) 131 - vim.keymap.set("n", "<space>D", vim.lsp.buf.type_definition, opts) 132 - vim.keymap.set("n", "<space>rn", vim.lsp.buf.rename, opts) 133 - vim.keymap.set("n", "<space>ca", vim.lsp.buf.code_action, opts) 134 - vim.keymap.set("n", "gr", vim.lsp.buf.references, opts) 135 - vim.keymap.set("n", "<space>e", vim.diagnostic.open_float, opts) 136 - vim.keymap.set("n", "[d", vim.diagnostic.goto_prev, opts) 137 - vim.keymap.set("n", "]d", vim.diagnostic.goto_next, opts) 138 - vim.keymap.set("n", "<space>q", vim.diagnostic.setloclist, opts) 139 - vim.keymap.set("n", "<space>f", function() 140 - vim.lsp.buf.format{ async = true } 141 - end, opts) 142 - 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) 143 56 144 - -- require'completion'.on_attach(client, bufnr) 145 - protocol.CompletionItemKind = { 146 - "๎˜’", -- Text 147 - "โ‹™", -- Method 148 - "๐‘“", -- Function 149 - "๏ž”", -- Constructor 150 - "๎ž›", -- Field 151 - "๎ž›", -- Variable 152 - "๏ƒจ", -- Class 153 - "๏ฐฎ", -- Interface 154 - "๏ฃ–", -- Module 155 - "๎˜ค", -- Property 156 - "๏‘ต", -- Unit 157 - "๏ขŸ", -- Value 158 - "๏ƒŠ", -- Enum 159 - "๏ Š", -- Keyword 160 - "๏ฌŒ", -- Snippet 161 - "๎ˆซ", -- Color 162 - "๏…›", -- File 163 - "๏š", -- Reference 164 - "๏„•", -- Folder 165 - "๏…", -- EnumMember 166 - "๎ˆฌ", -- Constant 167 - "๏ƒŠ", -- Struct 168 - "๏ƒง", -- Event 169 - "๏ฌฆ", -- Operator 170 - "๎˜Ž" -- TypeParameter 171 - } 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 + } 172 85 end 173 86 vim.api.nvim_create_autocmd('LspAttach', { 174 - group = vim.api.nvim_create_augroup('UserLspConfig', {}), 175 - callback = on_attach 87 + group = vim.api.nvim_create_augroup('UserLspConfig', {}), 88 + callback = on_attach 176 89 })
+351 -200
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 - { 7 - "git", 8 - "clone", 9 - "--filter=blob:none", 10 - "https://github.com/folke/lazy.nvim.git", 11 - "--branch=stable", -- latest stable release 12 - lazypath 13 - } 14 - ) 15 - end 16 - 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) 17 12 end 18 13 19 14 local lazy_bootstrap = ensure_lazy() 20 - if lazy_bootstrap then 21 - print("Bootstrapped lazy.nvim") 22 - end 15 + if lazy_bootstrap then print("Bootstrapped lazy.nvim") end 23 16 24 - require("lazy").setup( 25 - { 26 - -- Color themes 27 - "shaunsingh/nord.nvim", 28 - "shaunsingh/moonlight.nvim", 29 - "folke/tokyonight.nvim", 30 - "cranberry-clockworks/coal.nvim", 31 - "hardselius/warlock", 32 - { "catppuccin/nvim", name = "catppuccin", priority = 1000 }, 33 - { 34 - "neanias/everforest-nvim", 35 - version = false, 36 - lazy = false, 37 - priority = 1000, -- make sure to load this before all the other start plugins 38 - main = "everforest", 39 - opts = { 40 - background = "hard", 41 - }, 42 - }, 43 - { 44 - "rebelot/kanagawa.nvim", 45 - opts = {compile = true} 46 - }, 47 - -- show indents and whitespace characters 48 - "lukas-reineke/indent-blankline.nvim", 49 - -- Completion 50 - "hrsh7th/nvim-compe", 51 - "hrsh7th/vim-vsnip", 52 - -- nvim lsp plugins 53 - "neovim/nvim-lspconfig", 54 - { 55 - "nvimdev/lspsaga.nvim", 56 - dependencies = { 57 - "nvim-tree/nvim-web-devicons", 58 - "nvim-treesitter/nvim-treesitter" 59 - }, 60 - opts = {lightbulb = {enable = false}}, 61 - event = "LspAttach" 62 - }, 63 - -- Syntax Highlighting from the future 64 - { 65 - "nvim-treesitter/nvim-treesitter", 66 - init = function() 67 - vim.cmd([[":TSUpdate"]]) 68 - end 69 - }, 70 - -- GitGutter, shows inline difs 71 - "airblade/vim-gitgutter", 72 - -- Git wrapper plugin 73 - "tpope/vim-fugitive", 74 - -- surround with pairs )))))) 75 - --"tpope/vim-surround", 76 - -- Auto format tool 77 - {"sbdchd/neoformat", lazy = true, cmd = "Neoformat"}, 78 - -- Distraction free writing: GoYo + Limelight 79 - {"junegunn/limelight.vim", lazy = true, ft = "markdown"}, 80 - {"junegunn/goyo.vim", lazy = true, ft = "markdown"}, 81 - -- Golang plugins 82 - --use {"fatih/vim-go", run = ":GoUpdateBinaries", lazy = true, ft = "go"} 83 - { 84 - "ray-x/go.nvim", 85 - ft = "go", 86 - lazy = true, 87 - dependencies = { 88 - "ray-x/guihua.lua", 89 - "neovim/nvim-lspconfig", 90 - "nvim-treesitter/nvim-treesitter" 91 - } 92 - }, 93 - { 94 - "nvim-lualine/lualine.nvim", 95 - dependencies = {"nvim-tree/nvim-web-devicons"} 96 - }, 97 - "junegunn/fzf.vim", 98 - { 99 - dir = "~/.fzf", 100 - build = function() 101 - vim.fn["fzf#install"](0) 102 - end, 103 - dependencies = {"junegunn/fzf.vim"} 104 - }, 105 - -- Polyglot 106 - "sheerun/vim-polyglot", 107 - -- Telescope, find anything fast 108 - "nvim-lua/plenary.nvim", 109 - {"nvim-telescope/telescope.nvim", dependencies = {"nvim-lua/plenary.nvim"}}, 110 - "nvim-telescope/telescope-symbols.nvim", 111 - {"folke/trouble.nvim", dependencies = "nvim-tree/nvim-web-devicons"}, 112 - -- Which key is bound? 113 - "folke/which-key.nvim", -- literally the best plugin ever 114 - -- Lithsps 115 - { 116 - "guns/vim-sexp", 117 - ft = {"hy", "scheme", "clojure"}, 118 - }, -- )))))) 119 - {"hiphish/rainbow-delimiters.nvim"}, 120 - --{"gpanders/nvim-parinfer", ft = {"scheme", "lisp", "fennel", "clojure", "lua"}}, 121 - --{ 122 - -- "eraserhd/parinfer-rust", 123 - -- build = "RUSTFLAGS='-C target-feature=+crt-static' cargo build --release", 124 - -- ft = {"scheme", "lisp", "fennel", "clojure", "lua"}, 125 - --}, 126 - -- Conjure, lisp is magical 127 - { 128 - "Olical/conjure", 129 - ft = {"scheme", "lisp", "fennel", "clojure", "lua"}, 130 - config = function() 131 - vim.g["conjure#client#scheme#stdio#command"] = "gxi" 132 - vim.g["conjure#client#scheme#stdio#prompt_pattern"] = "%d*> $?" 133 - end 134 - }, 135 - {"p1xelHer0/gerbil.nvim", ft = "scheme"}, 136 - -- Fennel, Luasthp 137 - {"jaawerth/fennel.vim", lazy = true, ft = "fennel"}, 138 - {"rktjmp/hotpot.nvim", lazy = true, ft = "fennel"}, 139 - {"Olical/nfnl", ft = "fennel"}, 140 - -- Rust stuff 141 - { 142 - "simrat39/rust-tools.nvim", 143 - ft = {"rust"}, 144 - config = function() 145 - local rt = require("rust-tools") 146 - rt.setup( 147 - { 148 - server = { 149 - on_attach = function(_, bufnr) 150 - -- Hover actions 151 - vim.keymap.set("n", "<C-space>", rt.hover_actions.hover_actions, {buffer = bufnr}) 152 - -- Code action groups 153 - vim.keymap.set( 154 - "n", 155 - "<Leader>a", 156 - rt.code_action_group.code_action_group, 157 - {buffer = bufnr} 158 - ) 159 - end 160 - } 161 - } 162 - ) 163 - end, 164 - dependencies = {"nvim-lua/plenary.nvim"} 165 - }, 166 - {"mfussenegger/nvim-dap", lazy = true, ft = {"c", "rust"}}, 167 - { 168 - "saecki/crates.nvim", 169 - tag = "v0.4.0", 170 - dependencies = {"nvim-lua/plenary.nvim"}, 171 - config = function() 172 - require("crates").setup() 173 - end, 174 - ft = {"rust"} 175 - }, 176 - -- RISC-V Assembly syntax highlighting 177 - {"kylelaker/riscv.vim", ft = "riscv"}, 178 - -- Hare Stuff 17 + require("lazy").setup({ 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 + } 98 + 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") 227 + 228 + pairs.setup({ 229 + check_ts = true, 230 + enable_check_bracket_line = false, 231 + }) 232 + 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 }, 179 356 180 - -- Haredoc 181 - {url = "https://git.sr.ht/~torresjrjr/vim-haredoc", ft = {"hare"}, branch = "dev"}, 182 - -- Hare.vim 183 - {url = "https://git.sr.ht/~sircmpwn/hare.vim", ft = {"hare"}}, 184 - -- TCL 185 - {"lewis6991/tree-sitter-tcl", build = "make"}, 186 - -- LF 187 - {"ptzz/lf.vim", cmd = {"Lf"}, dependencies = {"voldikss/vim-floaterm"}}, 188 - -- Copilot 189 - -- use {"github/copilot.vim", lazy = true, cmd = {"Copilot"}} 190 - -- Mason 191 - { 192 - "williamboman/mason.nvim", 193 - init = function() 194 - vim.cmd([[":MasonUpdate"]]) 195 - end, 196 - dependencies = { 197 - "williamboman/mason-lspconfig.nvim", 198 - "mfussenegger/nvim-dap", 199 - "jose-elias-alvarez/null-ls.nvim" 200 - }, 201 - config = function() 202 - require("mason").setup() 203 - end 204 - } 205 - }, 206 - nil 207 - ) 357 + } 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"
+95 -18
packages.nix
··· 1 1 { pkgs, lib, ... }: 2 - let # bash script to let dbus know about important env variables and 2 + let # bash script to let dbus know about important env variables and 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"; ··· 27 27 name = "configure-gtk"; 28 28 destination = "/bin/configure-gtk"; 29 29 executable = true; 30 - text = let 31 - # TODO: figure out why these bindings exist or where they're used 32 - schema = pkgs.gsettings-desktop-schemas; 33 - datadir = "${schema}/share/gsettings-schemas/${schema.name}"; 34 - in '' 35 - 6 gnome_schema=org.gnome.desktop.interface 36 - gsettings set $gnome_schema gtk-theme 'Dracula' 37 - ''; 30 + text = 31 + let 32 + # TODO: figure out why these bindings exist or where they're used 33 + schema = pkgs.gsettings-desktop-schemas; 34 + datadir = "${schema}/share/gsettings-schemas/${schema.name}"; 35 + in 36 + '' 37 + 6 gnome_schema=org.gnome.desktop.interface 38 + gsettings set $gnome_schema gtk-theme 'Dracula' 39 + ''; 38 40 }; 39 41 in 40 42 { ··· 42 44 # List packages installed in system profile. To search, run: 43 45 # $ nix search wget 44 46 environment.systemPackages = with pkgs; [ 47 + mangohud 45 48 neovim 46 49 appimage-run 50 + tzdata 47 51 wget 48 52 kitty 53 + file 49 54 w3m 50 55 fishPlugins.fzf-fish 51 56 fzf 52 57 qemu 58 + qemu-user 59 + qemu-utils 60 + qemu_full 53 61 OVMF 62 + #9p stuff 63 + diod 64 + plan9port 65 + vis 66 + rc 67 + 68 + smartmontools 54 69 55 70 # Sway stuff 56 71 wdisplays ··· 61 76 grim 62 77 swayidle 63 78 swaylock 64 - gnome3.adwaita-icon-theme 79 + adwaita-icon-theme 65 80 dracula-theme 66 81 glib 67 82 xdg-utils 83 + xdg-desktop-portal 68 84 wayland 69 85 configure-gtk 86 + lxqt.lxqt-menu-data # for lxqt 70 87 dbus-sway-environment 71 88 dbus 89 + pkg-config 90 + zlib 91 + # why wouldn't I want documentation on my system 92 + man-pages 93 + man-pages-posix 94 + linuxPackages_latest.perf 72 95 ]; 73 96 97 + environment.loginShellInit = '' 98 + [[ "$(tty)" = "/dev/tty1" ]] && /home/noah/repos/nixos/gs.sh 99 + ''; 100 + 101 + documentation.dev.enable = true; 102 + 74 103 # Fix dynamically linked libraries for unpackaged binaries 75 104 programs.nix-ld = { 76 105 enable = true; ··· 78 107 # Add missing dynamic libraries for unpackaged programs HERE 79 108 # NOT in environment.systemPackages 80 109 zlib 110 + openssl 111 + sqlite 112 + libunwind 113 + libglvnd 114 + libclang 115 + systemdLibs 81 116 ]; 82 117 }; 118 + programs.nix-index = { 119 + enable = true; 120 + enableFishIntegration = true; 121 + enableBashIntegration = false; 122 + enableZshIntegration = false; 123 + }; 83 124 125 + programs.steam = { 126 + enable = true; 127 + remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play 128 + dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server 129 + localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers 130 + gamescopeSession.enable = true; 131 + }; 132 + programs.gamescope = { 133 + enable = true; 134 + capSysNice = true; 135 + }; 136 + # Boot to bigpicture 137 + services.getty.autologinUser = "noah"; 138 + 139 + programs.appimage = { 140 + enable = true; 141 + binfmt = true; 142 + }; 143 + 144 + # Run other bins in QEMU 145 + boot.binfmt.emulatedSystems = [ 146 + "aarch64-linux" 147 + "riscv64-linux" 148 + ]; 149 + # UEFI firmware support for QEMU 150 + systemd.tmpfiles.rules = [ "L+ /var/lib/qemu/firmware - - - - ${pkgs.qemu}/share/qemu/firmware" ]; 84 151 85 152 # Logseq uses an ancient version of Electron, so we enable that 86 153 nixpkgs.config.permittedInsecurePackages = [ "electron-25.9.0" ]; 87 154 155 + # I don't care too much about unfree 156 + nixpkgs.config.allowUnfree = true; 88 157 # Whitelist some unfree packages 89 - nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ 90 - "discord" 91 - "spotify" 92 - "obsidian" 93 - "tailscale" 94 - "google-chrome" 95 - ]; 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 + ]; 96 173 }
+10
scripts/nr
··· 1 + #!/usr/bin/env rc 2 + 3 + flag e + 4 + flag x + 5 + 6 + pkg=$1 7 + 8 + shift 9 + 10 + exec nix run 'nixpkgs#'^$pkg -- $*
+8
scripts/oclip
··· 1 + #!/usr/bin/env rc 2 + flag e + 3 + 4 + if (~ $1 -x) { 5 + flag x + 6 + } 7 + data=`{base64 <[0=0]} 8 + printf '\033]52;c;%s\007' $"data
+14
scripts/update-src
··· 1 + #!/usr/bin/env rc 2 + 3 + background=() 4 + for(repo in `{cat downstream}) { 5 + echo Updating $repo 6 + git -C $repo fetch --all --tags --prune --force & 7 + background=($apid $background) 8 + } 9 + 10 + for (i in $background) { 11 + wait $i 12 + } 13 + 14 + echo Done!
+24 -5
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. 5 5 # programs.mtr.enable = true; 6 6 programs.gnupg.agent = { 7 7 enable = true; 8 - enableSSHSupport = true; 8 + enableSSHSupport = false; 9 9 }; 10 10 11 11 # Fish shell, the best ··· 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 + }; 21 + 22 + # Smart Card daemon 23 + services.pcscd.enable = true; 18 24 19 25 # This option is for enabling the bolt daemon for managing Thunderbolt/USB4 Devices. 20 26 services.hardware.bolt.enable = true; 21 27 22 28 # Tailscale 23 29 services.tailscale = { 30 + enable = false; 31 + useRoutingFeatures = "client"; 32 + }; 33 + 34 + services.fwupd.enable = true; 35 + 36 + services.xrdp = { 24 37 enable = true; 25 - useRoutingFeatures = "client"; 38 + openFirewall = true; 39 + defaultWindowManager = "${pkgs.lxqt.lxqt-session}/bin/lxqt-session"; 26 40 }; 27 41 28 42 # Containers and VMs 29 43 virtualisation = { 30 44 podman = { 31 - enable = true; 45 + enable = false; 32 46 dockerCompat = true; 33 47 defaultNetwork.settings.dns_enabled = true; 48 + dockerSocket.enable = true; 49 + }; 50 + docker = { 51 + enable = true; 52 + storageDriver = "overlay2"; 34 53 }; 35 54 }; 36 55 }
-4
shell.nix
··· 1 - { pkgs ? import <nixos-unstable> {} }: 2 - pkgs.mkShell { 3 - packages = with pkgs; [ nil lua-language-server ]; 4 - }
+106
ssh/extra
··· 1 + AddKeysToAgent yes 2 + ServerAliveInterval 60 3 + ForwardAgent no 4 + ControlMaster auto 5 + ControlPath ~/.ssh/master-%r@%h:%p 6 + 7 + Host 192.168.1.* 8 + ForwardAgent yes 9 + 10 + Host *.local 11 + ForwardAgent yes 12 + 13 + Host home 14 + Hostname packetlostandfound.us 15 + User noah 16 + IdentityFile ~/.ssh/id_ed25519 17 + IdentitiesOnly yes 18 + ForwardAgent yes 19 + 20 + Host git.sr.ht 21 + HostName git.sr.ht 22 + User git 23 + IdentityFile ~/.ssh/id_ed25519 24 + 25 + Host github.com 26 + HostName github.com 27 + User git 28 + IdentityFile ~/.ssh/id_ed25519 29 + 30 + Host misaki 31 + HostName 192.168.1.3 32 + User noah 33 + IdentityFile ~/.ssh/id_ed25519 34 + ForwardAgent yes 35 + 36 + Host komoe 37 + HostName 192.168.1.5 38 + User noah 39 + IdentityFile ~/.ssh/id_ed25519 40 + ForwardAgent yes 41 + 42 + Host sdf 43 + HostName tty.sdf.org 44 + User ngp 45 + IdentityFile ~/.ssh/id_ed25519 46 + ForwardAgent yes 47 + 48 + Host tildeclub 49 + HostName tilde.club 50 + User ngp 51 + IdentityFile ~/.ssh/id_ed25519 52 + ForwardAgent yes 53 + 54 + Host envs 55 + HostName envs.net 56 + User ngp 57 + IdentityFile ~/.ssh/id_ed25519 58 + ForwardAgent yes 59 + 60 + Host tildeteam 61 + HostName tilde.team 62 + User ngp 63 + IdentityFile ~/.ssh/id_ed25519 64 + ForwardAgent yes 65 + 66 + Host ctrl-c 67 + HostName ctrl-c.club 68 + User ngp 69 + IdentityFile ~/.ssh/id_ed25519 70 + ForwardAgent yes 71 + 72 + Host tildetown 73 + HostName tilde.town 74 + User ngp 75 + IdentityFile ~/.ssh/id_ed25519 76 + ForwardAgent yes 77 + 78 + Host yourtilde 79 + HostName yourtilde.com 80 + User ngp 81 + IdentityFile ~/.ssh/id_ed25519 82 + ForwardAgent yes 83 + 84 + Host hashbang 85 + HostName to1.hashbang.sh 86 + IdentitiesOnly yes 87 + User ngp 88 + IdentityFile ~/.ssh/id_ed25519 89 + ForwardAgent yes 90 + 91 + Host tiny 92 + HostName tiny.packetlost.dev 93 + User noah 94 + IdentityFile ~/.ssh/id_ed25519 95 + ForwardAgent yes 96 + 97 + Host seedbox 98 + HostName canopus.usbx.me 99 + User ngp 100 + IdentityFile ~/.ssh/id_ed25519 101 + ForwardAgent no 102 + 103 + Host launchpad 104 + HostName git.launchpad.net 105 + User pedersonnoah 106 + IdentityFile ~/.ssh/id_ed25519
+10 -3
sway/config
··· 14 14 set $right l 15 15 16 16 # Your preferred terminal emulator 17 - set $term kitty 17 + set $term ghostty 18 18 # Your preferred application launcher 19 19 # Note: it's recommended that you pass the final command to sway 20 20 #set $menu dmenu_path | dmenu | xargs swaymsg exec -- 21 21 22 - set $menu exec kitty --class 'launcher' sh -c 'compgen -c | sort -u | fzf | xargs -r swaymsg -t command exec' 23 - for_window [app_id="^launcher$"] floating enable, border none, resize set width 25 ppt height 100 ppt, move position 0 px 0 px 22 + #set $menu exec kitty --class 'launcher' sh -c 'compgen -c | sort -u | fzf | xargs -r swaymsg -t command exec' 23 + #for_window [app_id="^launcher$"] floating enable, border none, resize set width 25 ppt height 100 ppt, move position 0 px 0 px 24 + 25 + set $menu exec fuzzel 24 26 25 27 # Lockscreen 26 28 set $lock swaylock -c 892243 -e ··· 71 73 72 74 input "1133:45081:MX_Master_2S_Mouse" { 73 75 pointer_accel 0 76 + accel_profile flat 77 + } 78 + 79 + input "1133:50504:Logitech_USB_Receiver_Mouse" { 80 + pointer_accel 0.2 74 81 accel_profile flat 75 82 } 76 83
+20 -12
users.nix
··· 1 - { pkgs, ... }: 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 = 5 - [ 6 - <home-manager/nixos> 7 - ]; 8 + imports = [ 9 + # Import home-manager first, it's required for other modules 10 + (import "${home-manager}/nixos") 11 + ]; 8 12 9 13 # Declarative only optoins. 10 14 # I don't want to allow ad-hoc modifying users on the system. ··· 16 20 users.users.noah = { 17 21 isNormalUser = true; 18 22 shell = pkgs.fish; 19 - extraGroups = [ "wheel" "video" "nas" ]; # Enable โ€˜sudoโ€™ for the user. 23 + extraGroups = [ "wheel" "video" "nas" "libvirtd" "qemu-libvirtd" "docker" ]; # Enable โ€˜sudoโ€™ for the user. 20 24 hashedPasswordFile = "/etc/nixos/noah-password"; 21 - openssh.authorizedKeys.keys = [ 22 - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC/cXL1cV6QUW5z2bJp1mCu0CXrcc0Dntdxaeo3fg60N noah@odin" 23 - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJeSPXmzD0rXKNjR1q+qSJqXjO0gxLitTRD+m02v94p6 noah@aleister" 24 - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDQFlX3hhXxsqAUYLvF+IX1YWQ+k22OHlqMOjgyNBe9e noah@misaki" 25 - ]; 25 + openssh.authorizedKeys.keys = 26 + lib.strings.splitString "\n" (builtins.readFile (builtins.fetchurl { 27 + url = "https://meta.sr.ht/~chiefnoah.keys"; 28 + name = "chiefnoah.keys"; 29 + # Update this with: 30 + # `curl https://meta.sr.ht/~chiefnoah.keys | sha256sum` 31 + sha256 = "0wdnx25blqihbgaa0hzd39mjqwki92ambar097hjfmlrxg1s4lk7"; 32 + })); 26 33 }; 27 34 28 35 users.groups.nas.gid = 1001; ··· 32 39 home-manager.useUserPackages = true; 33 40 # No more NIX_PATH, use system pkgs 34 41 home-manager.useGlobalPkgs = true; 42 + home-manager.backupFileExtension = "bak"; 35 43 36 - home-manager.users.noah = import ./noah-home.nix ; 44 + home-manager.users.noah = import ./noah-home.nix; 37 45 }
+64
vis/visrc.lua
··· 1 + require('vis') 2 + local plugin_manager = 'plugins/vis-plug' 3 + local plugins = { 4 + { 'timoha/vis-acme', theme = true, file = 'acme' }, 5 + { 'milhnl/vis-format' }, 6 + { url = 'https://git.cepl.eu/cgit/vis/vis-fzf-open' }, 7 + { url = 'https://gitlab.com/muhq/vis-lspc.git' }, 8 + { url = 'https://repo.or.cz/vis-parkour.git', alias = 'vis-parkour' } 9 + } 10 + 11 + function setup_plug() 12 + if not pcall(require, 'plugins/vis-plug') then 13 + os.execute('git clone --quiet https://github.com/erf/vis-plug ' .. 14 + (os.getenv('XDG_CONFIG_HOME') or os.getenv('HOME') .. '/.config') 15 + .. '/vis/plugins/vis-plug') 16 + end 17 + return require('plugins/vis-plug') 18 + end 19 + local plug = setup_plug() 20 + 21 + plug.init(plugins, true) 22 + 23 + function configure_plugin(name, config) 24 + if vis:module_exist(name) then 25 + local module = require(name) 26 + config(module) 27 + end 28 + end 29 + 30 + vis.events.subscribe(vis.events.INIT, function() 31 + configure_plugin('plugins/vis-format', function(format) 32 + vis:map(vis.modes.NORMAL, '<C-p>', ':fzf<Enter>') 33 + vis:map(vis.modes.NORMAL, '=', format.apply) 34 + end) 35 + configure_plugin('plugins/vis-lspc', function(lspc) 36 + if next(lspc) then 37 + lspc.logging = true 38 + lspc.log_file = "/tmp/lspc.log" 39 + 40 + lspc.ls_map.rust = { 41 + name = "rust", 42 + cmd = "rust-analyzer", 43 + formatting_options = {tabSize = 4, insertSpaces = true} 44 + } 45 + lspc.ls_map.lua = { 46 + name = "lua", 47 + cmd = "lua-language-server", 48 + formatting_options = { insertSpaces = false } 49 + } 50 + end 51 + end) 52 + end) 53 + 54 + 55 + vis.events.subscribe(vis.events.WIN_OPEN, function() 56 + --per-window configuration-- 57 + --vis:command('set number') 58 + --vis:command('set showtab on') 59 + vis:command('set showspace off') 60 + vis:command('set autoindent on') 61 + vis:command('set cursorline on') 62 + vis:command('set tabwidth 4') 63 + end) 64 + return nil
xfce/Win95_plus/1024x1024/apps/3d_graphics_file.png

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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

This is a binary file and will not be displayed.

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