this repo has no description
4
fork

Configure Feed

Select the types of activity you want to include in your feed.

ayo

+1523 -1646
+8 -10
bud/default.nix
··· 3 3 lib, 4 4 budUtils, 5 5 ... 6 - }: 7 - { 8 - bud.cmds = 9 - with pkgs; { 10 - get = { 11 - writer = budUtils.writeBashWithPaths [nixUnstable git coreutils]; 12 - synopsis = "get [DEST]"; 13 - help = "Copy the desired template to DEST"; 14 - script = ./get.bash; 15 - }; 6 + }: { 7 + bud.cmds = with pkgs; { 8 + get = { 9 + writer = budUtils.writeBashWithPaths [nixUnstable git coreutils]; 10 + synopsis = "get [DEST]"; 11 + help = "Copy the desired template to DEST"; 12 + script = ./get.bash; 16 13 }; 14 + }; 17 15 }
+5 -6
default.nix
··· 3 3 default = (import ./lib/compat).defaultNix; 4 4 ciSystems = ["aarch64-linux" "i686-linux" "x86_64-linux"]; 5 5 filterSystems = lib.filterAttrs (system: _: lib.elem system ciSystems); 6 - recurseIntoAttrsRecursive = 7 - lib.mapAttrs (_: v: 8 - if lib.isAttrs v 9 - then recurseIntoAttrsRecursive (lib.recurseIntoAttrs v) 10 - else v); 6 + recurseIntoAttrsRecursive = lib.mapAttrs (_: v: 7 + if lib.isAttrs v 8 + then recurseIntoAttrsRecursive (lib.recurseIntoAttrs v) 9 + else v); 11 10 systemOutputs = 12 11 lib.filterAttrs 13 12 (name: set: lib.isAttrs set && lib.any (system: set ? ${system} && name != "legacyPackages") ciSystems) 14 13 default.outputs; 15 14 ciDrvs = lib.mapAttrs (_: system: filterSystems system) systemOutputs; 16 15 in 17 - (recurseIntoAttrsRecursive ciDrvs) // { shell = import ./shell.nix; } 16 + (recurseIntoAttrsRecursive ciDrvs) // {shell = import ./shell.nix;}
+3 -3
flake.lock
··· 8 8 ] 9 9 }, 10 10 "locked": { 11 - "lastModified": 1645729578, 12 - "narHash": "sha256-SQEbg+hHG2Q1zU/Oqjj5LK2X/lmjJoBprm4eYORk0UU=", 11 + "lastModified": 1646360966, 12 + "narHash": "sha256-fJ/WHSU45bMJRDqz9yA3B2lwXtW5DKooU+Pzn13GyZI=", 13 13 "owner": "kamadorueda", 14 14 "repo": "alejandra", 15 - "rev": "08627c847e250b3eb654c6febeffaa0626fa8473", 15 + "rev": "511c3f6a88b6964e1496fb6f441f4ae5e58bd3ea", 16 16 "type": "github" 17 17 }, 18 18 "original": {
+92 -96
flake.nix
··· 34 34 inputs.nixpkgs.follows = "nixos"; 35 35 }; 36 36 }; 37 - outputs = 37 + outputs = { 38 + self, 39 + digga, 40 + nixos, 41 + home, 42 + nixos-hardware, 43 + nixosPersistence, 44 + nixpkgsWayland, 45 + rnixLsp, 46 + alejandra, 47 + ... 48 + } @ inputs: 49 + digga.lib.mkFlake 38 50 { 39 - self, 40 - digga, 41 - nixos, 42 - home, 43 - nixos-hardware, 44 - nixosPersistence, 45 - nixpkgsWayland, 46 - rnixLsp, 47 - alejandra, 48 - ... 49 - } 50 - @ inputs: 51 - digga.lib.mkFlake 52 - { 53 - inherit self inputs; 54 - channelsConfig = { allowUnfree = true; }; 55 - channels = { 56 - nixos = { 57 - imports = [(digga.lib.importOverlays ./overlays)]; 58 - overlays = [ 59 - nixpkgsWayland.overlay 60 - ( 61 - _: prev: { 62 - #helix = helix.packages.${prev.system}.helix; 63 - #helix-src = prev.helix.src; 64 - #rnix-lsp = rnixLsp.packages.${prev.system}.rnix-lsp; 65 - } 66 - ) 67 - ( 68 - _: prev: { 69 - alejandra = alejandra.defaultPackage.${prev.system}; 70 - remarshal = 71 - prev.remarshal.overrideAttrs 72 - ( 73 - old: { 74 - postPatch = 75 - '' 76 - substituteInPlace pyproject.toml \ 77 - --replace "poetry.masonry.api" "poetry.core.masonry.api" \ 78 - --replace 'PyYAML = "^5.3"' 'PyYAML = "*"' \ 79 - --replace 'tomlkit = "^0.7"' 'tomlkit = "*"' 80 - ''; 81 - } 82 - ); 83 - } 84 - ) 85 - ./pkgs/default.nix 86 - ]; 87 - }; 88 - }; 89 - lib = import ./lib { lib = digga.lib // nixos.lib; }; 90 - sharedOverlays = [ 91 - ( 92 - _: prev: { 93 - __dontExport = true; 94 - lib = prev.lib.extend (_: _: { our = self.lib; }); 95 - } 96 - ) 97 - ]; 51 + inherit self inputs; 52 + channelsConfig = {allowUnfree = true;}; 53 + channels = { 98 54 nixos = { 99 - hostDefaults = { 100 - system = "x86_64-linux"; 101 - channelName = "nixos"; 102 - imports = [(digga.lib.importExportableModules ./modules)]; 103 - modules = [ 104 - { lib.our = self.lib; } 105 - digga.nixosModules.bootstrapIso 106 - digga.nixosModules.nixConfig 107 - home.nixosModules.home-manager 108 - nixosPersistence.nixosModules.impermanence 109 - ]; 110 - }; 111 - imports = [(digga.lib.importHosts ./hosts)]; 112 - hosts = {}; 113 - importables = rec { 114 - profiles = 115 - (digga.lib.rakeLeaves ./profiles) 116 - // { 117 - users = digga.lib.rakeLeaves ./users; 118 - nixos-hardware = nixos-hardware.nixosModules; 119 - }; 120 - suites = 121 - with profiles; { 122 - base = [cachix core users.root]; 123 - work = [users.patriot develop]; 124 - }; 125 - }; 55 + imports = [(digga.lib.importOverlays ./overlays)]; 56 + overlays = [ 57 + nixpkgsWayland.overlay 58 + ( 59 + _: prev: { 60 + #helix = helix.packages.${prev.system}.helix; 61 + #helix-src = prev.helix.src; 62 + #rnix-lsp = rnixLsp.packages.${prev.system}.rnix-lsp; 63 + } 64 + ) 65 + ( 66 + _: prev: { 67 + alejandra = alejandra.defaultPackage.${prev.system}; 68 + remarshal = 69 + prev.remarshal.overrideAttrs 70 + ( 71 + old: { 72 + postPatch = '' 73 + substituteInPlace pyproject.toml \ 74 + --replace "poetry.masonry.api" "poetry.core.masonry.api" \ 75 + --replace 'PyYAML = "^5.3"' 'PyYAML = "*"' \ 76 + --replace 'tomlkit = "^0.7"' 'tomlkit = "*"' 77 + ''; 78 + } 79 + ); 80 + } 81 + ) 82 + ./pkgs/default.nix 83 + ]; 126 84 }; 127 - home = { 128 - imports = [(digga.lib.importExportableModules ./users/modules)]; 129 - modules = []; 130 - importables = rec { 131 - profiles = digga.lib.rakeLeaves ./users/profiles; 132 - suites = with profiles; rec { base = [direnv git starship]; }; 85 + }; 86 + lib = import ./lib {lib = digga.lib // nixos.lib;}; 87 + sharedOverlays = [ 88 + ( 89 + _: prev: { 90 + __dontExport = true; 91 + lib = prev.lib.extend (_: _: {our = self.lib;}); 92 + } 93 + ) 94 + ]; 95 + nixos = { 96 + hostDefaults = { 97 + system = "x86_64-linux"; 98 + channelName = "nixos"; 99 + imports = [(digga.lib.importExportableModules ./modules)]; 100 + modules = [ 101 + {lib.our = self.lib;} 102 + digga.nixosModules.bootstrapIso 103 + digga.nixosModules.nixConfig 104 + home.nixosModules.home-manager 105 + nixosPersistence.nixosModules.impermanence 106 + ]; 107 + }; 108 + imports = [(digga.lib.importHosts ./hosts)]; 109 + hosts = {}; 110 + importables = rec { 111 + profiles = 112 + (digga.lib.rakeLeaves ./profiles) 113 + // { 114 + users = digga.lib.rakeLeaves ./users; 115 + nixos-hardware = nixos-hardware.nixosModules; 116 + }; 117 + suites = with profiles; { 118 + base = [cachix core users.root]; 119 + work = [users.patriot develop]; 133 120 }; 134 121 }; 135 - devshell = ./shell; 136 - homeConfigurations = digga.lib.mkHomeConfigurations self.nixosConfigurations; 137 - deploy.nodes = digga.lib.mkDeployNodes self.nixosConfigurations {}; 122 + }; 123 + home = { 124 + imports = [(digga.lib.importExportableModules ./users/modules)]; 125 + modules = []; 126 + importables = rec { 127 + profiles = digga.lib.rakeLeaves ./users/profiles; 128 + suites = with profiles; rec {base = [direnv git starship];}; 129 + }; 138 130 }; 131 + devshell = ./shell; 132 + homeConfigurations = digga.lib.mkHomeConfigurations self.nixosConfigurations; 133 + deploy.nodes = digga.lib.mkDeployNodes self.nixosConfigurations {}; 134 + }; 139 135 }
+2 -6
hosts/NixOS.nix
··· 1 - { 2 - suites, 3 - ... 4 - }: 5 - { 1 + {suites, ...}: { 6 2 ### root password is empty by default ### 7 3 imports = suites.base; 8 4 boot.loader.systemd-boot.enable = true; 9 5 boot.loader.efi.canTouchEfiVariables = true; 10 6 networking.networkmanager.enable = true; 11 - fileSystems."/" = { device = "/dev/disk/by-label/nixos"; }; 7 + fileSystems."/" = {device = "/dev/disk/by-label/nixos";}; 12 8 }
+2 -6
hosts/bootstrap.nix
··· 1 - { 2 - profiles, 3 - ... 4 - }: 5 - { 1 + {profiles, ...}: { 6 2 # build with: `bud build bootstrap bootstrapIso` 7 3 # reachable on the local link via ssh root@fe80::47%eno1 8 4 # where 'eno1' is replaced by your own machine's network ··· 16 12 ]; 17 13 boot.loader.systemd-boot.enable = true; 18 14 # will be overridden by the bootstrapIso instrumentation 19 - fileSystems."/" = { device = "/dev/disk/by-label/nixos"; }; 15 + fileSystems."/" = {device = "/dev/disk/by-label/nixos";}; 20 16 }
+15 -12
hosts/lungmen.nix
··· 6 6 suites, 7 7 profiles, 8 8 ... 9 - }: 10 - let 9 + }: let 11 10 btrfsPartPath = "/dev/disk/by-label/NIXOS"; 12 11 btrfsOptions = ["compress-force=zstd" "noatime"]; 13 12 btrfsDiff = ··· 76 75 btrfs subvolume snapshot /mnt/root-blank /mnt/root 77 76 umount /mnt 78 77 ''; 79 - kernel.sysctl = { "fs.inotify.max_user_watches" = 524288; }; 78 + kernel.sysctl = {"fs.inotify.max_user_watches" = 524288;}; 80 79 }; 81 80 security.pam.loginLimits = [ 82 81 { ··· 132 131 mitigations.disable = true; 133 132 allowSimultaneousMultithreading = false; 134 133 # Deleting root subvolume makes sudo show lecture every boot 135 - sudo.extraConfig = 136 - '' 137 - Defaults lecture = never 138 - ''; 134 + sudo.extraConfig = '' 135 + Defaults lecture = never 136 + ''; 139 137 rtkit.enable = true; 140 138 }; 141 139 sound.enable = false; ··· 152 150 driSupport32Bit = true; 153 151 enable = true; 154 152 extraPackages = with pkgs; [amdvlk libvdpau-va-gl vaapiVdpau libva vulkan-loader pipewire]; 155 - extraPackages32 = 156 - with pkgs.pkgsi686Linux; 153 + extraPackages32 = with pkgs.pkgsi686Linux; 157 154 [libvdpau-va-gl vaapiVdpau libva vulkan-loader pipewire] ++ [pkgs.driversi686Linux.amdvlk]; 158 155 }; 159 156 pulseaudio = { ··· 186 183 }; 187 184 networking.interfaces.enp6s0.useDHCP = true; 188 185 services = { 186 + code-server = { 187 + enable = false; 188 + auth = "none"; 189 + user = "patriot"; 190 + group = "users"; 191 + }; 189 192 ipfs = { 190 193 enable = false; 191 194 enableGC = true; 192 195 autoMount = true; 193 196 }; 194 197 flatpak.enable = false; 195 - xserver = { videoDrivers = ["amdgpu"]; }; 198 + xserver = {videoDrivers = ["amdgpu"];}; 196 199 postgresql = { 197 200 enable = false; 198 201 enableTCPIP = true; ··· 203 206 local all all trust 204 207 host all all 0.0.0.0/0 md5 205 208 ''; 206 - settings = { listen_addresses = "*"; }; 209 + settings = {listen_addresses = "*";}; 207 210 initialScript = 208 211 pkgs.writeText 209 212 "backend-initScript" ··· 215 218 }; 216 219 }; 217 220 virtualisation = { 218 - podman.enable = false; 221 + podman.enable = true; 219 222 libvirtd.enable = false; 220 223 }; 221 224 system.stateVersion = "20.09";
+1 -1
lib/compat/default.nix
··· 9 9 sha256 = "0zd3x46fswh5n6faq4x2kkpy6p3c6j593xbdlbsl40ppkclwc80x"; 10 10 } 11 11 ) 12 - { src = ../../.; } 12 + {src = ../../.;} 13 13 ); 14 14 in 15 15 flake
+1 -2
lib/compat/nixos/default.nix
··· 1 - { ... }: 2 - let 1 + {...}: let 3 2 inherit (default.inputs.nixos) lib; 4 3 host = configs.${hostname} or configs.NixOS; 5 4 configs = default.nixosConfigurations;
+2 -2
lib/default.nix
··· 1 - { lib }: 1 + {lib}: 2 2 lib.makeExtensible 3 3 ( 4 4 self: { 5 5 pkgBinNoDep = pkgs: name: "${pkgs.${name}}/bin/${name}"; 6 - html = import ./html.nix { format = true; }; 6 + html = import ./html.nix {format = true;}; 7 7 } 8 8 )
+12 -14
lib/html.nix
··· 1 - { format ? false }: 2 - let 1 + {format ? false}: let 3 2 inherit (builtins) isAttrs isList map; 4 3 fmt = 5 4 if format ··· 10 9 evalAttrs = attrs: concatStrings (mapAttrsToList (name: value: " ${name}=\"${value}\"") attrs); 11 10 genAttrs = f: names: 12 11 builtins.listToAttrs (map 13 - (n: { 14 - name = n; 15 - value = (f n); 16 - }) 17 - names); 12 + (n: { 13 + name = n; 14 + value = f n; 15 + }) 16 + names); 18 17 evalChildren = children: 19 18 if isList children 20 19 then concatStrings children 21 20 else children; 22 - tag = 23 - name: maybeAttrs: 24 - if isAttrs maybeAttrs 25 - then (children: "<${name}${evalAttrs maybeAttrs}>${fmt}${evalChildren children}${fmt}</${name}>") 26 - else tag name {} maybeAttrs; 27 - tags = (genAttrs tag ["html" "head" "body" "div" "p" "a"]); 21 + tag = name: maybeAttrs: 22 + if isAttrs maybeAttrs 23 + then (children: "<${name}${evalAttrs maybeAttrs}>${fmt}${evalChildren children}${fmt}</${name}>") 24 + else tag name {} maybeAttrs; 25 + tags = genAttrs tag ["html" "head" "body" "div" "p" "a"]; 28 26 in 29 27 tags 30 28 // { 31 29 inherit tag; 32 - link = url: tags.a { href = url; }; 30 + link = url: tags.a {href = url;}; 33 31 }
+1 -2
locale/default.nix
··· 1 - { ... }: 2 - { 1 + {...}: { 3 2 console.keyMap = "trq"; 4 3 i18n = { 5 4 defaultLocale = "en_US.UTF-8";
+2 -6
modules/hm-system-defaults.nix
··· 1 - { 2 - config, 3 - ... 4 - }: 5 - { 1 + {config, ...}: { 6 2 home-manager.sharedModules = [ 7 3 { 8 - home.sessionVariables = { inherit (config.environment.sessionVariables) NIX_PATH; }; 4 + home.sessionVariables = {inherit (config.environment.sessionVariables) NIX_PATH;}; 9 5 xdg.configFile."nix/registry.json".text = config.environment.etc."nix/registry.json".text; 10 6 } 11 7 ];
+1 -2
modules/nix-path.nix
··· 2 2 channel, 3 3 inputs, 4 4 ... 5 - }: 6 - { 5 + }: { 7 6 nix.nixPath = ["nixpkgs=${channel.input}" "nixos-config=${../lib/compat/nixos}" "home-manager=${inputs.home}"]; 8 7 }
+8 -10
modules/security/mitigations.nix
··· 6 6 with lib; let 7 7 inherit (builtins) readFile fetchurl; 8 8 cfg = config.security.mitigations; 9 - cmdline = 10 - '' 11 - ibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off tsx=on tsx_async_abort=off mitigations=off''; 9 + cmdline = '' 10 + ibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off tsx=on tsx_async_abort=off mitigations=off''; 12 11 in { 13 12 options = { 14 13 security.mitigations.disable = ··· 16 15 { 17 16 type = types.bool; 18 17 default = false; 19 - description = 20 - '' 21 - Whether to disable spectre and meltdown mitigations in the kernel. Do 22 - not use this in mission critical deployments, or on any machine you do 23 - not have physical access to. 24 - ''; 18 + description = '' 19 + Whether to disable spectre and meltdown mitigations in the kernel. Do 20 + not use this in mission critical deployments, or on any machine you do 21 + not have physical access to. 22 + ''; 25 23 }; 26 24 }; 27 - config = mkIf cfg.disable { boot.kernelParams = splitString " " cmdline; }; 25 + config = mkIf cfg.disable {boot.kernelParams = splitString " " cmdline;}; 28 26 }
+17 -18
overlays/chromium-wayland.nix
··· 1 1 _: prev: let 2 - cliArgs = 3 - let 4 - flags = [ 5 - "--flag-switches-begin" 6 - "--enable-features=WebUIDarkMode,UseOzonePlatform,WebRTCPipeWireCapturer,IgnoreGPUBlocklist,Vulkan" 7 - "--flag-switches-end" 8 - "--ozone-platform=wayland" 9 - "--enable-webrtc-pipewire-capturer" 10 - "--ignore-gpu-blocklist" 11 - "--enable-gpu-rasterization" 12 - "--enable-zero-copy" 13 - "--disable-gpu-driver-bug-workarounds" 14 - "--force-dark-mode" 15 - "--process-per-site" 16 - ]; 17 - in 18 - prev.lib.concatStringsSep " " flags; 19 - in { chromium = prev.chromium.override { commandLineArgs = cliArgs; }; } 2 + cliArgs = let 3 + flags = [ 4 + "--flag-switches-begin" 5 + "--enable-features=WebUIDarkMode,UseOzonePlatform,WebRTCPipeWireCapturer,IgnoreGPUBlocklist,Vulkan" 6 + "--flag-switches-end" 7 + "--ozone-platform=wayland" 8 + "--enable-webrtc-pipewire-capturer" 9 + "--ignore-gpu-blocklist" 10 + "--enable-gpu-rasterization" 11 + "--enable-zero-copy" 12 + "--disable-gpu-driver-bug-workarounds" 13 + "--force-dark-mode" 14 + "--process-per-site" 15 + ]; 16 + in 17 + prev.lib.concatStringsSep " " flags; 18 + in {chromium = prev.chromium.override {commandLineArgs = cliArgs;};}
+189 -194
overlays/discord-canary-system.nix
··· 2 2 discord-canary-system = 3 3 prev.callPackage 4 4 mkDiscord 5 - ( 6 - rec { 7 - pname = "discord-canary"; 8 - version = "0.0.131"; 9 - binaryName = "DiscordCanary"; 10 - desktopName = "Discord Canary"; 11 - src = 12 - prev.fetchurl 13 - { 14 - url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz"; 15 - sha256 = "sha256-ZYPdE02Jq79LmvXu7KIJFugJX++Nnj0Og/mBuaP/+SA="; 16 - }; 17 - isWayland = true; 18 - enableVulkan = false; 19 - extraOptions = [ 20 - "--ignore-gpu-blocklist" 21 - "--enable-gpu-rasterization" 22 - "--enable-zero-copy" 23 - "--disable-gpu-driver-bug-workarounds" 24 - ]; 25 - } 26 - ); 27 - mkDiscord = 28 - { 29 - pname, 30 - version, 31 - src, 32 - binaryName, 33 - desktopName, 34 - isWayland ? false, 35 - enableVulkan ? false, 36 - extraOptions ? [], 37 - autoPatchelfHook, 38 - makeDesktopItem, 39 - lib, 40 - stdenv, 41 - wrapGAppsHook, 42 - alsaLib, 43 - at-spi2-atk, 44 - at-spi2-core, 45 - atk, 46 - cairo, 47 - cups, 48 - dbus, 49 - electron, 50 - expat, 51 - fontconfig, 52 - freetype, 53 - gdk-pixbuf, 54 - glib, 55 - gtk3, 56 - libcxx, 57 - libdrm, 58 - libnotify, 59 - libpulseaudio, 60 - libuuid, 61 - libX11, 62 - libXScrnSaver, 63 - libXcomposite, 64 - libXcursor, 65 - libXdamage, 66 - libXext, 67 - libXfixes, 68 - libXi, 69 - libXrandr, 70 - libXrender, 71 - libXtst, 72 - libxcb, 73 - mesa, 74 - nspr, 75 - nss, 76 - pango, 77 - systemd, 78 - libappindicator-gtk3, 79 - libdbusmenu, 80 - nodePackages, 81 - vulkan-loader, 82 - vulkan-extension-layer, 83 - libGL, 84 - pipewire, 85 - }: 86 - stdenv.mkDerivation 87 - rec { 88 - inherit pname version src; 89 - nativeBuildInputs = [ 90 - nodePackages.asar 5 + rec { 6 + pname = "discord-canary"; 7 + version = "0.0.131"; 8 + binaryName = "DiscordCanary"; 9 + desktopName = "Discord Canary"; 10 + src = 11 + prev.fetchurl 12 + { 13 + url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz"; 14 + sha256 = "sha256-ZYPdE02Jq79LmvXu7KIJFugJX++Nnj0Og/mBuaP/+SA="; 15 + }; 16 + isWayland = true; 17 + enableVulkan = false; 18 + extraOptions = [ 19 + "--ignore-gpu-blocklist" 20 + "--enable-gpu-rasterization" 21 + "--enable-zero-copy" 22 + "--disable-gpu-driver-bug-workarounds" 23 + ]; 24 + }; 25 + mkDiscord = { 26 + pname, 27 + version, 28 + src, 29 + binaryName, 30 + desktopName, 31 + isWayland ? false, 32 + enableVulkan ? false, 33 + extraOptions ? [], 34 + autoPatchelfHook, 35 + makeDesktopItem, 36 + lib, 37 + stdenv, 38 + wrapGAppsHook, 39 + alsaLib, 40 + at-spi2-atk, 41 + at-spi2-core, 42 + atk, 43 + cairo, 44 + cups, 45 + dbus, 46 + electron, 47 + expat, 48 + fontconfig, 49 + freetype, 50 + gdk-pixbuf, 51 + glib, 52 + gtk3, 53 + libcxx, 54 + libdrm, 55 + libnotify, 56 + libpulseaudio, 57 + libuuid, 58 + libX11, 59 + libXScrnSaver, 60 + libXcomposite, 61 + libXcursor, 62 + libXdamage, 63 + libXext, 64 + libXfixes, 65 + libXi, 66 + libXrandr, 67 + libXrender, 68 + libXtst, 69 + libxcb, 70 + mesa, 71 + nspr, 72 + nss, 73 + pango, 74 + systemd, 75 + libappindicator-gtk3, 76 + libdbusmenu, 77 + nodePackages, 78 + vulkan-loader, 79 + vulkan-extension-layer, 80 + libGL, 81 + pipewire, 82 + }: 83 + stdenv.mkDerivation 84 + rec { 85 + inherit pname version src; 86 + nativeBuildInputs = [ 87 + nodePackages.asar 88 + alsaLib 89 + autoPatchelfHook 90 + cups 91 + libdrm 92 + libuuid 93 + libXdamage 94 + libX11 95 + libXScrnSaver 96 + libXtst 97 + libxcb 98 + mesa.drivers 99 + nss 100 + wrapGAppsHook 101 + ]; 102 + dontWrapGApps = true; 103 + libPath = 104 + lib.makeLibraryPath 105 + [ 106 + libcxx 107 + systemd 108 + libpulseaudio 109 + stdenv.cc.cc 91 110 alsaLib 92 - autoPatchelfHook 111 + atk 112 + at-spi2-atk 113 + at-spi2-core 114 + cairo 93 115 cups 94 - libdrm 116 + dbus 117 + expat 118 + fontconfig 119 + freetype 120 + gdk-pixbuf 121 + glib 122 + gtk3 123 + libnotify 124 + libX11 125 + libXcomposite 95 126 libuuid 127 + libXcursor 96 128 libXdamage 97 - libX11 98 - libXScrnSaver 129 + libXext 130 + libXfixes 131 + libXi 132 + libXrandr 133 + libXrender 99 134 libXtst 100 - libxcb 101 - mesa.drivers 135 + nspr 102 136 nss 103 - wrapGAppsHook 137 + libxcb 138 + pango 139 + systemd 140 + libXScrnSaver 141 + libappindicator-gtk3 142 + libdbusmenu 143 + vulkan-loader 144 + vulkan-extension-layer 145 + libGL 146 + pipewire 104 147 ]; 105 - dontWrapGApps = true; 106 - libPath = 107 - lib.makeLibraryPath 148 + flags = 149 + ( 150 + lib.optionals 151 + isWayland 108 152 [ 109 - libcxx 110 - systemd 111 - libpulseaudio 112 - stdenv.cc.cc 113 - alsaLib 114 - atk 115 - at-spi2-atk 116 - at-spi2-core 117 - cairo 118 - cups 119 - dbus 120 - expat 121 - fontconfig 122 - freetype 123 - gdk-pixbuf 124 - glib 125 - gtk3 126 - libnotify 127 - libX11 128 - libXcomposite 129 - libuuid 130 - libXcursor 131 - libXdamage 132 - libXext 133 - libXfixes 134 - libXi 135 - libXrandr 136 - libXrender 137 - libXtst 138 - nspr 139 - nss 140 - libxcb 141 - pango 142 - systemd 143 - libXScrnSaver 144 - libappindicator-gtk3 145 - libdbusmenu 146 - vulkan-loader 147 - vulkan-extension-layer 148 - libGL 149 - pipewire 150 - ]; 151 - flags = 152 - ( 153 - lib.optionals 154 - isWayland 155 - [ 156 - "--flag-switches-begin" 157 - "--enable-features=UseOzonePlatform,WebRTCPipeWireCapturer${ 158 - lib.optionalString enableVulkan ",Vulkan" 159 - }" 160 - "--flag-switches-end" 161 - "--ozone-platform=wayland" 162 - "--enable-webrtc-pipewire-capturer" 163 - ] 164 - ) 165 - ++ extraOptions; 166 - installPhase = 167 - '' 168 - mkdir -p $out/{bin,usr/lib/${pname},share/pixmaps} 169 - ln -s discord.png $out/share/pixmaps/${pname}.png 170 - ln -s "${desktopItem}/share/applications" $out/share/ 153 + "--flag-switches-begin" 154 + "--enable-features=UseOzonePlatform,WebRTCPipeWireCapturer${ 155 + lib.optionalString enableVulkan ",Vulkan" 156 + }" 157 + "--flag-switches-end" 158 + "--ozone-platform=wayland" 159 + "--enable-webrtc-pipewire-capturer" 160 + ] 161 + ) 162 + ++ extraOptions; 163 + installPhase = '' 164 + mkdir -p $out/{bin,usr/lib/${pname},share/pixmaps} 165 + ln -s discord.png $out/share/pixmaps/${pname}.png 166 + ln -s "${desktopItem}/share/applications" $out/share/ 171 167 172 - # HACKS FOR SYSTEM ELECTRON 173 - asar e resources/app.asar resources/app 174 - rm resources/app.asar 175 - sed -i "s|process.resourcesPath|'$out/usr/lib/${pname}'|" resources/app/app_bootstrap/buildInfo.js 176 - sed -i "s|exeDir,|'$out/share/pixmaps',|" resources/app/app_bootstrap/autoStart/linux.js 177 - asar p resources/app resources/app.asar --unpack-dir '**' 178 - rm -rf resources/app 168 + # HACKS FOR SYSTEM ELECTRON 169 + asar e resources/app.asar resources/app 170 + rm resources/app.asar 171 + sed -i "s|process.resourcesPath|'$out/usr/lib/${pname}'|" resources/app/app_bootstrap/buildInfo.js 172 + sed -i "s|exeDir,|'$out/share/pixmaps',|" resources/app/app_bootstrap/autoStart/linux.js 173 + asar p resources/app resources/app.asar --unpack-dir '**' 174 + rm -rf resources/app 179 175 180 - # Copy Relevanat data 181 - cp -r resources/* $out/usr/lib/${pname}/ 176 + # Copy Relevanat data 177 + cp -r resources/* $out/usr/lib/${pname}/ 182 178 183 - # Create starter script for discord 184 - echo "#!${stdenv.shell}" > $out/bin/${pname} 185 - echo "exec ${electron}/bin/electron ${lib.concatStringsSep " " flags} $out/usr/lib/${pname}/app.asar \$@" >> $out/bin/${pname} 186 - chmod 755 $out/bin/${pname} 179 + # Create starter script for discord 180 + echo "#!${stdenv.shell}" > $out/bin/${pname} 181 + echo "exec ${electron}/bin/electron ${lib.concatStringsSep " " flags} $out/usr/lib/${pname}/app.asar \$@" >> $out/bin/${pname} 182 + chmod 755 $out/bin/${pname} 187 183 188 - wrapProgram $out/bin/${pname} \ 189 - "''${gappsWrapperArgs[@]}" \ 190 - --prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \ 191 - --prefix LD_LIBRARY_PATH : ${libPath} 192 - ''; 193 - desktopItem = 194 - makeDesktopItem 195 - { 196 - name = pname; 197 - exec = pname; 198 - icon = pname; 199 - inherit desktopName; 200 - genericName = meta.description; 201 - categories = "Network;InstantMessaging;"; 202 - mimeType = "x-scheme-handler/discord"; 203 - }; 204 - meta = 205 - with lib; { 206 - description = "All-in-one cross-platform voice and text chat for gamers"; 207 - homepage = "https://discordapp.com/"; 208 - downloadPage = "https://discordapp.com/download"; 209 - platforms = ["x86_64-linux"]; 210 - }; 184 + wrapProgram $out/bin/${pname} \ 185 + "''${gappsWrapperArgs[@]}" \ 186 + --prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \ 187 + --prefix LD_LIBRARY_PATH : ${libPath} 188 + ''; 189 + desktopItem = 190 + makeDesktopItem 191 + { 192 + name = pname; 193 + exec = pname; 194 + icon = pname; 195 + inherit desktopName; 196 + genericName = meta.description; 197 + categories = "Network;InstantMessaging;"; 198 + mimeType = "x-scheme-handler/discord"; 199 + }; 200 + meta = with lib; { 201 + description = "All-in-one cross-platform voice and text chat for gamers"; 202 + homepage = "https://discordapp.com/"; 203 + downloadPage = "https://discordapp.com/download"; 204 + platforms = ["x86_64-linux"]; 211 205 }; 206 + }; 212 207 }
+14 -15
overlays/discord-canary.nix
··· 12 12 url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz"; 13 13 sha256 = "0bijwfsd9s4awqkgxd9c2cxh7y5r06vix98qjp0dkv63r6jig8ch"; 14 14 }; 15 - installPhase = 16 - '' 17 - mkdir -p $out/{bin,opt/${binaryName},share/pixmaps} 18 - mv * $out/opt/${binaryName} 19 - chmod +x $out/opt/${binaryName}/${binaryName} 20 - patchelf --set-interpreter ${prev.stdenv.cc.bintools.dynamicLinker} \ 21 - $out/opt/${binaryName}/${binaryName} 22 - wrapProgram $out/opt/${binaryName}/${binaryName} \ 23 - "''${gappsWrapperArgs[@]}" \ 24 - --prefix XDG_DATA_DIRS : "${prev.gtk3}/share/gsettings-schemas/${prev.gtk3.name}/" \ 25 - --prefix LD_LIBRARY_PATH : "${old.libPath}:${prev.electron_9}/lib/electron:${prev.libdrm}/lib:${prev.libGL_driver.out}/lib" 26 - ln -s $out/opt/${binaryName}/${binaryName} $out/bin/ 27 - ln -s $out/opt/${binaryName}/discord.png $out/share/pixmaps/${old.pname}.png 28 - ln -s "${old.desktopItem}/share/applications" $out/share/ 29 - ''; 15 + installPhase = '' 16 + mkdir -p $out/{bin,opt/${binaryName},share/pixmaps} 17 + mv * $out/opt/${binaryName} 18 + chmod +x $out/opt/${binaryName}/${binaryName} 19 + patchelf --set-interpreter ${prev.stdenv.cc.bintools.dynamicLinker} \ 20 + $out/opt/${binaryName}/${binaryName} 21 + wrapProgram $out/opt/${binaryName}/${binaryName} \ 22 + "''${gappsWrapperArgs[@]}" \ 23 + --prefix XDG_DATA_DIRS : "${prev.gtk3}/share/gsettings-schemas/${prev.gtk3.name}/" \ 24 + --prefix LD_LIBRARY_PATH : "${old.libPath}:${prev.electron_9}/lib/electron:${prev.libdrm}/lib:${prev.libGL_driver.out}/lib" 25 + ln -s $out/opt/${binaryName}/${binaryName} $out/bin/ 26 + ln -s $out/opt/${binaryName}/discord.png $out/share/pixmaps/${old.pname}.png 27 + ln -s "${old.desktopItem}/share/applications" $out/share/ 28 + ''; 30 29 } 31 30 ); 32 31 }
+1 -1
overlays/manix.nix
··· 1 - final: prev: { manix = prev.manix.overrideAttrs (o: rec { inherit (prev.sources.manix) pname version src; }); } 1 + final: prev: {manix = prev.manix.overrideAttrs (o: rec {inherit (prev.sources.manix) pname version src;});}
+8 -10
overlays/phantom.nix
··· 12 12 }; 13 13 dontWrapQtApps = true; 14 14 buildInputs = [prev.libsForQt5.qt5.qtbase]; 15 - buildPhase = 16 - '' 17 - cd src/styleplugin 18 - qmake && make 19 - ''; 20 - installPhase = 21 - '' 22 - mkdir -p $out/$qtPluginPrefix/styles 23 - mv libphantomstyleplugin.so $out/$qtPluginPrefix/styles 24 - ''; 15 + buildPhase = '' 16 + cd src/styleplugin 17 + qmake && make 18 + ''; 19 + installPhase = '' 20 + mkdir -p $out/$qtPluginPrefix/styles 21 + mv libphantomstyleplugin.so $out/$qtPluginPrefix/styles 22 + ''; 25 23 }; 26 24 }
+1 -1
overlays/various-flake-fixes.nix
··· 2 2 # Since: https://github.com/NixOS/nixpkgs/pull/126137 3 3 nix-direnv = 4 4 if builtins.hasAttr "enableFlakes" prev.nix-direnv.override.__functionArgs 5 - then prev.nix-direnv.override { enableFlakes = true; } 5 + then prev.nix-direnv.override {enableFlakes = true;} 6 6 else prev.nix-direnv; 7 7 }
+44 -47
overlays/vscode-wayland.nix
··· 1 1 _: prev: let 2 2 pkgs = prev; 3 3 lib = pkgs.lib; 4 - vscodeWayland = 5 - let 6 - flags = [ 7 - "--flag-switches-begin" 8 - "--enable-features=UseOzonePlatform,IgnoreGPUBlocklist" 9 - "--flag-switches-end" 10 - "--ozone-platform=wayland" 11 - "--ignore-gpu-blocklist" 12 - "--enable-gpu-rasterization" 13 - "--enable-zero-copy" 14 - "--disable-gpu-driver-bug-workarounds" 15 - ]; 16 - in 17 - pkgs.writeScriptBin 18 - "vscode-wayland" 19 - '' 20 - #!${pkgs.stdenv.shell} 21 - ${pkgs.vscodium}/bin/codium ${lib.concatStringsSep " " flags} 22 - ''; 4 + vscodeWayland = let 5 + flags = [ 6 + "--flag-switches-begin" 7 + "--enable-features=UseOzonePlatform,IgnoreGPUBlocklist" 8 + "--flag-switches-end" 9 + "--ozone-platform=wayland" 10 + "--ignore-gpu-blocklist" 11 + "--enable-gpu-rasterization" 12 + "--enable-zero-copy" 13 + "--disable-gpu-driver-bug-workarounds" 14 + ]; 15 + in 16 + pkgs.writeScriptBin 17 + "vscode-wayland" 18 + '' 19 + #!${pkgs.stdenv.shell} 20 + ${pkgs.vscodium}/bin/codium ${lib.concatStringsSep " " flags} 21 + ''; 23 22 in { 24 - vscodeWayland = 25 - let 26 - pname = "vscode"; 27 - desktop = 28 - pkgs.makeDesktopItem 29 - { 30 - name = pname; 31 - exec = pname; 32 - icon = "vscode"; 33 - desktopName = "VSCode Wayland"; 34 - }; 35 - in 36 - lib.hiPrio 37 - ( 38 - pkgs.stdenv.mkDerivation 39 - { 40 - inherit pname; 41 - version = pkgs.vscode.version; 42 - nativeBuildInputs = [pkgs.makeWrapper]; 43 - phases = ["installPhase"]; 44 - installPhase = 45 - '' 46 - mkdir -p $out/bin 47 - install -m755 ${vscodeWayland}/bin/${pname}-wayland $out/bin/${pname} 48 - cp -r ${desktop}/share $out/share 49 - ''; 50 - } 51 - ); 23 + vscodeWayland = let 24 + pname = "vscode"; 25 + desktop = 26 + pkgs.makeDesktopItem 27 + { 28 + name = pname; 29 + exec = pname; 30 + icon = "vscode"; 31 + desktopName = "VSCode Wayland"; 32 + }; 33 + in 34 + lib.hiPrio 35 + ( 36 + pkgs.stdenv.mkDerivation 37 + { 38 + inherit pname; 39 + version = pkgs.vscode.version; 40 + nativeBuildInputs = [pkgs.makeWrapper]; 41 + phases = ["installPhase"]; 42 + installPhase = '' 43 + mkdir -p $out/bin 44 + install -m755 ${vscodeWayland}/bin/${pname}-wayland $out/bin/${pname} 45 + cp -r ${desktop}/share $out/share 46 + ''; 47 + } 48 + ); 52 49 }
+1 -2
pkgs/_sources/generated.nix
··· 2 2 { 3 3 fetchgit, 4 4 fetchurl, 5 - }: 6 - { 5 + }: { 7 6 manix = { 8 7 pname = "manix"; 9 8 version = "d08e7ca185445b929f097f8bfb1243a8ef3e10e4";
+1 -2
profiles/cachix/default.nix
··· 2 2 pkgs, 3 3 lib, 4 4 ... 5 - }: 6 - let 5 + }: let 7 6 folder = ./.; 8 7 toImport = name: value: folder + ("/" + name); 9 8 filterCaches = key: value: value == "regular" && lib.hasSuffix ".nix" key && key != "default.nix";
+147 -154
profiles/core/default.nix
··· 5 5 pkgs, 6 6 lib, 7 7 ... 8 - }: 9 - let 8 + }: let 10 9 inherit (lib) fileContents mkIf; 11 10 pkgBin = lib.our.pkgBinNoDep pkgs; 12 11 coreBin = v: "${pkgs.coreutils}/bin/${v}"; 13 12 nixBin = "${config.nix.package}/bin/nix"; 14 13 in { 15 - imports = [../cachix ../../locale]; 14 + imports = [../cachix ../../locale ../../secrets/secrets.nix]; 16 15 boot = { 17 16 tmpOnTmpfs = true; 18 17 loader.systemd-boot.configurationLimit = 10; 19 18 }; 20 19 console.font = "7x14"; 21 20 environment = { 22 - systemPackages = 23 - with pkgs; [ 24 - binutils 25 - coreutils 26 - curl 27 - direnv 28 - dnsutils 29 - dosfstools 30 - fd 31 - git 32 - bottom 33 - gptfdisk 34 - iputils 35 - jq 36 - manix 37 - moreutils 38 - nix-index 39 - nmap 40 - ripgrep 41 - skim 42 - tealdeer 43 - usbutils 44 - utillinux 45 - whois 46 - bat 47 - fzf 48 - exa 49 - git 50 - lm_sensors 51 - mkpasswd 52 - ntfs3g 53 - zoxide 54 - bottom 55 - amber 56 - unzip 57 - unrar 58 - grit 59 - hydra-check 60 - nix-index 61 - du-dust 62 - mosh 63 - ( 64 - pkgs.runCommand 65 - "0x0.sh" 66 - {} 67 - '' 68 - mkdir -p $out/bin 69 - cp ${ 70 - pkgs.fetchurl 71 - { 72 - url = "https://raw.githubusercontent.com/Calinou/0x0/master/bin/0x0"; 73 - sha256 = "sha256-Fad+AKBuA49qtRQfnroqjaNWeuRaCekXZG9sS9JVeaM="; 74 - } 75 - } $out/bin/0x0 76 - chmod +x $out/bin/0x0 77 - '' 78 - ) 79 - ]; 80 - shellAliases = 81 - let 82 - ifSudo = string: mkIf config.security.sudo.enable string; 83 - in { 84 - gtw = "${pkgBin "grit"} tree wnv"; 85 - gtwa = "${pkgBin "grit"} add -p wnv"; 86 - gt = pkgBin "grit"; 87 - g = pkgBin "git"; 88 - git-optimize = "${pkgBin "git"} gc --aggressive --prune=now"; 89 - cat = "${pkgBin "bat"} -pp --theme=base16"; 90 - c = "cat"; 91 - du = "${pkgs.du-dust}/bin/dust"; 92 - df = "${coreBin "df"} -h"; 93 - free = "${pkgs.procps}/bin/free -h"; 94 - ls = pkgBin "exa"; 95 - l = "${pkgBin "exa"} -lhg --git"; 96 - la = "${pkgBin "exa"} -lhg --git -a"; 97 - t = "${pkgBin "exa"} -lhg --git -T"; 98 - ta = "${pkgBin "exa"} -lhg --git -a -T"; 99 - n = nixBin; 100 - nf = "${nixBin} flake"; 101 - nfc = "${nixBin} flake check"; 102 - nfu = "${nixBin} flake update"; 103 - nfui = "${nixBin} flake lock --update-input"; 104 - nfs = "${nixBin} flake show"; 105 - np = "${nixBin} profile"; 106 - nb = "${nixBin} build"; 107 - npl = "${nixBin} profile info"; 108 - npi = "${nixBin} profile install"; 109 - npr = "${nixBin} profile remove"; 110 - nsh = "${nixBin} shell"; 111 - nsr = "${nixBin} search"; 112 - nsrp = "${nixBin} search nixpkgs"; 113 - ndev = "${nixBin} develop"; 114 - nrun = "${nixBin} run"; 115 - nrefs = "nix-store -qR"; 116 - noscd = "cd /etc/nixos"; 117 - nosrs = ifSudo "sudo nixos-rebuild --fast switch"; 118 - nosrb = ifSudo "sudo nixos-rebuild --fast boot"; 119 - nosrt = ifSudo "sudo nixos-rebuild --fast test"; 120 - ngc = ifSudo "sudo nix-collect-garbage"; 121 - ngcdo = ifSudo "sudo nix-collect-garbage --delete-old"; 122 - top = "${pkgs.bottom}/bin/btm"; 123 - myip = "${pkgs.dnsutils}/bin/dig +short myip.opendns.com @208.67.222.222 2>&1"; 124 - mn = 125 - let 126 - manix_preview = "manix '{}' | sed 's/type: /> type: /g' | bat -l Markdown --color=always --plain"; 127 - in ''manix "" | rg '^# ' | sed 's/^# \(.*\) (.*/\1/;s/ (.*//;s/^# //' | sk --preview="${manix_preview}" | xargs manix''; 128 - # fix nixos-option 129 - nixos-option = "nixos-option -I nixpkgs=${self}/lib/compat"; 130 - # sudo 131 - s = ifSudo "sudo -E"; 132 - si = ifSudo "sudo -i"; 133 - se = ifSudo "sudoedit"; 134 - # systemd 135 - ctl = "systemctl"; 136 - stl = ifSudo "s systemctl"; 137 - utl = "systemctl --user"; 138 - ut = "systemctl --user start"; 139 - un = "systemctl --user stop"; 140 - up = ifSudo "s systemctl start"; 141 - dn = ifSudo "s systemctl stop"; 142 - jtl = "journalctl"; 143 - }; 21 + systemPackages = with pkgs; [ 22 + binutils 23 + coreutils 24 + curl 25 + direnv 26 + dnsutils 27 + dosfstools 28 + fd 29 + git 30 + bottom 31 + gptfdisk 32 + iputils 33 + jq 34 + manix 35 + moreutils 36 + nix-index 37 + nmap 38 + ripgrep 39 + skim 40 + tealdeer 41 + usbutils 42 + utillinux 43 + whois 44 + bat 45 + fzf 46 + exa 47 + git 48 + lm_sensors 49 + mkpasswd 50 + ntfs3g 51 + zoxide 52 + bottom 53 + amber 54 + unzip 55 + unrar 56 + grit 57 + hydra-check 58 + nix-index 59 + du-dust 60 + mosh 61 + ( 62 + pkgs.runCommand 63 + "0x0.sh" 64 + {} 65 + '' 66 + mkdir -p $out/bin 67 + cp ${ 68 + pkgs.fetchurl 69 + { 70 + url = "https://raw.githubusercontent.com/Calinou/0x0/master/bin/0x0"; 71 + sha256 = "sha256-Fad+AKBuA49qtRQfnroqjaNWeuRaCekXZG9sS9JVeaM="; 72 + } 73 + } $out/bin/0x0 74 + chmod +x $out/bin/0x0 75 + '' 76 + ) 77 + ]; 78 + shellAliases = let 79 + ifSudo = string: mkIf config.security.sudo.enable string; 80 + in { 81 + gtw = "${pkgBin "grit"} tree wnv"; 82 + gtwa = "${pkgBin "grit"} add -p wnv"; 83 + gt = pkgBin "grit"; 84 + g = pkgBin "git"; 85 + git-optimize = "${pkgBin "git"} gc --aggressive --prune=now"; 86 + cat = "${pkgBin "bat"} -pp --theme=base16"; 87 + c = "cat"; 88 + du = "${pkgs.du-dust}/bin/dust"; 89 + df = "${coreBin "df"} -h"; 90 + free = "${pkgs.procps}/bin/free -h"; 91 + ls = pkgBin "exa"; 92 + l = "${pkgBin "exa"} -lhg --git"; 93 + la = "${pkgBin "exa"} -lhg --git -a"; 94 + t = "${pkgBin "exa"} -lhg --git -T"; 95 + ta = "${pkgBin "exa"} -lhg --git -a -T"; 96 + n = nixBin; 97 + nf = "${nixBin} flake"; 98 + nfc = "${nixBin} flake check"; 99 + nfu = "${nixBin} flake update"; 100 + nfui = "${nixBin} flake lock --update-input"; 101 + nfs = "${nixBin} flake show"; 102 + np = "${nixBin} profile"; 103 + nb = "${nixBin} build"; 104 + npl = "${nixBin} profile info"; 105 + npi = "${nixBin} profile install"; 106 + npr = "${nixBin} profile remove"; 107 + nsh = "${nixBin} shell"; 108 + nsr = "${nixBin} search"; 109 + nsrp = "${nixBin} search nixpkgs"; 110 + ndev = "${nixBin} develop"; 111 + nrun = "${nixBin} run"; 112 + nrefs = "nix-store -qR"; 113 + noscd = "cd /etc/nixos"; 114 + nosrs = ifSudo "sudo nixos-rebuild --fast switch"; 115 + nosrb = ifSudo "sudo nixos-rebuild --fast boot"; 116 + nosrt = ifSudo "sudo nixos-rebuild --fast test"; 117 + ngc = ifSudo "sudo nix-collect-garbage"; 118 + ngcdo = ifSudo "sudo nix-collect-garbage --delete-old"; 119 + top = "${pkgs.bottom}/bin/btm"; 120 + myip = "${pkgs.dnsutils}/bin/dig +short myip.opendns.com @208.67.222.222 2>&1"; 121 + mn = let 122 + manix_preview = "manix '{}' | sed 's/type: /> type: /g' | bat -l Markdown --color=always --plain"; 123 + in ''manix "" | rg '^# ' | sed 's/^# \(.*\) (.*/\1/;s/ (.*//;s/^# //' | sk --preview="${manix_preview}" | xargs manix''; 124 + # fix nixos-option 125 + nixos-option = "nixos-option -I nixpkgs=${self}/lib/compat"; 126 + # sudo 127 + s = ifSudo "sudo -E"; 128 + si = ifSudo "sudo -i"; 129 + se = ifSudo "sudoedit"; 130 + # systemd 131 + ctl = "systemctl"; 132 + stl = ifSudo "s systemctl"; 133 + utl = "systemctl --user"; 134 + ut = "systemctl --user start"; 135 + un = "systemctl --user stop"; 136 + up = ifSudo "s systemctl start"; 137 + dn = ifSudo "s systemctl stop"; 138 + jtl = "journalctl"; 139 + }; 144 140 }; 145 - system.activationScripts.diff = 146 - '' 147 - ${pkgs.nixUnstable}/bin/nix store \ 148 - --experimental-features 'nix-command' \ 149 - diff-closures /run/current-system "$systemConfig" 141 + system.activationScripts.diff = '' 142 + ${pkgs.nixUnstable}/bin/nix store \ 143 + --experimental-features 'nix-command' \ 144 + diff-closures /run/current-system "$systemConfig" 145 + ''; 146 + nix = let 147 + registry = 148 + builtins.removeAttrs 149 + (builtins.mapAttrs (_: v: {flake = v;}) (lib.filterAttrs (_: v: v ? outputs) inputs)) 150 + ["bud"]; 151 + in { 152 + package = pkgs.nixUnstable; 153 + gc.automatic = true; 154 + optimise.automatic = true; 155 + extraOptions = '' 156 + min-free = 536870912 157 + keep-outputs = true 158 + keep-derivations = true 159 + fallback = true 150 160 ''; 151 - nix = 152 - let 153 - registry = 154 - builtins.removeAttrs 155 - (builtins.mapAttrs (_: v: { flake = v; }) (lib.filterAttrs (_: v: v ? outputs) inputs)) 156 - ["bud"]; 157 - in { 158 - package = pkgs.nixUnstable; 159 - gc.automatic = true; 160 - optimise.automatic = true; 161 - extraOptions = 162 - '' 163 - min-free = 536870912 164 - keep-outputs = true 165 - keep-derivations = true 166 - fallback = true 167 - ''; 168 - inherit registry; 169 - settings = { 170 - sandbox = true; 171 - allowed-users = ["@wheel"]; 172 - trusted-users = ["root" "@wheel"]; 173 - auto-optimise-store = true; 174 - }; 161 + inherit registry; 162 + settings = { 163 + sandbox = true; 164 + allowed-users = ["@wheel"]; 165 + trusted-users = ["root" "@wheel"]; 166 + auto-optimise-store = true; 175 167 }; 168 + }; 176 169 programs.command-not-found.enable = false; 177 170 home-manager.useGlobalPkgs = true; 178 171 users.mutableUsers = false;
+1 -5
profiles/develop/default.nix
··· 1 - { 2 - pkgs, 3 - ... 4 - }: 5 - { 1 + {pkgs, ...}: { 6 2 imports = [./editor]; 7 3 environment.systemPackages = with pkgs; [git tokei]; 8 4 documentation.dev.enable = true;
+2 -6
profiles/develop/editor/default.nix
··· 1 - { 2 - pkgs, 3 - ... 4 - }: 5 - { 1 + {pkgs, ...}: { 6 2 imports = [./helix.nix]; 7 3 environment.systemPackages = with pkgs; [alejandra]; 8 - environment.shellAliases = { nixf-all = "alejandra **/**.nix"; }; 4 + environment.shellAliases = {nixf-all = "alejandra **/**.nix";}; 9 5 }
+2 -6
profiles/develop/editor/helix.nix
··· 1 - { 2 - pkgs, 3 - ... 4 - }: 5 - let 1 + {pkgs, ...}: let 6 2 pkg = pkgs.helix; 7 3 bin = "${pkg}/bin/hx"; 8 4 in { ··· 11 7 EDITOR = bin; 12 8 VISUAL = bin; 13 9 }; 14 - environment.shellAliases = { e = bin; }; 10 + environment.shellAliases = {e = bin;}; 15 11 }
+2 -6
profiles/develop/editor/kakoune.nix
··· 1 - { 2 - pkgs, 3 - ... 4 - }: 5 - let 1 + {pkgs, ...}: let 6 2 pkg = pkgs.kakoune-unwrapped; 7 3 in { 8 4 environment.systemPackages = [pkg]; ··· 10 6 EDITOR = "${pkg}/bin/kak"; 11 7 VISUAL = "${pkg}/bin/kak"; 12 8 }; 13 - environment.shellAliases = { k = "${pkg}/bin/kak"; }; 9 + environment.shellAliases = {k = "${pkg}/bin/kak";}; 14 10 }
+1 -5
profiles/develop/godot.nix
··· 1 - { 2 - pkgs, 3 - ... 4 - }: 5 - { environment.systemPackages = with pkgs; [godot-bin godot-headless-bin godot-server-bin]; } 1 + {pkgs, ...}: {environment.systemPackages = with pkgs; [godot-bin godot-headless-bin godot-server-bin];}
+4 -5
profiles/network/default.nix
··· 2 2 imports = [./dns]; 3 3 networking.dhcpcd.enable = false; 4 4 networking.useDHCP = false; 5 - networking.dhcpcd.extraConfig = 6 - '' 7 - noarp 8 - nodelay 9 - ''; 5 + networking.dhcpcd.extraConfig = '' 6 + noarp 7 + nodelay 8 + ''; 10 9 }
+1 -2
profiles/network/dns/nextdns.nix
··· 1 - { ... }: 2 - { 1 + {...}: { 3 2 services.nextdns = { 4 3 enable = true; 5 4 arguments = ["-config" "75e43d"];
+12 -13
profiles/network/dns/stubby/nextdns.nix
··· 1 1 { 2 2 services.stubby = { 3 3 roundRobinUpstreams = false; 4 - upstreamServers = 5 - let 6 - nextDnsId = "75e43d"; 7 - in '' 8 - - address_data: 45.90.28.0 9 - tls_auth_name: "${nextDnsId}.dns1.nextdns.io" 10 - - address_data: 2a07:a8c0::0 11 - tls_auth_name: "${nextDnsId}.dns1.nextdns.io" 12 - - address_data: 45.90.30.0 13 - tls_auth_name: "${nextDnsId}.dns2.nextdns.io" 14 - - address_data: 2a07:a8c1::0 15 - tls_auth_name: "${nextDnsId}.dns2.nextdns.io" 16 - ''; 4 + upstreamServers = let 5 + nextDnsId = "75e43d"; 6 + in '' 7 + - address_data: 45.90.28.0 8 + tls_auth_name: "${nextDnsId}.dns1.nextdns.io" 9 + - address_data: 2a07:a8c0::0 10 + tls_auth_name: "${nextDnsId}.dns1.nextdns.io" 11 + - address_data: 45.90.30.0 12 + tls_auth_name: "${nextDnsId}.dns2.nextdns.io" 13 + - address_data: 2a07:a8c1::0 14 + tls_auth_name: "${nextDnsId}.dns2.nextdns.io" 15 + ''; 17 16 }; 18 17 }
secrets/secrets.nix

This is a binary file and will not be displayed.

+4 -6
shell/default.nix
··· 2 2 self, 3 3 inputs, 4 4 ... 5 - }: 6 - { 7 - modules = 8 - with inputs; [ 9 - #bud.devshellModules.bud 10 - ]; 5 + }: { 6 + modules = with inputs; [ 7 + #bud.devshellModules.bud 8 + ]; 11 9 exportedModules = [./devos.nix]; 12 10 }
+4 -6
shell/devos.nix
··· 2 2 pkgs, 3 3 extraModulesPath, 4 4 ... 5 - }: 6 - let 5 + }: let 7 6 hooks = import ./hooks; 8 - pkgWithCategory = category: package: { inherit package category; }; 7 + pkgWithCategory = category: package: {inherit package category;}; 9 8 linter = pkgWithCategory "linter"; 10 9 docs = pkgWithCategory "docs"; 11 10 devos = pkgWithCategory "devos"; 12 11 in { 13 12 _file = toString ./.; 14 13 imports = ["${extraModulesPath}/git/hooks.nix"]; 15 - git = { inherit hooks; }; 14 + git = {inherit hooks;}; 16 15 # tempfix: remove when merged https://github.com/numtide/devshell/pull/123 17 16 devshell.startup.load_profiles = 18 17 pkgs.lib.mkForce ··· 33 32 '' 34 33 ); 35 34 packages = with pkgs; [git-crypt]; 36 - commands = 37 - with pkgs; 35 + commands = with pkgs; 38 36 [ 39 37 (devos nixUnstable) 40 38 #(devos agenix)
+1 -2
users/nixos/default.nix
··· 1 - { ... }: 2 - { 1 + {...}: { 3 2 users.users.nixos = { 4 3 uid = 1000; 5 4 password = "nixos";
+738 -778
users/patriot/default.nix
··· 3 3 pkgs, 4 4 lib, 5 5 ... 6 - }: 7 - let 6 + }: let 8 7 inherit (lib) mapAttrs' nameValuePair; 9 8 inherit (builtins) readDir fetchGit; 10 9 pkgBin = lib.our.pkgBinNoDep pkgs; ··· 20 19 "dialout" 21 20 ]; 22 21 shell = pkgs.zsh; 23 - hashedPassword = 24 - "$6$spzqhAyJfhHy$iHgLBlhjGn1l8PnbjJdWTn1GPvcjMqYNKUzdCe/7IrX6sHNgETSr/Nfpdmq9FCXLhrAfwHOd/q/8SvfeIeNX4/"; 22 + hashedPassword = "$6$spzqhAyJfhHy$iHgLBlhjGn1l8PnbjJdWTn1GPvcjMqYNKUzdCe/7IrX6sHNgETSr/Nfpdmq9FCXLhrAfwHOd/q/8SvfeIeNX4/"; 25 23 }; 26 24 environment = { 27 25 systemPackages = [pkgs.qt5.qtwayland]; ··· 88 86 }; 89 87 }; 90 88 }; 91 - systemd.user.services.gnome-session-restart-dbus.serviceConfig = { Slice = "-.slice"; }; 89 + systemd.user.services.gnome-session-restart-dbus.serviceConfig = {Slice = "-.slice";}; 92 90 systemd = { 93 - targets = { network-online.enable = false; }; 91 + targets = {network-online.enable = false;}; 94 92 services = { 95 93 systemd-networkd-wait-online.enable = false; 96 94 NetworkManager-wait-online.enable = false; 97 95 }; 98 96 }; 99 - home-manager.users.patriot = 100 - { 101 - config, 102 - pkgs, 103 - suites, 104 - ... 105 - }: 106 - let 107 - personal = import ../../personal.nix; 108 - name = personal.name; 109 - email = personal.emails.primary; 110 - font = "Monoid HalfTight"; 111 - fontSize = 11; 112 - fontComb = "${font} ${toString fontSize}"; 113 - fontPackage = pkgs.monoid; 114 - colorSchemeLight = { 115 - primary = { 116 - normal = { 117 - background = "fbf3db"; 118 - foreground = "53676d"; 119 - }; 120 - bright = { 121 - background = "d5cdb6"; 122 - foreground = "3a4d53"; 123 - }; 124 - }; 97 + home-manager.users.patriot = { 98 + config, 99 + pkgs, 100 + suites, 101 + ... 102 + }: let 103 + personal = import ../../personal.nix; 104 + name = personal.name; 105 + email = personal.emails.primary; 106 + font = "Monoid HalfTight"; 107 + fontSize = 11; 108 + fontComb = "${font} ${toString fontSize}"; 109 + fontPackage = pkgs.monoid; 110 + colorSchemeLight = { 111 + primary = { 125 112 normal = { 126 - black = "ece3cc"; 127 - gray = "5b5b5b"; 128 - red = "d2212d"; 129 - green = "489100"; 130 - yellow = "ad8900"; 131 - blue = "0072d4"; 132 - magenta = "ca4898"; 133 - cyan = "009c8f"; 134 - white = "909995"; 113 + background = "fbf3db"; 114 + foreground = "53676d"; 135 115 }; 136 116 bright = { 137 - black = "d5cdb6"; 138 - gray = "7b7b7b"; 139 - red = "cc1729"; 140 - green = "428b00"; 141 - yellow = "a78300"; 142 - blue = "006dce"; 143 - magenta = "c44392"; 144 - cyan = "00978a"; 145 - white = "3a4d53"; 117 + background = "d5cdb6"; 118 + foreground = "3a4d53"; 146 119 }; 147 120 }; 148 - colorSchemeDark = 149 - let 150 - normal = { 151 - black = "252525"; 152 - gray = "5b5b5b"; 153 - red = "ed4a46"; 154 - green = "70b433"; 155 - yellow = "dbb32d"; 156 - blue = "368aeb"; 157 - magenta = "eb6eb7"; 158 - cyan = "3fc5b7"; 159 - white = "777777"; 160 - }; 161 - bright = { 162 - black = "3b3b3b"; 163 - gray = "7b7b7b"; 164 - red = "ff5e56"; 165 - green = "83c746"; 166 - yellow = "efc541"; 167 - blue = "4f9cfe"; 168 - magenta = "ff81ca"; 169 - cyan = "56d8c9"; 170 - white = "dedede"; 171 - }; 172 - in { 173 - inherit normal bright; 174 - primary = { 175 - normal = { 176 - background = "181818"; 177 - foreground = "b9b9b9"; 178 - }; 179 - bright = { 180 - background = bright.black; 181 - foreground = bright.white; 182 - }; 183 - }; 184 - }; 185 - colorScheme = 186 - # if builtins.pathExists ./light then colorSchemeLight else colorSchemeDark; 187 - colorSchemeDark; 188 - bgColor = colorScheme.primary.normal.background; 189 - fgColor = colorScheme.primary.bright.foreground; 190 - acColor = colorScheme.normal.yellow; 191 - acColor2 = colorScheme.normal.magenta; 192 - alacrittyColors = { 193 - primary = { 194 - background = "0x${bgColor}"; 195 - foreground = "0x${fgColor}"; 196 - }; 197 - normal = lib.mapAttrs (_: v: "0x${v}") colorScheme.normal; 198 - bright = lib.mapAttrs (_: v: "0x${v}") colorScheme.bright; 121 + normal = { 122 + black = "ece3cc"; 123 + gray = "5b5b5b"; 124 + red = "d2212d"; 125 + green = "489100"; 126 + yellow = "ad8900"; 127 + blue = "0072d4"; 128 + magenta = "ca4898"; 129 + cyan = "009c8f"; 130 + white = "909995"; 131 + }; 132 + bright = { 133 + black = "d5cdb6"; 134 + gray = "7b7b7b"; 135 + red = "cc1729"; 136 + green = "428b00"; 137 + yellow = "a78300"; 138 + blue = "006dce"; 139 + magenta = "c44392"; 140 + cyan = "00978a"; 141 + white = "3a4d53"; 199 142 }; 200 - # sway attrs reused 201 - focusedWorkspace = { 202 - background = "#${bgColor}"; 203 - border = "#${acColor}"; 204 - text = "#${acColor}"; 143 + }; 144 + colorSchemeDark = let 145 + normal = { 146 + black = "252525"; 147 + gray = "5b5b5b"; 148 + red = "ed4a46"; 149 + green = "70b433"; 150 + yellow = "dbb32d"; 151 + blue = "368aeb"; 152 + magenta = "eb6eb7"; 153 + cyan = "3fc5b7"; 154 + white = "777777"; 205 155 }; 206 - activeWorkspace = { 207 - background = "#${bgColor}"; 208 - border = "#${colorScheme.primary.bright.background}"; 209 - text = "#${fgColor}"; 156 + bright = { 157 + black = "3b3b3b"; 158 + gray = "7b7b7b"; 159 + red = "ff5e56"; 160 + green = "83c746"; 161 + yellow = "efc541"; 162 + blue = "4f9cfe"; 163 + magenta = "ff81ca"; 164 + cyan = "56d8c9"; 165 + white = "dedede"; 210 166 }; 211 - inactiveWorkspace = { 212 - background = "#${bgColor}"; 213 - border = "#${bgColor}"; 214 - text = "#${fgColor}"; 167 + in { 168 + inherit normal bright; 169 + primary = { 170 + normal = { 171 + background = "181818"; 172 + foreground = "b9b9b9"; 173 + }; 174 + bright = { 175 + background = bright.black; 176 + foreground = bright.white; 177 + }; 215 178 }; 216 - urgentWorkspace = { 217 - background = "#${bgColor}"; 218 - border = "#${acColor2}"; 219 - text = "#${acColor2}"; 179 + }; 180 + colorScheme = 181 + # if builtins.pathExists ./light then colorSchemeLight else colorSchemeDark; 182 + colorSchemeDark; 183 + bgColor = colorScheme.primary.normal.background; 184 + fgColor = colorScheme.primary.bright.foreground; 185 + acColor = colorScheme.normal.yellow; 186 + acColor2 = colorScheme.normal.magenta; 187 + alacrittyColors = { 188 + primary = { 189 + background = "0x${bgColor}"; 190 + foreground = "0x${fgColor}"; 220 191 }; 221 - addIndSway = 222 - x: { 223 - background = x.background; 224 - border = x.border; 225 - childBorder = x.border; 226 - text = x.text; 227 - indicator = "#111111"; 228 - # don't care 229 - }; 230 - fonts = [fontComb]; 231 - extraEnv = 232 - '' 233 - export SDL_VIDEODRIVER=wayland 234 - # needs qt5.qtwayland in systemPackages 235 - export QT_QPA_PLATFORM=wayland 236 - #export QT_WAYLAND_DISABLE_WINDOWDECORATION="1" 237 - # Fix for some Java AWT applications (e.g. Android Studio), 238 - # use this if they aren't displayed properly: 239 - export _JAVA_AWT_WM_NONREPARENTING=1 240 - #export QT_QPA_PLATFORMTHEME=qt5ct 241 - #export QT_PLATFORM_PLUGIN=qt5ct 242 - ''; 243 - in { 244 - imports = suites.base; 245 - # needs to be fixed to use nix profile??? 246 - /* 247 - gtk = { 248 - enable = false; 249 - font = { 250 - package = pkgs.dejavu_fonts; 251 - name = "DejaVu Sans 12"; 252 - }; 253 - iconTheme = { 254 - package = pkgs.papirus-icon-theme; 255 - name = "Papirus Dark"; 256 - }; 257 - theme = { 258 - package = pkgs.numix-gtk-theme; 259 - name = "Numix Dark"; 260 - }; 261 - }; 262 - 263 - qt = { 264 - enable = false; 265 - style = { 266 - package = pkgs.adwaita-qt; 267 - name = "adwaita-dark"; 268 - }; 269 - }; 270 - */ 271 - fonts.fontconfig.enable = true; 272 - home = { 273 - homeDirectory = nixosConfig.users.users.patriot.home; 274 - packages = 275 - with pkgs; [ 276 - # Font stuff 277 - fontPackage 278 - noto-fonts-cjk 279 - font-awesome 280 - dejavu_fonts 281 - (nerdfonts.override { fonts = ["Monoid"]; }) 282 - # Programs 283 - cargo-outdated 284 - cargo-release 285 - cargo-udeps 286 - vulkan-tools 287 - krita 288 - gnome3.seahorse 289 - cachix 290 - appimage-run 291 - pfetch 292 - gnupg 293 - imv 294 - mpv 295 - youtube-dl 296 - ffmpeg 297 - mupdf 298 - transmission-qt 299 - ( 300 - lib.hiPrio 301 - ( 302 - lutris.overrideAttrs 303 - ( 304 - old: { 305 - profile = 306 - '' 307 - ${old.profile or ""} 308 - unset VK_ICD_FILENAMES 309 - export VK_ICD_FILENAMES=${nixosConfig.environment.variables.VK_ICD_FILENAMES}''; 310 - } 311 - ) 312 - ) 313 - ) 314 - xdg_utils 315 - tagref 316 - hydrus 317 - papirus-icon-theme 318 - wl-clipboard 319 - rust-analyzer 192 + normal = lib.mapAttrs (_: v: "0x${v}") colorScheme.normal; 193 + bright = lib.mapAttrs (_: v: "0x${v}") colorScheme.bright; 194 + }; 195 + # sway attrs reused 196 + focusedWorkspace = { 197 + background = "#${bgColor}"; 198 + border = "#${acColor}"; 199 + text = "#${acColor}"; 200 + }; 201 + activeWorkspace = { 202 + background = "#${bgColor}"; 203 + border = "#${colorScheme.primary.bright.background}"; 204 + text = "#${fgColor}"; 205 + }; 206 + inactiveWorkspace = { 207 + background = "#${bgColor}"; 208 + border = "#${bgColor}"; 209 + text = "#${fgColor}"; 210 + }; 211 + urgentWorkspace = { 212 + background = "#${bgColor}"; 213 + border = "#${acColor2}"; 214 + text = "#${acColor2}"; 215 + }; 216 + addIndSway = x: { 217 + background = x.background; 218 + border = x.border; 219 + childBorder = x.border; 220 + text = x.text; 221 + indicator = "#111111"; 222 + # don't care 223 + }; 224 + fonts = [fontComb]; 225 + extraEnv = '' 226 + export SDL_VIDEODRIVER=wayland 227 + # needs qt5.qtwayland in systemPackages 228 + export QT_QPA_PLATFORM=wayland 229 + #export QT_WAYLAND_DISABLE_WINDOWDECORATION="1" 230 + # Fix for some Java AWT applications (e.g. Android Studio), 231 + # use this if they aren't displayed properly: 232 + export _JAVA_AWT_WM_NONREPARENTING=1 233 + #export QT_QPA_PLATFORMTHEME=qt5ct 234 + #export QT_PLATFORM_PLUGIN=qt5ct 235 + ''; 236 + in { 237 + imports = suites.base; 238 + # needs to be fixed to use nix profile??? 239 + /* 240 + gtk = { 241 + enable = false; 242 + font = { 243 + package = pkgs.dejavu_fonts; 244 + name = "DejaVu Sans 12"; 245 + }; 246 + iconTheme = { 247 + package = pkgs.papirus-icon-theme; 248 + name = "Papirus Dark"; 249 + }; 250 + theme = { 251 + package = pkgs.numix-gtk-theme; 252 + name = "Numix Dark"; 253 + }; 254 + }; 255 + 256 + qt = { 257 + enable = false; 258 + style = { 259 + package = pkgs.adwaita-qt; 260 + name = "adwaita-dark"; 261 + }; 262 + }; 263 + */ 264 + fonts.fontconfig.enable = true; 265 + home = { 266 + homeDirectory = nixosConfig.users.users.patriot.home; 267 + packages = with pkgs; [ 268 + # Font stuff 269 + fontPackage 270 + noto-fonts-cjk 271 + font-awesome 272 + dejavu_fonts 273 + (nerdfonts.override {fonts = ["Monoid"];}) 274 + # Programs 275 + cargo-outdated 276 + cargo-release 277 + cargo-udeps 278 + vulkan-tools 279 + krita 280 + gnome3.seahorse 281 + cachix 282 + appimage-run 283 + pfetch 284 + gnupg 285 + imv 286 + mpv 287 + youtube-dl 288 + ffmpeg 289 + mupdf 290 + transmission-qt 291 + ( 292 + lib.hiPrio 293 + ( 294 + lutris.overrideAttrs 320 295 ( 321 - lib.hiPrio 322 - ( 323 - steam.override 324 - { 325 - extraLibraries = pkgs: [pkgs.pipewire]; 326 - extraProfile = 327 - '' 328 - unset VK_ICD_FILENAMES 329 - export VK_ICD_FILENAMES=${nixosConfig.environment.variables.VK_ICD_FILENAMES}''; 330 - } 331 - ) 296 + old: { 297 + profile = '' 298 + ${old.profile or ""} 299 + unset VK_ICD_FILENAMES 300 + export VK_ICD_FILENAMES=${nixosConfig.environment.variables.VK_ICD_FILENAMES}''; 301 + } 332 302 ) 333 - /* 334 - (multimc.overrideAttrs (old: { 335 - src = builtins.fetchGit { url = "https://github.com/AfoninZ/MultiMC5-Cracked.git"; ref = "develop"; rev = "9069e9c9d0b7951c310fdcc8bdc70ebc422a7634"; submodules = true; }; 336 - })) 337 - */ 338 - standardnotes 339 - ]; 340 - }; 341 - wayland.windowManager = { 342 - sway = 343 - let 344 - mkRofiCmd = args: "${config.programs.rofi.finalPackage}/bin/rofi ${lib.concatStringsSep " " args} | ${pkgs.sway}/bin/swaymsg --"; 345 - in { 346 - enable = true; 347 - extraSessionCommands = extraEnv; 348 - wrapperFeatures.gtk = true; 349 - extraConfig = 350 - '' 351 - exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway 303 + ) 304 + ) 305 + xdg_utils 306 + tagref 307 + hydrus 308 + papirus-icon-theme 309 + wl-clipboard 310 + rust-analyzer 311 + ( 312 + lib.hiPrio 313 + ( 314 + steam.override 315 + { 316 + extraLibraries = pkgs: [pkgs.pipewire]; 317 + extraProfile = '' 318 + unset VK_ICD_FILENAMES 319 + export VK_ICD_FILENAMES=${nixosConfig.environment.variables.VK_ICD_FILENAMES}''; 320 + } 321 + ) 322 + ) 323 + /* 324 + (multimc.overrideAttrs (old: { 325 + src = builtins.fetchGit { url = "https://github.com/AfoninZ/MultiMC5-Cracked.git"; ref = "develop"; rev = "9069e9c9d0b7951c310fdcc8bdc70ebc422a7634"; submodules = true; }; 326 + })) 327 + */ 328 + standardnotes 329 + ]; 330 + }; 331 + wayland.windowManager = { 332 + sway = let 333 + mkRofiCmd = args: "${config.programs.rofi.finalPackage}/bin/rofi ${lib.concatStringsSep " " args} | ${pkgs.sway}/bin/swaymsg --"; 334 + in { 335 + enable = true; 336 + extraSessionCommands = extraEnv; 337 + wrapperFeatures.gtk = true; 338 + extraConfig = '' 339 + exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway 340 + output HEADLESS-1 { 341 + mode 1920x1080 342 + bg ~/wallpaper.png fill 343 + } 344 + ''; 345 + config = { 346 + fonts = { 347 + names = [font]; 348 + size = fontSize + 0.0; 349 + }; 350 + bars = [{command = "${pkgBin "waybar"}";}]; 351 + colors = { 352 + background = "#${bgColor}"; 353 + focused = addIndSway focusedWorkspace; 354 + focusedInactive = addIndSway inactiveWorkspace; 355 + unfocused = addIndSway activeWorkspace; 356 + urgent = addIndSway urgentWorkspace; 357 + }; 358 + gaps.smartBorders = "on"; 359 + menu = mkRofiCmd ["-show" "drun"]; 360 + modifier = "Mod4"; 361 + terminal = pkgBin "alacritty"; 362 + keybindings = let 363 + mod = config.wayland.windowManager.sway.config.modifier; 364 + cat = pkgs.coreutils + "/bin/cat"; 365 + grim = pkgBin "grim"; 366 + slurp = pkgBin "slurp"; 367 + pactl = pkgs.pulseaudio + "/bin/pactl"; 368 + playerctl = pkgBin "playerctl"; 369 + wf-recorder = pkgBin "wf-recorder"; 370 + wl-copy = pkgs.wl-clipboard + "/bin/wl-copy"; 371 + wl-paste = pkgs.wl-clipboard + "/bin/wl-paste"; 372 + shotFile = config.home.homeDirectory + "/shots/shot_$(date '+%Y_%m_%d_%H_%M')"; 373 + in 374 + lib.mkOptionDefault 375 + { 376 + "${mod}+q" = "kill"; 377 + "${mod}+Shift+e" = "exit"; 378 + "${mod}+Shift+r" = "reload"; 379 + "${mod}+c" = mkRofiCmd ["-show" "calc"]; 380 + # Screenshot and copy it to clipboard 381 + "Mod1+s" = '' 382 + exec export SFILE="${shotFile}.png" && ${grim} "$SFILE" && ${cat} "$SFILE" | ${wl-copy} -t image/png 352 383 ''; 353 - config = { 354 - fonts = { 355 - names = [font]; 356 - size = fontSize + 0.0; 357 - }; 358 - bars = [{ command = "${pkgBin "waybar"}"; }]; 359 - colors = { 360 - background = "#${bgColor}"; 361 - focused = addIndSway focusedWorkspace; 362 - focusedInactive = addIndSway inactiveWorkspace; 363 - unfocused = addIndSway activeWorkspace; 364 - urgent = addIndSway urgentWorkspace; 365 - }; 366 - gaps.smartBorders = "on"; 367 - menu = mkRofiCmd ["-show" "drun"]; 368 - modifier = "Mod4"; 369 - terminal = pkgBin "alacritty"; 370 - keybindings = 371 - let 372 - mod = config.wayland.windowManager.sway.config.modifier; 373 - cat = pkgs.coreutils + "/bin/cat"; 374 - grim = pkgBin "grim"; 375 - slurp = pkgBin "slurp"; 376 - pactl = pkgs.pulseaudio + "/bin/pactl"; 377 - playerctl = pkgBin "playerctl"; 378 - wf-recorder = pkgBin "wf-recorder"; 379 - wl-copy = pkgs.wl-clipboard + "/bin/wl-copy"; 380 - wl-paste = pkgs.wl-clipboard + "/bin/wl-paste"; 381 - shotFile = config.home.homeDirectory + "/shots/shot_$(date '+%Y_%m_%d_%H_%M')"; 382 - in 383 - lib.mkOptionDefault 384 - { 385 - "${mod}+q" = "kill"; 386 - "${mod}+Shift+e" = "exit"; 387 - "${mod}+Shift+r" = "reload"; 388 - "${mod}+c" = mkRofiCmd ["-show" "calc"]; 389 - # Screenshot and copy it to clipboard 390 - "Mod1+s" = 391 - '' 392 - exec export SFILE="${shotFile}.png" && ${grim} "$SFILE" && ${cat} "$SFILE" | ${wl-copy} -t image/png 393 - ''; 394 - # Save selected area as a picture and copy it to clipboard 395 - "Mod1+Shift+s" = 396 - '' 397 - exec export SFILE="${shotFile}.png" && ${grim} -g "$(${slurp})" "$SFILE" && ${cat} "$SFILE" | ${wl-copy} -t image/png 398 - ''; 399 - # Record screen 400 - "Mod1+r" = ''exec ${wf-recorder} -f "${shotFile}.mp4"''; 401 - # Record an area 402 - "Mod1+Shift+r" = ''exec ${wf-recorder} -g "$(${slurp})" -f "${shotFile}.mp4"''; 403 - # Stop recording 404 - "Mod1+c" = "exec pkill -INT wf-recorder"; 405 - "XF86AudioRaiseVolume" = "exec ${pactl} set-sink-volume 0 +5%"; 406 - "XF86AudioLowerVolume" = "exec ${pactl} set-sink-volume 0 -5%"; 407 - "XF86AudioMute" = "exec ${pactl} set-sink-mute 0 toggle"; 408 - "XF86AudioPlay" = "exec ${playerctl} play-pause"; 409 - "XF86AudioPrev" = "exec ${playerctl} previous"; 410 - "XF86AudioNext" = "exec ${playerctl} next"; 411 - "XF86AudioStop" = "exec ${playerctl} stop"; 412 - }; 413 - input = { 414 - "*" = { 415 - xkb_layout = nixosConfig.services.xserver.layout; 416 - accel_profile = "flat"; 417 - }; 418 - }; 419 - output = { "*" = { bg = config.home.homeDirectory + "/wallpaper.png" + " fill"; }; }; 384 + # Save selected area as a picture and copy it to clipboard 385 + "Mod1+Shift+s" = '' 386 + exec export SFILE="${shotFile}.png" && ${grim} -g "$(${slurp})" "$SFILE" && ${cat} "$SFILE" | ${wl-copy} -t image/png 387 + ''; 388 + # Record screen 389 + "Mod1+r" = ''exec ${wf-recorder} -f "${shotFile}.mp4"''; 390 + # Record an area 391 + "Mod1+Shift+r" = ''exec ${wf-recorder} -g "$(${slurp})" -f "${shotFile}.mp4"''; 392 + # Stop recording 393 + "Mod1+c" = "exec pkill -INT wf-recorder"; 394 + "XF86AudioRaiseVolume" = "exec ${pactl} set-sink-volume 0 +5%"; 395 + "XF86AudioLowerVolume" = "exec ${pactl} set-sink-volume 0 -5%"; 396 + "XF86AudioMute" = "exec ${pactl} set-sink-mute 0 toggle"; 397 + "XF86AudioPlay" = "exec ${playerctl} play-pause"; 398 + "XF86AudioPrev" = "exec ${playerctl} previous"; 399 + "XF86AudioNext" = "exec ${playerctl} next"; 400 + "XF86AudioStop" = "exec ${playerctl} stop"; 401 + }; 402 + input = { 403 + "*" = { 404 + xkb_layout = nixosConfig.services.xserver.layout; 405 + accel_profile = "flat"; 420 406 }; 421 407 }; 408 + output = {"*" = {bg = config.home.homeDirectory + "/wallpaper.png" + " fill";};}; 409 + }; 422 410 }; 423 - programs = { 424 - alacritty = { 425 - enable = true; 426 - settings = { 427 - shell = { 428 - program = "${pkgs.tmux}/bin/tmux"; 429 - args = ["attach"]; 430 - }; 431 - font = { 432 - normal = { family = font; }; 433 - size = fontSize; 434 - }; 435 - colors = alacrittyColors; 411 + }; 412 + programs = { 413 + alacritty = { 414 + enable = true; 415 + settings = { 416 + shell = { 417 + program = "${pkgs.tmux}/bin/tmux"; 418 + args = ["attach"]; 436 419 }; 437 - }; 438 - tmux = { 439 - enable = true; 440 - newSession = true; 441 - secureSocket = true; 442 - baseIndex = 1; 443 - escapeTime = 0; 444 - keyMode = "vi"; 445 - shortcut = "a"; 446 - extraConfig = 447 - '' 448 - set -g default-terminal "alacritty" 449 - set -ga terminal-overrides ",alacritty:Tc" 450 - set -g status off 451 - ''; 452 - }; 453 - chromium = { 454 - enable = true; 455 - package = pkgs.chromium; 456 - extensions = [ 457 - "gcbommkclmclpchllfjekcdonpmejbdp" 458 - # https everywhere 459 - "cjpalhdlnbpafiamejdnhcphjbkeiagm" 460 - # ublock 461 - "nngceckbapebfimnlniiiahkandclblb" 462 - # bitwarden 463 - "ldpochfccmkkmhdbclfhpagapcfdljkj" 464 - # decentraleyes 465 - "annfbnbieaamhaimclajlajpijgkdblo" 466 - # dark theme 467 - "eimadpbcbfnmbkopoojfekhnkhdbieeh" 468 - # dark reader 469 - "hlepfoohegkhhmjieoechaddaejaokhf" 470 - # github refined 471 - "pmcmeagblkinmogikoikkdjiligflglb" 472 - # privacy redirect 473 - ]; 474 - }; 475 - qutebrowser = { 476 - enable = false; 477 - settings = { 478 - content.javascript.enabled = false; 479 - colors.webpage.darkmode.enabled = false; 480 - tabs = { 481 - show = "multiple"; 482 - tabs_are_windows = true; 483 - }; 420 + font = { 421 + normal = {family = font;}; 422 + size = fontSize; 484 423 }; 485 - extraConfig = 486 - let 487 - domains = [ 488 - "discord.com" 489 - "github.com" 490 - "gitlab.com" 491 - "nixos.org" 492 - "protonmail.com" 493 - "bitwarden.com" 494 - "duckduckgo.com" 495 - "youtube.com" 496 - "docker.com" 497 - ]; 498 - enableJsForDomain = 499 - d: '' 500 - config.set('content.javascript.enabled', True, 'https://*.${d}') 501 - ''; 502 - in '' 503 - ${lib.concatStrings (map enableJsForDomain domains)} 504 - ''; 424 + colors = alacrittyColors; 505 425 }; 506 - git = { 507 - signing = { 508 - key = "E1C119F91F4CAE53E8445CAFBB57FCE7E35984F6"; 509 - signByDefault = true; 426 + }; 427 + tmux = { 428 + enable = true; 429 + newSession = true; 430 + secureSocket = true; 431 + baseIndex = 1; 432 + escapeTime = 0; 433 + keyMode = "vi"; 434 + shortcut = "a"; 435 + extraConfig = '' 436 + set -g default-terminal "alacritty" 437 + set -ga terminal-overrides ",alacritty:Tc" 438 + set -g status off 439 + ''; 440 + }; 441 + chromium = { 442 + enable = true; 443 + package = pkgs.chromium; 444 + extensions = [ 445 + "gcbommkclmclpchllfjekcdonpmejbdp" 446 + # https everywhere 447 + "cjpalhdlnbpafiamejdnhcphjbkeiagm" 448 + # ublock 449 + "nngceckbapebfimnlniiiahkandclblb" 450 + # bitwarden 451 + "ldpochfccmkkmhdbclfhpagapcfdljkj" 452 + # decentraleyes 453 + "annfbnbieaamhaimclajlajpijgkdblo" 454 + # dark theme 455 + "eimadpbcbfnmbkopoojfekhnkhdbieeh" 456 + # dark reader 457 + "hlepfoohegkhhmjieoechaddaejaokhf" 458 + # github refined 459 + "pmcmeagblkinmogikoikkdjiligflglb" 460 + # privacy redirect 461 + ]; 462 + }; 463 + qutebrowser = { 464 + enable = false; 465 + settings = { 466 + content.javascript.enabled = false; 467 + colors.webpage.darkmode.enabled = false; 468 + tabs = { 469 + show = "multiple"; 470 + tabs_are_windows = true; 510 471 }; 511 - userName = name; 512 - userEmail = email; 513 472 }; 514 - ssh = { 515 - enable = true; 516 - compression = true; 517 - hashKnownHosts = true; 518 - userKnownHostsFile = "~/.local/share/ssh/known-hosts"; 519 - # Only needed for darcs hub 520 - # extraConfig = '' 521 - # Host hub.darcs.net 522 - # ControlMaster no 523 - # ForwardAgent no 524 - # ForwardX11 no 525 - # Ciphers +aes256-cbc 526 - # MACs +hmac-sha1 527 - # ''; 473 + extraConfig = let 474 + domains = [ 475 + "discord.com" 476 + "github.com" 477 + "gitlab.com" 478 + "nixos.org" 479 + "protonmail.com" 480 + "bitwarden.com" 481 + "duckduckgo.com" 482 + "youtube.com" 483 + "docker.com" 484 + ]; 485 + enableJsForDomain = d: '' 486 + config.set('content.javascript.enabled', True, 'https://*.${d}') 487 + ''; 488 + in '' 489 + ${lib.concatStrings (map enableJsForDomain domains)} 490 + ''; 491 + }; 492 + git = { 493 + signing = { 494 + key = "E1C119F91F4CAE53E8445CAFBB57FCE7E35984F6"; 495 + signByDefault = true; 528 496 }; 529 - zsh = { 530 - enable = true; 531 - autocd = true; 532 - enableVteIntegration = true; 533 - enableAutosuggestions = true; 534 - enableCompletion = true; 535 - plugins = 536 - let 537 - fast-syntax-highlighting = 538 - let 539 - name = "fast-syntax-highlighting"; 540 - in { 541 - inherit name; 542 - src = pkgs."zsh-${name}".out; 543 - }; 544 - per-directory-history = { 545 - name = "per-directory-history"; 546 - src = 547 - pkgs.fetchFromGitHub 548 - { 549 - owner = "jimhester"; 550 - repo = "per-directory-history"; 551 - rev = "d2e291dd6434e340d9be0e15e1f5b94f32771c06"; 552 - hash = "sha256-VHRgrVCqzILqOes8VXGjSgLek38BFs9eijmp0JHtD5Q="; 553 - }; 497 + userName = name; 498 + userEmail = email; 499 + }; 500 + ssh = { 501 + enable = true; 502 + compression = true; 503 + hashKnownHosts = true; 504 + userKnownHostsFile = "~/.local/share/ssh/known-hosts"; 505 + # Only needed for darcs hub 506 + # extraConfig = '' 507 + # Host hub.darcs.net 508 + # ControlMaster no 509 + # ForwardAgent no 510 + # ForwardX11 no 511 + # Ciphers +aes256-cbc 512 + # MACs +hmac-sha1 513 + # ''; 514 + }; 515 + zsh = { 516 + enable = true; 517 + autocd = true; 518 + enableVteIntegration = true; 519 + enableAutosuggestions = true; 520 + enableCompletion = true; 521 + plugins = let 522 + fast-syntax-highlighting = let 523 + name = "fast-syntax-highlighting"; 524 + in { 525 + inherit name; 526 + src = pkgs."zsh-${name}".out; 527 + }; 528 + per-directory-history = { 529 + name = "per-directory-history"; 530 + src = 531 + pkgs.fetchFromGitHub 532 + { 533 + owner = "jimhester"; 534 + repo = "per-directory-history"; 535 + rev = "d2e291dd6434e340d9be0e15e1f5b94f32771c06"; 536 + hash = "sha256-VHRgrVCqzILqOes8VXGjSgLek38BFs9eijmp0JHtD5Q="; 554 537 }; 555 - in [fast-syntax-highlighting per-directory-history]; 556 - # xdg compliant 557 - dotDir = ".config/zsh"; 558 - history.path = ".local/share/zsh/history"; 559 - envExtra = extraEnv; 560 - loginExtra = 561 - '' 562 - if [ "$(${pkgs.coreutils}/bin/tty)" = "/dev/tty1" ]; then 563 - exec sway 564 - fi 565 - ''; 566 - initExtra = 567 - '' 568 - export TERM=alacritty 569 - export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket) 538 + }; 539 + in [fast-syntax-highlighting per-directory-history]; 540 + # xdg compliant 541 + dotDir = ".config/zsh"; 542 + history.path = ".local/share/zsh/history"; 543 + envExtra = extraEnv; 544 + loginExtra = '' 545 + if [ "$(${pkgs.coreutils}/bin/tty)" = "/dev/tty1" ]; then 546 + exec sway 547 + fi 548 + ''; 549 + initExtra = '' 550 + export TERM=alacritty 551 + export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket) 570 552 571 - function tomp4 () { 572 - ${pkgs.ffmpeg}/bin/ffmpeg -i $1 -c:v libx264 -preset slow -crf 30 -c:a aac -b:a 128k "$1.mp4" 573 - } 553 + function tomp4 () { 554 + ${pkgs.ffmpeg}/bin/ffmpeg -i $1 -c:v libx264 -preset slow -crf 30 -c:a aac -b:a 128k "$1.mp4" 555 + } 574 556 575 - function topng () { 576 - ${pkgs.ffmpeg}/bin/ffmpeg -i $1 "$1.png" 577 - } 557 + function topng () { 558 + ${pkgs.ffmpeg}/bin/ffmpeg -i $1 "$1.png" 559 + } 578 560 579 - bindkey "$terminfo[kRIT5]" forward-word 580 - bindkey "$terminfo[kLFT5]" backward-word 581 - zstyle ':completion:*' menu select 561 + bindkey "$terminfo[kRIT5]" forward-word 562 + bindkey "$terminfo[kLFT5]" backward-word 563 + zstyle ':completion:*' menu select 582 564 583 - eval "$(zoxide init zsh)" 565 + eval "$(zoxide init zsh)" 566 + ''; 567 + shellAliases = 568 + nixosConfig.environment.shellAliases 569 + // { 570 + harmony-ssh = '' 571 + ${pkgs.mosh}/bin/mosh root@chat.harmonyapp.io 584 572 ''; 585 - shellAliases = 586 - nixosConfig.environment.shellAliases 587 - // { 588 - harmony-ssh = 589 - '' 590 - ${pkgs.mosh}/bin/mosh root@chat.harmonyapp.io 591 - ''; 592 - }; 573 + }; 574 + }; 575 + fzf.enable = true; 576 + rofi = { 577 + enable = true; 578 + package = pkgs.rofi-wayland; 579 + cycle = true; 580 + font = fontComb; 581 + terminal = pkgBin "alacritty"; 582 + plugins = with pkgs; [ 583 + rofi-calc 584 + rofi-systemd 585 + rofi-file-browser 586 + rofi-power-menu 587 + ]; 588 + extraConfig = { 589 + modi = "drun,calc,file-browser-extended,ssh,keys"; 593 590 }; 594 - fzf.enable = true; 595 - rofi = { 596 - enable = true; 597 - package = pkgs.rofi-wayland; 598 - cycle = true; 599 - font = fontComb; 600 - terminal = pkgBin "alacritty"; 601 - plugins = with pkgs; [ 602 - rofi-calc 603 - rofi-systemd 604 - rofi-file-browser 605 - rofi-power-menu 606 - ]; 607 - extraConfig = { 608 - modi = "drun,calc,file-browser-extended,ssh,keys"; 591 + }; 592 + vscode = { 593 + enable = true; 594 + package = pkgs.vscode; 595 + extensions = let 596 + mkExt = n: v: p: s: { 597 + name = n; 598 + version = v; 599 + publisher = p; 600 + sha256 = s; 609 601 }; 610 - }; 611 - vscode = { 612 - enable = true; 613 - package = pkgs.vscodium; 614 - extensions = 615 - let 616 - mkExt = 617 - n: v: p: s: { 618 - name = n; 619 - version = v; 620 - publisher = p; 621 - sha256 = s; 622 - }; 623 - in 602 + in 603 + ( 604 + pkgs.vscode-utils.extensionsFromVscodeMarketplace 605 + [ 606 + # Rust 607 + (mkExt "rust-analyzer" "0.3.968" "matklad" "sha256-wuNdmUYburGjgri8gFJl1FSryJbz1aXjJy4NQ+/Wbk4=") 608 + (mkExt "even-better-toml" "0.14.2" "tamasfe" "sha256-lE2t+KUfClD/xjpvexTJlEr7Kufo+22DUM9Ju4Tisp0=") 609 + (mkExt "crates" "0.5.10" "serayuzgur" "sha256-bY/dphiEPPgTg1zMjvxx4b0Ska2XggRucnZxtbppcLU=") 610 + # Nix 624 611 ( 625 - pkgs.vscode-utils.extensionsFromVscodeMarketplace 626 - [ 627 - # Rust 628 - (mkExt "rust-analyzer" "0.2.760" "matklad" "sha256-M+eFqIFwiKkiwqFRwkX5h6mc/W+NBqkXcNUdTewwkCI=") 629 - (mkExt "even-better-toml" "0.14.2" "tamasfe" "sha256-lE2t+KUfClD/xjpvexTJlEr7Kufo+22DUM9Ju4Tisp0=") 630 - (mkExt "crates" "0.5.9" "serayuzgur" "sha256-YHIbnl2R7lqwJHi8qUQImClx9MWm+5Pc12vYw7e/RlA=") 631 - # Nix 632 - ( 633 - mkExt "nix-env-selector" "1.0.7" "arrterian" "sha256-DnaIXJ27bcpOrIp1hm7DcrlIzGSjo4RTJ9fD72ukKlc=" 634 - ) 635 - # Go 636 - (mkExt "Go" "0.25.1" "golang" "sha256-ZDUWN9lzDnR77W7xcMFQaaFl/6Lf/x1jgaBkwZPqGGw=") 637 - # Flutter and dart 638 - (mkExt "flutter" "3.22.0" "Dart-Code" "sha256-woygN6hOWlP2UayqwDhJh9KcZk1GzH7mDF5IueDRxs4=") 639 - (mkExt "dart-code" "3.22.0" "Dart-Code" "sha256-1nTewVmlrxbXdRR1EPts46u24LHdnP5BblFsMaGlNYg=") 640 - # protobuf 641 - (mkExt "vscode-proto3" "0.5.4" "zxh404" "sha256-S89qRRlfiTsJ+fJuwdNkZywe6mei48KxIEWbGWChriE=") 642 - (mkExt "vscode-buf" "0.3.1" "bufbuild" "sha256-KjU6WlDxYPPJjh45mCq6Kczi6odYwnLaGj4RHe3fc2w=") 643 - # git 644 - (mkExt "gitlens" "11.6.0" "eamodio" "sha256-JxCNE/IL/v94xWmhebsRZo1Gw+nSSpDgZ41ZGongGVI=") 645 - ( 646 - mkExt 647 - "vscode-commitizen" 648 - "0.14.1" 649 - "KnisterPeter" 650 - "sha256-yw8XKGL7Ul9wV+C0yL1LFJCE3+E8u/sR9s3TjkGJPZM=" 651 - ) 652 - # Customization 653 - # (mkExt "dance" "0.3.2" "gregoire" "sha256-+g8EXeCkPOPvZ60JoXkGTeSXYWrXmKrcbUaEfDppdgA=") 654 - (mkExt "material-icon-theme" "4.6.0" "PKief" "sha256-i+3lrw3mDqK2vTMDhJYTACW5JleA+lN1XAC2imgQLUo=") 655 - ( 656 - mkExt "github-vscode-theme" "4.1.1" "GitHub" "sha256-yLySHOx6pe7w2cyi95pQlKkn/o4VMCTkrTYHu8ASn5M=" 657 - ) 658 - (mkExt "koka" "0.0.1" "maelvalais" "sha256-ty8Mql19HgUWForggeZuHQpzTbmmB/eBFHqof5ZMKr0=") 659 - (mkExt "vscode-rhai" "0.6.3" "rhaiscript" "sha256-gEdpM/TkkiZ50bG9qDU6BH04AJLRDcHLquniRs6m0mg=") 660 - (mkExt "copilot" "1.2.1991" "GitHub" "sha256-pGb5xfjuy+g646doZEuKhQalkOte5dH+I+1op+vZY48=") 661 - ] 612 + mkExt "nix-env-selector" "1.0.7" "arrterian" "sha256-DnaIXJ27bcpOrIp1hm7DcrlIzGSjo4RTJ9fD72ukKlc=" 662 613 ) 663 - ++ ( 664 - with pkgs.vscode-extensions; [ 665 - a5huynh.vscode-ron 666 - /* 667 - vadimcn.vscode-lldb 668 - */ 669 - jnoortheen.nix-ide 670 - ] 671 - ); 672 - userSettings = { 673 - "workbench.iconTheme" = "material-icon-theme"; 674 - "workbench.colorTheme" = "GitHub Dark"; 675 - "rust-analyzer.cargo.loadOutDirsFromCheck" = true; 676 - "rust-analyzer.procMacro.enable" = true; 677 - "rust-analyzer.server.path" = "${pkgs.rust-analyzer}/bin/rust-analyzer"; 678 - "rust-analyzer.updates.channel" = "nightly"; 679 - "editor.fontFamily" = "'${font}'"; 680 - "debug.console.fontFamily" = "${font}"; 681 - "debug.console.fontSize" = toString fontSize; 682 - "terminal.integrated.fontSize" = toString fontSize; 683 - "go.useLanguageServer" = true; 684 - "rust-analyzer.checkOnSave.command" = "clippy"; 685 - "nix.enableLanguageServer" = true; 686 - "nix.serverPath" = pkgBin "rnix-lsp"; 687 - "editor.bracketPairColorization.enabled" = true; 688 - }; 614 + # Go 615 + (mkExt "Go" "0.32.0" "golang" "sha256-OsKeZrG157l1HUCDvymJ3ovLxlEEJf7RBe2hXOutdyg=") 616 + # Flutter and dart 617 + (mkExt "flutter" "3.37.20220301" "Dart-Code" "sha256-PS24pbqKNZ/myNcTqgjosG0Pq58yMoATKDgy3k23JlE=") 618 + (mkExt "dart-code" "3.37.20220303" "Dart-Code" "sha256-hS+V4kLe+eGIqj/1mZdgbhxWWxqSr2ZUsc2V0HI6tN8=") 619 + # protobuf 620 + (mkExt "vscode-proto3" "0.5.5" "zxh404" "sha256-Em+w3FyJLXrpVAe9N7zsHRoMcpvl+psmG1new7nA8iE=") 621 + (mkExt "vscode-buf" "0.4.0" "bufbuild" "sha256-VM6LYYak1rB4AdpVYfKpOfizGaFI/R+iUsf6UT50vdw=") 622 + # git 623 + (mkExt "gitlens" "12.0.2" "eamodio" "sha256-et2uam4hOQkxxT+r0fwZhpWGjHk45NAOriFA/43ngpo=") 624 + # Customization 625 + (mkExt "material-icon-theme" "4.14.1" "PKief" "sha256-OHXi0EfeyKMeFiMU5yg0aDoWds4ED0lb+l6T12XZ3LQ=") 626 + (mkExt "horizon-theme-vscode" "1.0.0" "alexandernanberg" "sha256-M7SmOYPkAVi5jQLynZqTjmFo9UcQ6W4dU4euP6ua9Z8=") 627 + ] 628 + ) 629 + ++ ( 630 + with pkgs.vscode-extensions; [ 631 + a5huynh.vscode-ron 632 + /* 633 + vadimcn.vscode-lldb 634 + */ 635 + jnoortheen.nix-ide 636 + ] 637 + ); 638 + userSettings = { 639 + "workbench.iconTheme" = "material-icon-theme"; 640 + "workbench.colorTheme" = "Horizon Bold"; 641 + "rust-analyzer.cargo.loadOutDirsFromCheck" = true; 642 + "rust-analyzer.procMacro.enable" = true; 643 + "rust-analyzer.server.path" = "${pkgs.rust-analyzer}/bin/rust-analyzer"; 644 + "rust-analyzer.updates.channel" = "nightly"; 645 + "editor.fontFamily" = "'${font}'"; 646 + "debug.console.fontFamily" = "${font}"; 647 + "debug.console.fontSize" = toString fontSize; 648 + "terminal.integrated.fontSize" = toString fontSize; 649 + "go.useLanguageServer" = true; 650 + "rust-analyzer.checkOnSave.command" = "clippy"; 651 + "nix.enableLanguageServer" = true; 652 + "nix.serverPath" = pkgBin "rnix-lsp"; 653 + "editor.bracketPairColorization.enabled" = true; 654 + "editor.semanticHighlighting.enabled" = true; 689 655 }; 690 656 }; 691 - services = { 692 - gpg-agent = 693 - let 694 - defaultCacheTtl = 3600 * 6; 695 - maxCacheTtl = 3600 * 24; 696 - in { 697 - inherit defaultCacheTtl maxCacheTtl; 698 - enable = true; 699 - enableSshSupport = true; 700 - sshKeys = ["8369D9CA26C3EAAAB8302A88CEE6FD14B58AA965"]; 701 - defaultCacheTtlSsh = defaultCacheTtl; 702 - maxCacheTtlSsh = maxCacheTtl; 703 - grabKeyboardAndMouse = false; 704 - pinentryFlavor = "qt"; 705 - }; 706 - gammastep = { 707 - enable = true; 708 - latitude = 36.9; 709 - longitude = 30.7; 710 - }; 657 + }; 658 + services = { 659 + gpg-agent = let 660 + defaultCacheTtl = 3600 * 6; 661 + maxCacheTtl = 3600 * 24; 662 + in { 663 + inherit defaultCacheTtl maxCacheTtl; 664 + enable = true; 665 + enableSshSupport = true; 666 + sshKeys = ["8369D9CA26C3EAAAB8302A88CEE6FD14B58AA965"]; 667 + defaultCacheTtlSsh = defaultCacheTtl; 668 + maxCacheTtlSsh = maxCacheTtl; 669 + grabKeyboardAndMouse = false; 670 + pinentryFlavor = "qt"; 711 671 }; 712 - xdg = { 672 + gammastep = { 713 673 enable = true; 714 - configFile = { 715 - "helix/themes/mytheme.toml".text = 716 - '' 717 - "attribute" = { fg = "#${colorScheme.bright.yellow}]" } 718 - "comment" = { fg = "#${colorScheme.normal.gray}", modifiers = ['italic'] } 719 - "constant" = { fg = "#${colorScheme.normal.blue}" } 720 - "constant.builtin" = { fg = "#${colorScheme.bright.blue}" } 721 - "constructor" = { fg = "#${colorScheme.bright.blue}" } 722 - "escape" = { fg = "#${colorScheme.bright.yellow}" } 723 - "function" = { fg = "#${colorScheme.bright.blue}" } 724 - "function.builtin" = { fg = "#${colorScheme.bright.blue}" } 725 - "function.macro" = { fg = "#${colorScheme.bright.magenta}" } 726 - "keyword" = { fg = "#${colorScheme.normal.magenta}", modifiers = ['italic'] } 727 - "keyword.directive" = { fg = "#${colorScheme.normal.magenta}" } 728 - "label" = { fg = "#${colorScheme.bright.magenta}" } 729 - "namespace" = { fg = "#${colorScheme.bright.blue}" } 730 - "number" = { fg = "#${colorScheme.normal.cyan}" } 731 - "operator" = { fg = "#${colorScheme.bright.magenta}", modifiers = ['italic'] } 732 - "property" = { fg = "#${colorScheme.normal.red}" } 733 - "special" = { fg = "#${colorScheme.bright.blue}" } 734 - "string" = { fg = "#${colorScheme.normal.green}" } 735 - "type" = { fg = "#${colorScheme.normal.cyan}", modifiers = ['bold'] } 736 - "type.builtin" = { fg = "#${colorScheme.normal.cyan}", modifiers = ['bold'] } 737 - "variable" = { fg = "#${colorScheme.bright.blue}", modifiers = ['italic'] } 738 - "variable.builtin" = { fg = "#${colorScheme.bright.blue}", modifiers = ['italic'] } 739 - "variable.parameter" = { fg = "#${colorScheme.bright.red}", modifiers = ['italic'] } 740 - "ui.menu.selected" = { fg = "#${bgColor}", bg = "#${acColor}" } 741 - "ui.background" = { fg = "#${fgColor}", bg = "#${bgColor}" } 742 - "ui.help" = { bg = "#${colorScheme.normal.black}" } 743 - "ui.linenr" = { fg = "#${colorScheme.primary.bright.background}", modifiers = ['bold'] } 744 - "ui.linenr.selected" = { fg = "#${fgColor}", modifiers = ['bold'] } 745 - "ui.popup" = { bg = "#${colorScheme.normal.black}" } 746 - "ui.statusline" = { fg = "#${fgColor}", bg = "#${bgColor}" } 747 - "ui.statusline.inactive" = { fg = "#${fgColor}", bg = "#${bgColor}" } 748 - "ui.selection" = { bg = "#${colorScheme.primary.bright.background}" } 749 - "ui.text" = { fg = "#${fgColor}", bg = "#${bgColor}" } 750 - "ui.text.focus" = { fg = "#${fgColor}", bg = "#${bgColor}", modifiers = ['bold'] } 751 - "ui.window" = { bg = "#${bgColor}" } 752 - "ui.cursor.primary" = { fg = "#${fgColor}", modifiers = ["reversed"] } 674 + latitude = 36.9; 675 + longitude = 30.7; 676 + }; 677 + }; 678 + xdg = { 679 + enable = true; 680 + configFile = { 681 + "helix/themes/mytheme.toml".text = '' 682 + "attribute" = { fg = "#${colorScheme.bright.yellow}]" } 683 + "comment" = { fg = "#${colorScheme.normal.gray}", modifiers = ['italic'] } 684 + "constant" = { fg = "#${colorScheme.normal.blue}" } 685 + "constant.builtin" = { fg = "#${colorScheme.bright.blue}" } 686 + "constructor" = { fg = "#${colorScheme.bright.blue}" } 687 + "escape" = { fg = "#${colorScheme.bright.yellow}" } 688 + "function" = { fg = "#${colorScheme.bright.blue}" } 689 + "function.builtin" = { fg = "#${colorScheme.bright.blue}" } 690 + "function.macro" = { fg = "#${colorScheme.bright.magenta}" } 691 + "keyword" = { fg = "#${colorScheme.normal.magenta}", modifiers = ['italic'] } 692 + "keyword.directive" = { fg = "#${colorScheme.normal.magenta}" } 693 + "label" = { fg = "#${colorScheme.bright.magenta}" } 694 + "namespace" = { fg = "#${colorScheme.bright.blue}" } 695 + "number" = { fg = "#${colorScheme.normal.cyan}" } 696 + "operator" = { fg = "#${colorScheme.bright.magenta}", modifiers = ['italic'] } 697 + "property" = { fg = "#${colorScheme.normal.red}" } 698 + "special" = { fg = "#${colorScheme.bright.blue}" } 699 + "string" = { fg = "#${colorScheme.normal.green}" } 700 + "type" = { fg = "#${colorScheme.normal.cyan}", modifiers = ['bold'] } 701 + "type.builtin" = { fg = "#${colorScheme.normal.cyan}", modifiers = ['bold'] } 702 + "variable" = { fg = "#${colorScheme.bright.blue}", modifiers = ['italic'] } 703 + "variable.builtin" = { fg = "#${colorScheme.bright.blue}", modifiers = ['italic'] } 704 + "variable.parameter" = { fg = "#${colorScheme.bright.red}", modifiers = ['italic'] } 705 + "ui.menu.selected" = { fg = "#${bgColor}", bg = "#${acColor}" } 706 + "ui.background" = { fg = "#${fgColor}", bg = "#${bgColor}" } 707 + "ui.help" = { bg = "#${colorScheme.normal.black}" } 708 + "ui.linenr" = { fg = "#${colorScheme.primary.bright.background}", modifiers = ['bold'] } 709 + "ui.linenr.selected" = { fg = "#${fgColor}", modifiers = ['bold'] } 710 + "ui.popup" = { bg = "#${colorScheme.normal.black}" } 711 + "ui.statusline" = { fg = "#${fgColor}", bg = "#${bgColor}" } 712 + "ui.statusline.inactive" = { fg = "#${fgColor}", bg = "#${bgColor}" } 713 + "ui.selection" = { bg = "#${colorScheme.primary.bright.background}" } 714 + "ui.text" = { fg = "#${fgColor}", bg = "#${bgColor}" } 715 + "ui.text.focus" = { fg = "#${fgColor}", bg = "#${bgColor}", modifiers = ['bold'] } 716 + "ui.window" = { bg = "#${bgColor}" } 717 + "ui.cursor.primary" = { fg = "#${fgColor}", modifiers = ["reversed"] } 753 718 754 - "info" = { fg = "#${colorScheme.normal.blue}", modifiers = ['bold'] } 755 - "hint" = { fg = "#${colorScheme.bright.green}", modifiers = ['bold'] } 756 - "warning" = { fg = "#${colorScheme.normal.yellow}", modifiers = ['bold'] } 757 - "error" = { fg = "#${colorScheme.bright.red}", modifiers = ['bold'] } 758 - ''; 759 - "helix/config.toml".text = 760 - '' 761 - theme = "mytheme" 762 - [editor] 763 - line-number = "relative" 764 - [lsp] 765 - display-messages = true 766 - ''; 767 - "helix/languages.toml".text = 768 - '' 769 - [[language]] 770 - name = "nix" 771 - language-server = { command = "${pkgBin "rnix-lsp"}" } 772 - ''; 773 - "waybar/config".text = 774 - let 775 - swayEnabled = config.wayland.windowManager.sway.enable; 776 - in 777 - builtins.toJSON 778 - { 779 - layer = "top"; 780 - position = "top"; 781 - modules-left = 782 - if swayEnabled 783 - then ["sway/workspaces"] 784 - else []; 785 - modules-center = 786 - if swayEnabled 787 - then ["sway/window"] 788 - else []; 789 - modules-right = ["pulseaudio" "cpu" "memory" "temperature" "clock" "tray"]; 790 - tray = { spacing = 8; }; 791 - cpu = { format = "/cpu {usage}/"; }; 792 - memory = { format = "/mem {}/"; }; 793 - temperature = { 794 - hwmon-path = "/sys/class/hwmon/hwmon1/temp2_input"; 795 - format = "/tmp {temperatureC}C/"; 796 - }; 797 - pulseaudio = { 798 - format = "/vol {volume}/ {format_source}"; 799 - format-bluetooth = "/volb {volume}/ {format_source}"; 800 - format-bluetooth-muted = "/volb/ {format_source}"; 801 - format-muted = "/vol/ {format_source}"; 802 - format-source = "/mic {volume}/"; 803 - format-source-muted = "/mic/"; 804 - }; 805 - }; 806 - "waybar/style.css".text = 807 - let 808 - makeBorder = color: "border-bottom: 3px solid #${color};"; 809 - makeInfo = 810 - color: '' 811 - color: #${color}; 812 - ${makeBorder color} 813 - ''; 814 - clockColor = colorScheme.bright.magenta; 815 - cpuColor = colorScheme.bright.green; 816 - memColor = colorScheme.bright.blue; 817 - pulseColor = { 818 - normal = colorScheme.bright.cyan; 819 - muted = colorScheme.bright.gray; 820 - }; 821 - tmpColor = { 822 - normal = colorScheme.bright.yellow; 823 - critical = colorScheme.bright.red; 824 - }; 825 - in '' 826 - * { 827 - border: none; 828 - border-radius: 0; 829 - /* `otf-font-awesome` is required to be installed for icons */ 830 - font-family: ${font}; 831 - font-size: ${toString fontSize}px; 832 - min-height: 0; 833 - } 719 + "info" = { fg = "#${colorScheme.normal.blue}", modifiers = ['bold'] } 720 + "hint" = { fg = "#${colorScheme.bright.green}", modifiers = ['bold'] } 721 + "warning" = { fg = "#${colorScheme.normal.yellow}", modifiers = ['bold'] } 722 + "error" = { fg = "#${colorScheme.bright.red}", modifiers = ['bold'] } 723 + ''; 724 + "helix/config.toml".text = '' 725 + theme = "mytheme" 726 + [editor] 727 + line-number = "relative" 728 + [lsp] 729 + display-messages = true 730 + ''; 731 + "helix/languages.toml".text = '' 732 + [[language]] 733 + name = "nix" 734 + language-server = { command = "${pkgBin "rnix-lsp"}" } 735 + ''; 736 + "waybar/config".text = let 737 + swayEnabled = config.wayland.windowManager.sway.enable; 738 + in 739 + builtins.toJSON 740 + { 741 + layer = "top"; 742 + position = "top"; 743 + modules-left = 744 + if swayEnabled 745 + then ["sway/workspaces"] 746 + else []; 747 + modules-center = 748 + if swayEnabled 749 + then ["sway/window"] 750 + else []; 751 + modules-right = ["pulseaudio" "cpu" "memory" "temperature" "clock" "tray"]; 752 + tray = {spacing = 8;}; 753 + cpu = {format = "/cpu {usage}/";}; 754 + memory = {format = "/mem {}/";}; 755 + temperature = { 756 + hwmon-path = "/sys/class/hwmon/hwmon1/temp2_input"; 757 + format = "/tmp {temperatureC}C/"; 758 + }; 759 + pulseaudio = { 760 + format = "/vol {volume}/ {format_source}"; 761 + format-bluetooth = "/volb {volume}/ {format_source}"; 762 + format-bluetooth-muted = "/volb/ {format_source}"; 763 + format-muted = "/vol/ {format_source}"; 764 + format-source = "/mic {volume}/"; 765 + format-source-muted = "/mic/"; 766 + }; 767 + }; 768 + "waybar/style.css".text = let 769 + makeBorder = color: "border-bottom: 3px solid #${color};"; 770 + makeInfo = color: '' 771 + color: #${color}; 772 + ${makeBorder color} 773 + ''; 774 + clockColor = colorScheme.bright.magenta; 775 + cpuColor = colorScheme.bright.green; 776 + memColor = colorScheme.bright.blue; 777 + pulseColor = { 778 + normal = colorScheme.bright.cyan; 779 + muted = colorScheme.bright.gray; 780 + }; 781 + tmpColor = { 782 + normal = colorScheme.bright.yellow; 783 + critical = colorScheme.bright.red; 784 + }; 785 + in '' 786 + * { 787 + border: none; 788 + border-radius: 0; 789 + /* `otf-font-awesome` is required to be installed for icons */ 790 + font-family: ${font}; 791 + font-size: ${toString fontSize}px; 792 + min-height: 0; 793 + } 834 794 835 - window#waybar { 836 - background-color: #${bgColor}; 837 - /* border-bottom: 0px solid rgba(100, 114, 125, 0.5); */ 838 - color: #${fgColor}; 839 - transition-property: background-color; 840 - transition-duration: .5s; 841 - } 795 + window#waybar { 796 + background-color: #${bgColor}; 797 + /* border-bottom: 0px solid rgba(100, 114, 125, 0.5); */ 798 + color: #${fgColor}; 799 + transition-property: background-color; 800 + transition-duration: .5s; 801 + } 842 802 843 - #workspaces button { 844 - padding: 0 5px; 845 - background-color: transparent; 846 - color: #${fgColor}; 847 - border-bottom: 3px solid transparent; 848 - } 803 + #workspaces button { 804 + padding: 0 5px; 805 + background-color: transparent; 806 + color: #${fgColor}; 807 + border-bottom: 3px solid transparent; 808 + } 849 809 850 - /* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ 851 - #workspaces button:hover { 852 - background: rgba(0, 0, 0, 0.2); 853 - box-shadow: inherit; 854 - border-bottom: 3px solid #ffffff; 855 - } 810 + /* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ 811 + #workspaces button:hover { 812 + background: rgba(0, 0, 0, 0.2); 813 + box-shadow: inherit; 814 + border-bottom: 3px solid #ffffff; 815 + } 856 816 857 - #workspaces button.focused { 858 - border-bottom: 3px solid #${acColor}; 859 - } 817 + #workspaces button.focused { 818 + border-bottom: 3px solid #${acColor}; 819 + } 860 820 861 - #workspaces button.urgent { 862 - background-color: #${acColor}; 863 - color: #${bgColor}; 864 - } 821 + #workspaces button.urgent { 822 + background-color: #${acColor}; 823 + color: #${bgColor}; 824 + } 865 825 866 - #mode { 867 - background-color: #64727D; 868 - border-bottom: 3px solid #ffffff; 869 - } 826 + #mode { 827 + background-color: #64727D; 828 + border-bottom: 3px solid #ffffff; 829 + } 870 830 871 - #clock, 872 - #battery, 873 - #cpu, 874 - #memory, 875 - #temperature, 876 - #backlight, 877 - #network, 878 - #pulseaudio, 879 - #custom-media, 880 - #tray, 881 - #mode, 882 - #idle_inhibitor, 883 - #mpd { 884 - padding: 0 10px; 885 - margin: 0 4px; 886 - background-color: transparent; 887 - ${makeInfo fgColor} 888 - } 831 + #clock, 832 + #battery, 833 + #cpu, 834 + #memory, 835 + #temperature, 836 + #backlight, 837 + #network, 838 + #pulseaudio, 839 + #custom-media, 840 + #tray, 841 + #mode, 842 + #idle_inhibitor, 843 + #mpd { 844 + padding: 0 10px; 845 + margin: 0 4px; 846 + background-color: transparent; 847 + ${makeInfo fgColor} 848 + } 889 849 890 - label:focus { 891 - color: #000000; 892 - } 850 + label:focus { 851 + color: #000000; 852 + } 893 853 894 - #clock { 895 - ${makeInfo clockColor} 896 - } 854 + #clock { 855 + ${makeInfo clockColor} 856 + } 897 857 898 - #cpu { 899 - ${makeInfo cpuColor} 900 - } 858 + #cpu { 859 + ${makeInfo cpuColor} 860 + } 901 861 902 - #memory { 903 - ${makeInfo memColor} 904 - } 862 + #memory { 863 + ${makeInfo memColor} 864 + } 905 865 906 - #pulseaudio { 907 - ${makeInfo pulseColor.normal} 908 - } 866 + #pulseaudio { 867 + ${makeInfo pulseColor.normal} 868 + } 909 869 910 - #pulseaudio.muted { 911 - ${makeInfo pulseColor.muted} 912 - } 870 + #pulseaudio.muted { 871 + ${makeInfo pulseColor.muted} 872 + } 913 873 914 - #temperature { 915 - ${makeInfo tmpColor.normal} 916 - } 874 + #temperature { 875 + ${makeInfo tmpColor.normal} 876 + } 917 877 918 - #temperature.critical { 919 - ${makeInfo tmpColor.critical} 920 - } 921 - ''; 922 - }; 878 + #temperature.critical { 879 + ${makeInfo tmpColor.critical} 880 + } 881 + ''; 923 882 }; 924 883 }; 884 + }; 925 885 }
+2 -3
users/profiles/git/default.nix
··· 1 1 { 2 2 programs.git = { 3 3 enable = true; 4 - extraConfig = { pull.rebase = true; }; 4 + extraConfig = {pull.rebase = true;}; 5 5 lfs.enable = true; 6 6 aliases = { 7 7 a = "add -p"; ··· 31 31 rs1ft = "soft HEAD~1"; 32 32 rh1rd = "hard HEAD~1"; 33 33 # logging 34 - l = 35 - "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"; 34 + l = "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"; 36 35 plog = "log --graph --pretty='format:%C(red)%d%C(reset) %C(yellow)%h%C(reset) %ar %C(green)%aN%C(reset) %s'"; 37 36 tlog = "log --stat --since='1 Day Ago' --graph --pretty=oneline --abbrev-commit --date=relative"; 38 37 rank = "shortlog -sn --no-merges";
+167 -170
users/profiles/hikari/default.nix
··· 3 3 config, 4 4 pkgs, 5 5 ... 6 - }: 7 - { 6 + }: { 8 7 home.packages = with pkgs; [hikari xwayland]; 9 8 xdg = { 10 9 enable = true; 11 10 configFile = { 12 - "hikari/hikari.conf".text = 13 - '' 14 - ui { 15 - border = 1 16 - gap = 0 17 - step = 120 18 - font = "${fontComb}" 11 + "hikari/hikari.conf".text = '' 12 + ui { 13 + border = 1 14 + gap = 0 15 + step = 120 16 + font = "${fontComb}" 19 17 20 - colorscheme { 21 - background = 0x282C34 22 - foreground = 0x000000 23 - selected = 0xF5E094 24 - grouped = 0xFDAF53 25 - first = 0xB8E673 26 - conflict = 0xED6B32 27 - insert = 0xE3C3FA 28 - active = 0xFFFFFF 29 - inactive = 0x465457 30 - } 18 + colorscheme { 19 + background = 0x282C34 20 + foreground = 0x000000 21 + selected = 0xF5E094 22 + grouped = 0xFDAF53 23 + first = 0xB8E673 24 + conflict = 0xED6B32 25 + insert = 0xE3C3FA 26 + active = 0xFFFFFF 27 + inactive = 0x465457 31 28 } 29 + } 32 30 33 - outputs { 34 - "*" { 35 - background = "${config.home.homeDirectory}/wallpaper.png" 36 - } 31 + outputs { 32 + "*" { 33 + background = "${config.home.homeDirectory}/wallpaper.png" 37 34 } 35 + } 38 36 39 - inputs { 40 - keyboards { 41 - "*" { 42 - xkb = { 43 - layout = "tr" 44 - } 37 + inputs { 38 + keyboards { 39 + "*" { 40 + xkb = { 41 + layout = "tr" 45 42 } 46 43 } 47 - pointers { 48 - "*" { 49 - accel-profile = "flat" 50 - } 44 + } 45 + pointers { 46 + "*" { 47 + accel-profile = "flat" 51 48 } 52 49 } 50 + } 53 51 54 - layouts { 55 - # main stack 56 - s = { 57 - scale = { 58 - min = 0.5 59 - max = 0.75 60 - } 61 - left = single 62 - right = stack 52 + layouts { 53 + # main stack 54 + s = { 55 + scale = { 56 + min = 0.5 57 + max = 0.75 63 58 } 59 + left = single 60 + right = stack 61 + } 64 62 65 - # main queue 66 - q = { 67 - scale = 0.75 68 - top = single 69 - bottom = queue 70 - } 71 - 72 - f = full 73 - h = stack 74 - v = queue 75 - g = grid 63 + # main queue 64 + q = { 65 + scale = 0.75 66 + top = single 67 + bottom = queue 76 68 } 77 69 78 - actions { 79 - terminal = "${pkgs.alacritty}/bin/alacritty" 80 - run = "${pkgs.wofi}/bin/wofi --show drun" 81 - } 70 + f = full 71 + h = stack 72 + v = queue 73 + g = grid 74 + } 82 75 83 - bindings { 84 - keyboard { 85 - "L+0" = workspace-switch-to-sheet-0 86 - "L+1" = workspace-switch-to-sheet-1 87 - "L+2" = workspace-switch-to-sheet-2 88 - "L+3" = workspace-switch-to-sheet-3 89 - "L+4" = workspace-switch-to-sheet-4 90 - "L+5" = workspace-switch-to-sheet-5 91 - "L+6" = workspace-switch-to-sheet-6 92 - "L+7" = workspace-switch-to-sheet-7 93 - "L+8" = workspace-switch-to-sheet-8 94 - "L+9" = workspace-switch-to-sheet-9 95 - "L+numbersign" = workspace-switch-to-sheet-alternate 96 - "L+Period" = workspace-switch-to-sheet-current 97 - "L+j" = workspace-switch-to-sheet-next 98 - "L+k" = workspace-switch-to-sheet-prev 99 - "L+Comma" = workspace-switch-to-sheet-next-inhabited 100 - "LS+Comma" = workspace-switch-to-sheet-prev-inhabited 101 - "LSC+g" = workspace-show-group 102 - "LSC+i" = workspace-show-invisible 103 - "LSC+Period" = workspace-show-all 104 - "LC+n" = workspace-cycle-next 105 - "LC+p" = workspace-cycle-prev 76 + actions { 77 + terminal = "${pkgs.alacritty}/bin/alacritty" 78 + run = "${pkgs.wofi}/bin/wofi --show drun" 79 + } 106 80 107 - "LC+i" = sheet-show-invisible 108 - "LC+Period" = sheet-show-all 109 - "LC+g" = sheet-show-group 81 + bindings { 82 + keyboard { 83 + "L+0" = workspace-switch-to-sheet-0 84 + "L+1" = workspace-switch-to-sheet-1 85 + "L+2" = workspace-switch-to-sheet-2 86 + "L+3" = workspace-switch-to-sheet-3 87 + "L+4" = workspace-switch-to-sheet-4 88 + "L+5" = workspace-switch-to-sheet-5 89 + "L+6" = workspace-switch-to-sheet-6 90 + "L+7" = workspace-switch-to-sheet-7 91 + "L+8" = workspace-switch-to-sheet-8 92 + "L+9" = workspace-switch-to-sheet-9 93 + "L+numbersign" = workspace-switch-to-sheet-alternate 94 + "L+Period" = workspace-switch-to-sheet-current 95 + "L+j" = workspace-switch-to-sheet-next 96 + "L+k" = workspace-switch-to-sheet-prev 97 + "L+Comma" = workspace-switch-to-sheet-next-inhabited 98 + "LS+Comma" = workspace-switch-to-sheet-prev-inhabited 99 + "LSC+g" = workspace-show-group 100 + "LSC+i" = workspace-show-invisible 101 + "LSC+Period" = workspace-show-all 102 + "LC+n" = workspace-cycle-next 103 + "LC+p" = workspace-cycle-prev 110 104 111 - "LA+r" = layout-reset 112 - "LA+Return" = layout-restack-append 113 - "LAS+Return" = layout-restack-prepend 114 - "L+Home" = layout-cycle-view-first 115 - "L+End" = layout-cycle-view-last 116 - "L+n" = layout-cycle-view-next 117 - "L+p" = layout-cycle-view-prev 118 - "L+x" = layout-exchange-view-next 119 - "LS+x" = layout-exchange-view-prev 120 - "LA+x" = layout-exchange-view-main 105 + "LC+i" = sheet-show-invisible 106 + "LC+Period" = sheet-show-all 107 + "LC+g" = sheet-show-group 108 + 109 + "LA+r" = layout-reset 110 + "LA+Return" = layout-restack-append 111 + "LAS+Return" = layout-restack-prepend 112 + "L+Home" = layout-cycle-view-first 113 + "L+End" = layout-cycle-view-last 114 + "L+n" = layout-cycle-view-next 115 + "L+p" = layout-cycle-view-prev 116 + "L+x" = layout-exchange-view-next 117 + "LS+x" = layout-exchange-view-prev 118 + "LA+x" = layout-exchange-view-main 121 119 122 - "LS+0" = view-pin-to-sheet-0 123 - "LS+1" = view-pin-to-sheet-1 124 - "LS+2" = view-pin-to-sheet-2 125 - "LS+3" = view-pin-to-sheet-3 126 - "LS+4" = view-pin-to-sheet-4 127 - "LS+5" = view-pin-to-sheet-5 128 - "LS+6" = view-pin-to-sheet-6 129 - "LS+7" = view-pin-to-sheet-7 130 - "LS+8" = view-pin-to-sheet-8 131 - "LS+9" = view-pin-to-sheet-9 132 - "LS+numbersign" = view-pin-to-sheet-alternate 133 - "LS+Period" = view-pin-to-sheet-current 134 - "LS+j" = view-pin-to-sheet-next 135 - "LS+k" = view-pin-to-sheet-prev 120 + "LS+0" = view-pin-to-sheet-0 121 + "LS+1" = view-pin-to-sheet-1 122 + "LS+2" = view-pin-to-sheet-2 123 + "LS+3" = view-pin-to-sheet-3 124 + "LS+4" = view-pin-to-sheet-4 125 + "LS+5" = view-pin-to-sheet-5 126 + "LS+6" = view-pin-to-sheet-6 127 + "LS+7" = view-pin-to-sheet-7 128 + "LS+8" = view-pin-to-sheet-8 129 + "LS+9" = view-pin-to-sheet-9 130 + "LS+numbersign" = view-pin-to-sheet-alternate 131 + "LS+Period" = view-pin-to-sheet-current 132 + "LS+j" = view-pin-to-sheet-next 133 + "LS+k" = view-pin-to-sheet-prev 136 134 137 - "L+q" = view-quit 138 - "L+Tab" = view-cycle-next 139 - "LS+Tab" = view-cycle-prev 135 + "L+q" = view-quit 136 + "L+Tab" = view-cycle-next 137 + "LS+Tab" = view-cycle-prev 140 138 141 - "L+Up" = view-move-up 142 - "L+Down" = view-move-down 143 - "L+Left" = view-move-left 144 - "L+Right" = view-move-right 145 - "LA+Up" = view-decrease-size-up 146 - "LAS+Up" = view-increase-size-up 147 - "LA+Down" = view-increase-size-down 148 - "LAS+Down" = view-decrease-size-down 149 - "LA+Left" = view-decrease-size-left 150 - "LAS+Left" = view-increase-size-left 151 - "LA+Right" = view-increase-size-right 152 - "LAS+Right" = view-decrease-size-right 153 - "LS+Up" = view-snap-up 154 - "LS+Down" = view-snap-down 155 - "LS+Left" = view-snap-left 156 - "LS+Right" = view-snap-right 157 - "L+r" = view-reset-geometry 139 + "L+Up" = view-move-up 140 + "L+Down" = view-move-down 141 + "L+Left" = view-move-left 142 + "L+Right" = view-move-right 143 + "LA+Up" = view-decrease-size-up 144 + "LAS+Up" = view-increase-size-up 145 + "LA+Down" = view-increase-size-down 146 + "LAS+Down" = view-decrease-size-down 147 + "LA+Left" = view-decrease-size-left 148 + "LAS+Left" = view-increase-size-left 149 + "LA+Right" = view-increase-size-right 150 + "LAS+Right" = view-decrease-size-right 151 + "LS+Up" = view-snap-up 152 + "LS+Down" = view-snap-down 153 + "LS+Left" = view-snap-left 154 + "LS+Right" = view-snap-right 155 + "L+r" = view-reset-geometry 158 156 159 - "L+minus" = view-toggle-maximize-vertical 160 - "L+less" = view-toggle-maximize-horizontal 161 - "L+f" = view-toggle-maximize-full 162 - "L5+plus" = view-toggle-floating 163 - "L+i" = view-toggle-invisible 164 - "L5+p" = view-toggle-public 157 + "L+minus" = view-toggle-maximize-vertical 158 + "L+less" = view-toggle-maximize-horizontal 159 + "L+f" = view-toggle-maximize-full 160 + "L5+plus" = view-toggle-floating 161 + "L+i" = view-toggle-invisible 162 + "L5+p" = view-toggle-public 165 163 166 - "L+l" = mode-enter-layout 167 - "L+s" = mode-enter-sheet-assign 168 - "L+g" = mode-enter-group-assign 169 - "L+m" = mode-enter-mark-assign 170 - "L+acute" = mode-enter-mark-select 171 - "LS+acute" = mode-enter-mark-switch-select 172 - "LCA+g" = mode-enter-input-grab 164 + "L+l" = mode-enter-layout 165 + "L+s" = mode-enter-sheet-assign 166 + "L+g" = mode-enter-group-assign 167 + "L+m" = mode-enter-mark-assign 168 + "L+acute" = mode-enter-mark-select 169 + "LS+acute" = mode-enter-mark-switch-select 170 + "LCA+g" = mode-enter-input-grab 173 171 174 - "LS+Backspace" = lock 175 - "LCA+q" = quit 176 - "LCA+r" = reload 172 + "LS+Backspace" = lock 173 + "LCA+q" = quit 174 + "LCA+r" = reload 177 175 178 - "L+Return" = action-terminal 179 - "L+d" = action-run 176 + "L+Return" = action-terminal 177 + "L+d" = action-run 180 178 181 - "A+F1" = vt-switch-to-1 182 - "A+F2" = vt-switch-to-2 183 - "A+F3" = vt-switch-to-3 184 - "A+F4" = vt-switch-to-4 185 - "A+F5" = vt-switch-to-5 186 - "A+F6" = vt-switch-to-6 187 - "A+F7" = vt-switch-to-7 188 - "A+F8" = vt-switch-to-8 189 - "A+F9" = vt-switch-to-9 190 - } 179 + "A+F1" = vt-switch-to-1 180 + "A+F2" = vt-switch-to-2 181 + "A+F3" = vt-switch-to-3 182 + "A+F4" = vt-switch-to-4 183 + "A+F5" = vt-switch-to-5 184 + "A+F6" = vt-switch-to-6 185 + "A+F7" = vt-switch-to-7 186 + "A+F8" = vt-switch-to-8 187 + "A+F9" = vt-switch-to-9 188 + } 191 189 192 - mouse { 193 - "L+left" = mode-enter-move 194 - "L+right" = mode-enter-resize 195 - } 190 + mouse { 191 + "L+left" = mode-enter-move 192 + "L+right" = mode-enter-resize 196 193 } 197 - ''; 198 - "hikari/autostart".source = 199 - "${ 200 - pkgs.writeScriptBin 201 - "hikari-autostart" 202 - '' 203 - #!${pkgs.stdenv.shell} 204 - ${pkgs.waybar}/bin/waybar & 205 - '' 206 - }/bin/hikari-autostart"; 194 + } 195 + ''; 196 + "hikari/autostart".source = "${ 197 + pkgs.writeScriptBin 198 + "hikari-autostart" 199 + '' 200 + #!${pkgs.stdenv.shell} 201 + ${pkgs.waybar}/bin/waybar & 202 + '' 203 + }/bin/hikari-autostart"; 207 204 }; 208 205 }; 209 206 }
+1 -2
users/profiles/starship/default.nix
··· 1 - { ... }: 2 - { 1 + {...}: { 3 2 programs.starship = { 4 3 enable = true; 5 4 settings = {
+1 -5
users/profiles/wtf/default.nix
··· 1 - { 2 - pkgs, 3 - ... 4 - }: 5 - { home.packages = [pkgs.wtf]; } 1 + {pkgs, ...}: {home.packages = [pkgs.wtf];}
+2 -4
users/root/default.nix
··· 1 - { ... }: 2 - { 3 - users.users.root.initialHashedPassword = 4 - "$6$XLWo1sPpgp63Zm$XHBbULH9q1gb/.yalPPU/I7EgTcW80bM.moCjIe/qGyOwE47VcXNVbTHloBZdIWQq0MfIG0IxInAu59.oJyos/"; 1 + {...}: { 2 + users.users.root.initialHashedPassword = "$6$XLWo1sPpgp63Zm$XHBbULH9q1gb/.yalPPU/I7EgTcW80bM.moCjIe/qGyOwE47VcXNVbTHloBZdIWQq0MfIG0IxInAu59.oJyos/"; 5 3 }