diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..1e00ebb --- /dev/null +++ b/.envrc @@ -0,0 +1,4 @@ +watch_file flake.nix + +use flake + diff --git a/.github/logo.svg b/.github/logo.svg new file mode 100644 index 0000000..0ec06d7 --- /dev/null +++ b/.github/logo.svg @@ -0,0 +1,207 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + diff --git a/flake.lock b/flake.lock index e937319..bc81572 100644 --- a/flake.lock +++ b/flake.lock @@ -20,11 +20,11 @@ ] }, "locked": { - "lastModified": 1751740947, - "narHash": "sha256-35040CHH7P3JGmhGVfEb2oJHL/A5mI2IXumhkxrBnao=", + "lastModified": 1751569683, + "narHash": "sha256-PoQcCYTiN52PanxgWBN4Tqet1x4PCk6KtjaHNjELH88=", "owner": "hyprwm", "repo": "aquamarine", - "rev": "dfc1db15a08c4cd234288f66e1199c653495301f", + "rev": "c0c56dde3e471030edb135425a82107cf0057c6f", "type": "github" }, "original": { @@ -435,11 +435,11 @@ ] }, "locked": { - "lastModified": 1751808145, - "narHash": "sha256-OXgL0XaKMmfX2rRQkt9SkJw+QNfv0jExlySt1D6O72g=", + "lastModified": 1750621377, + "narHash": "sha256-8u6b5oAdX0rCuoR8wFenajBRmI+mzbpNig6hSCuWUzE=", "owner": "hyprwm", "repo": "hyprgraphics", - "rev": "b841473a0bd4a1a74a0b64f1ec2ab199035c349f", + "rev": "b3d628d01693fb9bb0a6690cd4e7b80abda04310", "type": "github" }, "original": { @@ -468,11 +468,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1751904574, - "narHash": "sha256-jXkava/9BRiY2JEVmB68mpkFd+JU3BnNbh2RtRBXfTA=", + "lastModified": 1751714318, + "narHash": "sha256-nkoRnDkRGaCT0JTuHcDXPCMkdmhUFEtI1TMUiQcrxfs=", "owner": "hyprwm", "repo": "hyprland", - "rev": "bb958a9e139d6ae90d45fe360287d33e229f971e", + "rev": "6a5f4f5954a64bac718e3938f062d045256e7aeb", "type": "github" }, "original": { @@ -615,11 +615,11 @@ ] }, "locked": { - "lastModified": 1751888065, - "narHash": "sha256-F2SV9WGqgtRsXIdUrl3sRe0wXlQD+kRRZcSfbepjPJY=", + "lastModified": 1751061882, + "narHash": "sha256-g9n8Vrbx+2JYM170P9BbvGHN39Wlkr4U+V2WLHQsXL8=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "a8229739cf36d159001cfc203871917b83fdf917", + "rev": "4737241eaf8a1e51671a2a088518071f9a265cf4", "type": "github" }, "original": { @@ -640,11 +640,11 @@ ] }, "locked": { - "lastModified": 1751881472, - "narHash": "sha256-meB0SnXbwIe2trD041MLKEv6R7NZ759QwBcVIhlSBfE=", + "lastModified": 1750371869, + "narHash": "sha256-lGk4gLjgZQ/rndUkzmPYcgbHr8gKU5u71vyrjnwfpB4=", "owner": "hyprwm", "repo": "hyprwayland-scanner", - "rev": "8fb426b3e5452fd9169453fd6c10f8c14ca37120", + "rev": "aa38edd6e3e277ae6a97ea83a69261a5c3aab9fd", "type": "github" }, "original": { @@ -800,15 +800,18 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 315532800, - "narHash": "sha256-5EzvWAMTAf6m6Ynab7EnYz9OfJO2wHCb/yhtP8ACQQQ=", - "rev": "9b008d60392981ad674e04016d25619281550a9d", - "type": "tarball", - "url": "https://releases.nixos.org/nixpkgs/nixpkgs-25.11pre826760.9b008d603929/nixexprs.tar.xz" + "lastModified": 1751271578, + "narHash": "sha256-P/SQmKDu06x8yv7i0s8bvnnuJYkxVGBWLWHaU+tt4YY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "3016b4b15d13f3089db8a41ef937b13a9e33a8df", + "type": "github" }, "original": { - "type": "tarball", - "url": "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz" + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" } }, "nixpkgs_3": { @@ -883,11 +886,11 @@ ] }, "locked": { - "lastModified": 1751880110, - "narHash": "sha256-5fQ2cetL3rTHqXe2VM3puawL/8u5j6ujBr6Gdt7Iues=", + "lastModified": 1751686190, + "narHash": "sha256-veNnb2UVyjugo9fIeGjisMGGn0TNae71p5D1YwwEAFs=", "ref": "refs/heads/master", - "rev": "5d7e07508ae3e5487edb1ac5a152120434f091d5", - "revCount": 607, + "rev": "87d99b866f9866db10b55c8b03632f0eecae52d8", + "revCount": 606, "type": "git", "url": "https://git.outfoxxed.me/quickshell/quickshell" }, @@ -938,11 +941,11 @@ ] }, "locked": { - "lastModified": 1751856221, - "narHash": "sha256-/QE1eV0ckFvgRMcKjZqgdJDoXFNwSMepwRoBjaw2MCk=", + "lastModified": 1751683029, + "narHash": "sha256-dYO5X5jK8bpQOeRAo8R5aUt6M/+Ji1cZgstZI7SQ2IA=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "34cae4b56929c5b340e1c5b10d9a98a425b2a51e", + "rev": "9e5e62a33a929a67a5427fb7324a6f583dced0b2", "type": "github" }, "original": { @@ -1076,11 +1079,11 @@ ] }, "locked": { - "lastModified": 1751300244, - "narHash": "sha256-PFuv1TZVYvQhha0ac53E3YgdtmLShrN0t4T6xqHl0jE=", + "lastModified": 1750372504, + "narHash": "sha256-VBeZb1oqZM1cqCAZnFz/WyYhO8aF/ImagI7WWg/Z3Og=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "6115f3fdcb2c1a57b4a80a69f3c797e47607b90a", + "rev": "400308fc4f9d12e0a93e483c2e7a649e12af1a92", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 64f5561..934f6ba 100644 --- a/flake.nix +++ b/flake.nix @@ -7,11 +7,17 @@ in { nixosConfigurations = import ./hosts inputs; + devShells = + lib.mapAttrs (system: pkgs: { + default = pkgs.callPackage ./shell.nix {}; + }) + pkgsFor; + formatter = eachSystem (system: pkgsFor.${system}.alejandra); packages = lib.mapAttrs ( - _: pkgs: { + system: pkgs: { inherit (import ./packages { inherit inputs pkgs; @@ -40,9 +46,8 @@ templates = import ./templates; }; inputs = { - # Unstable nixpkgs, using the new Lockable HTTP Tarball protocol - # https://github.com/NixOS/infra/pull/562. - nixpkgs.url = "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz"; + # Unstable nixpkgs baby! + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; systems.url = "github:nix-systems/default-linux"; @@ -80,7 +85,7 @@ inputs.nixpkgs.follows = "nixpkgs"; }; - # DetNix is doing too well these days not to use it. + # DetNix is doing too well these days not to use it... determinate = { url = "github:determinatesystems/determinate"; inputs.nixpkgs.follows = "nixpkgs"; diff --git a/hosts/default.nix b/hosts/default.nix index 001e1b0..3a02583 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -23,7 +23,7 @@ inputs: let inherit inputs; inherit self; } - args.specialArgs or {}; + (args.specialArgs or {}); modules = concatLists [ # This is used to pre-emptively set the hostPlatform for nixpkgs. # Also, we set the system hostname here. diff --git a/hosts/hermit/configuration.nix b/hosts/hermit/configuration.nix index a311672..02918a5 100644 --- a/hosts/hermit/configuration.nix +++ b/hosts/hermit/configuration.nix @@ -9,23 +9,21 @@ i18n.defaultLocale = "en_US.UTF-8"; console.keyMap = "uk"; security.polkit.enable = true; + programs.nix-ld.enable = false; boot.kernelPackages = pkgs.linuxPackages_xanmod_latest; services = { fstrim.enable = lib.mkDefault true; thermald.enable = true; }; - programs = { - nix-ld.enable = false; - zsh = { - enable = true; - enableBashCompletion = true; - }; - gnupg.agent = { - enable = true; - pinentryPackage = pkgs.pinentry-qt; - }; + programs.zsh = { + enable = true; + enableBashCompletion = true; }; + programs.gnupg.agent = { + enable = true; + pinentryPackage = pkgs.pinentry-qt; + }; modules = { wms.wayland.enable = true; desktops.hyprland.enable = false; diff --git a/hosts/temperance/hardware-configuration.nix b/hosts/temperance/hardware-configuration.nix index 0720ed8..e30e94e 100644 --- a/hosts/temperance/hardware-configuration.nix +++ b/hosts/temperance/hardware-configuration.nix @@ -6,12 +6,10 @@ }: { imports = [(modulesPath + "/installer/scan/not-detected.nix")]; - boot = { - initrd.availableKernelModules = ["xhci_pci" "ahci" "nvme" "usbhid" "sd_mod"]; - initrd.kernelModules = []; - kernelModules = []; - extraModulePackages = []; - }; + boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "nvme" "usbhid" "sd_mod"]; + boot.initrd.kernelModules = []; + boot.kernelModules = []; + boot.extraModulePackages = []; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking # (the default) this is the recommended approach. When using systemd-networkd it's diff --git a/hosts/temperance/kernel/xanmod.nix b/hosts/temperance/kernel/xanmod.nix index 68954d5..d366252 100644 --- a/hosts/temperance/kernel/xanmod.nix +++ b/hosts/temperance/kernel/xanmod.nix @@ -60,7 +60,7 @@ # 1:1 taken from raf's custom kernel, check out his config for this. .overrideAttrs (oa: { prePatch = - oa.prePatch or "" + (oa.prePatch or "") + '' # bragging rights echo "Replacing localversion with custom suffix" diff --git a/hosts/tower/hardware-configuration.nix b/hosts/tower/hardware-configuration.nix index b9d7981..2b2927f 100644 --- a/hosts/tower/hardware-configuration.nix +++ b/hosts/tower/hardware-configuration.nix @@ -7,12 +7,10 @@ (modulesPath + "/profiles/qemu-guest.nix") ]; - boot = { - initrd.availableKernelModules = ["xhci_pci" "virtio_scsi" "sr_mod"]; - initrd.kernelModules = []; - kernelModules = []; - extraModulePackages = []; - }; + boot.initrd.availableKernelModules = ["xhci_pci" "virtio_scsi" "sr_mod"]; + boot.initrd.kernelModules = []; + boot.kernelModules = []; + boot.extraModulePackages = []; swapDevices = []; diff --git a/modules/packages/hardware.nix b/modules/packages/hardware.nix index cbaa95b..1a85c49 100644 --- a/modules/packages/hardware.nix +++ b/modules/packages/hardware.nix @@ -3,5 +3,6 @@ lib, pkgs, ... -}: { +}: let +in { } diff --git a/modules/programs/gui/brave/module.nix b/modules/programs/gui/brave/module.nix deleted file mode 100644 index 7f448bd..0000000 --- a/modules/programs/gui/brave/module.nix +++ /dev/null @@ -1,37 +0,0 @@ -{pkgs, ...}: { - programs.chromium = { - enable = true; - extraOpts = { - BraveRewardsDisabled = true; - BraveWalletDisabled = true; - PromotionsEnabled = false; - TorDisabled = true; - BraveVPNDisabled = true; - BraveAIChatEnabled = false; - BraveSyncUrl = ""; - PrivacySandboxFingerprintingProtectionEnabled = true; - PrivacySandboxIpProtectionEnabled = true; - DefaultSearchProviderEnabled = true; - DefaultSearchProviderName = "Kagi"; - DefaultSearchProviderSearchURL = "https://kagi.com/search?q={searchTerms}"; - DefaultSearchProviderNewTabURL = "https://kagi.com"; - SearchSuggestEnabled = true; - DefaultSearchProviderSuggestURL = "https://kagi.com/api/autosuggest?q={searchTerms}"; - PasswordManagerEnabled = false; - BlockThirdPartyCookies = true; - }; - extensions = [ - # NoScript - "doojmbjmlfjjnbmnoijecmcbfeoakpjm" - # KeePassXC-Browser - "oboonakemofpalcgghocfoadofidjkkk" - # Catppuccin Mocha - "bkkmolkhemgaeaeggcmfbghljjjoofoh" - # Dark Reader - "eimadpbcbfnmbkopoojfekhnkhdbieeh" - ]; - }; - environment.systemPackages = [ - (pkgs.brave.override {vulkanSupport = true;}) - ]; -} diff --git a/modules/programs/gui/fuzzel/module.nix b/modules/programs/gui/fuzzel/module.nix index 0eb6402..7bb939e 100644 --- a/modules/programs/gui/fuzzel/module.nix +++ b/modules/programs/gui/fuzzel/module.nix @@ -3,7 +3,8 @@ lib, pkgs, ... -}: { +}: let +in { environment.systemPackages = builtins.attrValues { inherit (pkgs) fuzzel; }; diff --git a/modules/programs/gui/ghostty/module.nix b/modules/programs/gui/ghostty/module.nix index 47c74ca..0a0a3e9 100644 --- a/modules/programs/gui/ghostty/module.nix +++ b/modules/programs/gui/ghostty/module.nix @@ -6,8 +6,6 @@ }: let inherit (lib.lists) elem; inherit (lib.meta) getExe; - inherit (lib.attrsets) mapAttrsToList; - inherit (lib.strings) concatStringsSep; inherit (config.meta.mainUser.defaultShell) name package; inherit (config.modules.style.colorScheme) slug; @@ -19,59 +17,30 @@ then name else "none"; - ghostty-settings = { - font-family = "JetBrainsMonoNerdFont"; - font-family-bold = "JetBrainsMonoNerdFontBold"; - font-family-italic = "JetBrainsMonoNerdFontItalic"; - font-family-bold-italic = "JetBrainsMonoNerdFontBoldItalic"; - font-size = 14; + ghostty-settings = pkgs.writeText "config" '' + font-family = JetBrainsMono Nerd Font Mono + window-padding-x = 8 + window-padding-y = 8 + background-opacity = 0.85 + gtk-single-instance = true + font-size = 14 + theme = ${slug} + resize-overlay-duration = 0s + cursor-style-blink = false + confirm-close-surface = false + copy-on-select = true + term = xterm-256color - window-padding-x = 8; - window-padding-y = 8; - background-opacity = 0.85; - gtk-single-instance = "true"; - gtk-tabs-location = "bottom"; - gtk-wide-tabs = false; - window-padding-balance = true; - window-decoration = "none"; - theme = slug; - resize-overlay-duration = "0s"; - cursor-style-blink = "false"; - confirm-close-surface = "false"; - mouse-hide-while-typing = "true"; + shell-integration = ${shell-integration} + command = ${getExe package} + ''; - window-theme = "ghostty"; - bold-is-bright = "true"; - term = "xterm-256color"; - - app-notifications = "no-clipboard-copy"; - shell-integration-features = "cursor,sudo,no-title"; - # window-padding-y = 10; - cursor-style = "block"; - - # Whether to automatically copy selected text to the clipboard. true will prefer to copy to the selection clipboard, otherwise it will copy to the system clipboard. - # The value clipboard will always copy text to the selection clipboard as well as the system clipboard. - copy-on-select = "clipboard"; - - inherit shell-integration; - command = getExe package; - }; - - settingsFile = pkgs.writeText "config" <| concatStringsSep "\n" <| mapAttrsToList (name: value: "${name} = ${toString value}") ghostty-settings; - - ghostty = pkgs.ghostty.overrideAttrs (_: { - preBuild = '' - shopt -s globstar - sed -i 's/^const xev = @import("xev");$/const xev = @import("xev").Epoll;/' **/*.zig - shopt -u globstar - ''; - }); ghostty-wrapped = pkgs.symlinkJoin { name = "ghostty-wrapped"; - paths = [ghostty]; + paths = [pkgs.ghostty]; nativeBuildInputs = [pkgs.makeWrapper]; postBuild = '' - wrapProgram $out/bin/ghostty --add-flags "--config-file=${settingsFile}" + wrapProgram $out/bin/ghostty --add-flags "--config-file=${ghostty-settings}" ''; }; in { diff --git a/modules/services/grafana/module.nix b/modules/services/grafana/module.nix index e52e7e1..1a73e5a 100644 --- a/modules/services/grafana/module.nix +++ b/modules/services/grafana/module.nix @@ -29,7 +29,7 @@ in { http_port = port; root_url = "https://${domain}"; - inherit domain; + domain = domain; enforce_domain = true; }; database = { diff --git a/modules/services/kanata/module.nix b/modules/services/kanata/module.nix index c39dd6d..e79947d 100644 --- a/modules/services/kanata/module.nix +++ b/modules/services/kanata/module.nix @@ -12,12 +12,19 @@ in { config = mkIf cfg.enable { services.kanata = { enable = true; - keyboards.main = { - devices = [ - "/dev/input/by-id/usb-Metadot_-_Das_Keyboard_Das_Keyboard-event-kbd" - "/dev/input/by-path/platform-i8042-serio-0-event-kbd" - "/dev/input/by-id/usb-Dell_Dell_USB_Keyboard-event-kbd" - ]; + + keyboards.daskeyboard = { + devices = ["/dev/input/by-id/usb-Metadot_-_Das_Keyboard_Das_Keyboard-event-kbd"]; + config = builtins.readFile (./. + "/main.kbd"); + }; + + keyboards.laptop = { + devices = ["/dev/input/by-path/platform-i8042-serio-0-event-kbd"]; + config = builtins.readFile (./. + "/main.kbd"); + }; + + keyboards.dell-keyboard = { + devices = ["/dev/input/by-id/usb-Dell_Dell_USB_Keyboard-event-kbd"]; config = builtins.readFile (./. + "/main.kbd"); }; }; diff --git a/modules/style/fonts.nix b/modules/style/fonts.nix index bcf8c43..0fe60fb 100644 --- a/modules/style/fonts.nix +++ b/modules/style/fonts.nix @@ -1,45 +1,5 @@ {pkgs, ...}: let inherit (builtins) mapAttrs; - - fancy-iosevka = pkgs.iosevka.override { - privateBuildPlan = { - family = "fancy-iosevka"; - spacing = "term"; - serifs = "sans"; - noCvSs = true; - exportGlyphNames = false; - - ligations.inherits = "dlig"; - variants = { - inherits = "ss15"; - design = { - e = "flat-crossbar"; - f = "diagonal-tailed-crossbar-at-x-height"; - }; - }; - weights.Regular = { - shape = 400; - menu = 400; - css = 400; - }; - weights.Bold = { - shape = 700; - menu = 700; - css = 700; - }; - widths.Condensed = { - shape = 500; - menu = 3; - css = "condensed"; - }; - widths.normal = { - shape = 600; - menu = 5; - css = "normal"; - }; - }; - set = "Fancy"; - }; in { # A (somewhat) sane list of fonts to be installed. fonts = { @@ -95,8 +55,6 @@ in { comic-shanns-mono symbols-only ; - - inherit fancy-iosevka; }; fontDir = { # Whether to create a directory with links to all fonts in diff --git a/modules/system/boot/module.nix b/modules/system/boot/module.nix index 2aeeb1a..2da4a6b 100644 --- a/modules/system/boot/module.nix +++ b/modules/system/boot/module.nix @@ -54,7 +54,7 @@ in { efi.canTouchEfiVariables = true; timeout = mkDefault cfg.timeout; systemd-boot = { - inherit (cfg.systemd-boot) enable; + enable = cfg.systemd-boot.enable; # INFO: Leaving this enabled is a security vulneratibility, # since we can just start /bin/sh from there and get root access. # Since I have FDE, this isn't _as_ critical, but it would still be @@ -64,7 +64,7 @@ in { configurationLimit = 5; }; grub = { - inherit (cfg.grub) enable; + enable = cfg.grub.enable; efiSupport = true; device = "nodev"; configurationLimit = 5; diff --git a/modules/system/hardware/cpu/amd.nix b/modules/system/hardware/cpu/amd.nix new file mode 100644 index 0000000..e69de29 diff --git a/modules/system/hardware/wifi.nix b/modules/system/hardware/wifi.nix new file mode 100644 index 0000000..e69de29 diff --git a/modules/system/os/networking/firewall.nix b/modules/system/os/networking/firewall.nix index a3e1182..263bd6d 100644 --- a/modules/system/os/networking/firewall.nix +++ b/modules/system/os/networking/firewall.nix @@ -3,7 +3,8 @@ lib, pkgs, ... -}: { +}: let +in { networking = { # use nftables over iptables nftables.enable = true; diff --git a/modules/wms/wayland/module.nix b/modules/wms/wayland/module.nix index ac135a3..9a66420 100644 --- a/modules/wms/wayland/module.nix +++ b/modules/wms/wayland/module.nix @@ -1,42 +1,5 @@ -{ - config, - lib, - pkgs, - ... -}: let - inherit (lib.modules) mkForce mkIf; - inherit (lib.options) mkEnableOption; - inherit (lib.lists) optional; -in { +_: { imports = [ ./variables.nix ]; - - xdg.portal = { - enable = true; - # Sets environment variable NIXOS_XDG_OPEN_USE_PORTAL to 1. - # This will make xdg-open use the portal to open programs, - # which resolves bugs involving programs opening inside FHS envs - # or with unexpected env vars set from wrappers. - # See #160923 for more info. - xdgOpenUsePortal = true; - extraPortals = - [ - pkgs.xdg-desktop-portal-gtk - ] - ++ ( - optional config.programs.niri.enable - pkgs.xdg-desktop-portal-gnome - ) - ++ ( - optional config.programs.hyprland.enable - pkgs.xdg-desktop-portal-hyprland - ); - config = { - common.default = mkIf config.programs.hyprland.enable ["*"]; - }; - configPackages = [ - pkgs.niri - ]; - }; } diff --git a/modules/wms/wayland/niri/module.nix b/modules/wms/wayland/niri/module.nix index e7e54a7..82612dd 100644 --- a/modules/wms/wayland/niri/module.nix +++ b/modules/wms/wayland/niri/module.nix @@ -52,5 +52,21 @@ in { inherit (pkgs) xwayland-satellite avizo; inherit new-swww; }; + + xdg.portal = { + enable = true; + xdgOpenUsePortal = true; + extraPortals = [ + pkgs.xdg-desktop-portal-gtk + pkgs.xdg-desktop-portal-gnome + ]; + config = { + common.default = ["*"]; + hyprland.default = ["gtk"]; + }; + configPackages = [ + pkgs.niri + ]; + }; }; } diff --git a/modules/wms/wayland/sway/module.nix b/modules/wms/wayland/sway/module.nix index cbaa95b..1a85c49 100644 --- a/modules/wms/wayland/sway/module.nix +++ b/modules/wms/wayland/sway/module.nix @@ -3,5 +3,6 @@ lib, pkgs, ... -}: { +}: let +in { } diff --git a/packages/fish/fishinit.nix b/packages/fish/fishinit.nix index 760a08a..2ec5749 100644 --- a/packages/fish/fishinit.nix +++ b/packages/fish/fishinit.nix @@ -9,15 +9,15 @@ pkgs.writeTextDir "${vendorConf}/blox_config.fish" # source ${pkgs.fishPlugins.sponge}/share/zsh-defer/zsh-defer.plugin.zsh ${pkgs.atuin}/bin/atuin init fish | source bind up _atuin_bind_up - + ${pkgs.zoxide}/bin/zoxide init fish | source # abbr --erase cd &>/dev/null # alias cd=__zoxide_z - + # abbr --erase ci &>/dev/null # alias ci=__zoxide_zi - - + + ${pkgs.starship}/bin/starship init fish | source ${pkgs.direnv}/bin/direnv hook fish | source ${pkgs.pay-respects}/bin/pay-respects fish --alias f --nocnf | source diff --git a/packages/helix/default.nix b/packages/helix/default.nix index 7f4bffb..730cee9 100644 --- a/packages/helix/default.nix +++ b/packages/helix/default.nix @@ -43,10 +43,12 @@ custom-helix = (helix.override {inherit rustPlatform;}).overrideAttrs - (finalAttrs: previousAttrs: { + (_: let + inherit (custom-helix) version; + in { version = "25.06.1"; src = fetchzip { - url = "https://github.com/bloxx12/helix/releases/download/${finalAttrs.version}/helix-${finalAttrs.version}-source.tar.xz"; + url = "https://github.com/bloxx12/helix/releases/download/${version}/helix-${version}-source.tar.xz"; hash = "sha256-941moaBUF+aGsbFapK1cp5+NFdecSfRCTdnVUtkDQps="; stripRoot = false; }; diff --git a/packages/helix/languages.nix b/packages/helix/languages.nix index c71a6e0..82c0343 100644 --- a/packages/helix/languages.nix +++ b/packages/helix/languages.nix @@ -162,7 +162,7 @@ config = { check = { command = "clippy"; - extraArgs = ["--" "-W" "clippy::pedantic" "-W" "clippy::nursery" "-W" "clippy::perf"]; + extraArgs = ["--" "-D" "clippy::pedantic" "-W" "clippy::nursery" "-W" "clippy::perf"]; }; cargo.features = "all"; }; diff --git a/shell.nix b/shell.nix new file mode 100644 index 0000000..c54b63d --- /dev/null +++ b/shell.nix @@ -0,0 +1,21 @@ +{ + mkShellNoCC, + git, + writeShellApplication, +}: +mkShellNoCC { + name = "nichts"; + + DIRENV_LOG_FORMAT = ""; + + packages = [ + git # take a guess + + (writeShellApplication { + name = "update"; + text = '' + nix flake update && git commit flake.lock -m "flake: bump inputs" + ''; + }) + ]; +}