diff options
author | Alan Pearce | 2023-03-14 21:43:19 +0100 |
---|---|---|
committer | Alan Pearce | 2023-03-14 21:43:19 +0100 |
commit | 6db9eaad8e78f882ae44a28edcc4d11d2ffd5e28 (patch) | |
tree | 7a126873d4a216438d835123843132d09eb2bfab | |
parent | fa2d41901d9fd10fd257c7ccc249ab29c5df2e33 (diff) | |
download | nixfiles-6db9eaad8e78f882ae44a28edcc4d11d2ffd5e28.tar.lz nixfiles-6db9eaad8e78f882ae44a28edcc4d11d2ffd5e28.tar.zst nixfiles-6db9eaad8e78f882ae44a28edcc4d11d2ffd5e28.zip |
Re-format with nixpkgs-fmt
104 files changed, 1224 insertions, 1270 deletions
diff --git a/flake.nix b/flake.nix index 1ccb92dd..a9aaa10d 100644 --- a/flake.nix +++ b/flake.nix @@ -12,45 +12,53 @@ }; }; - outputs = { - self, - darwin, - emacs-overlay, - home-manager, - nixpkgs, - secrets, - ... - } @ attrs: let - darwinSystem = "aarch64-darwin"; - darwinPkgs = nixpkgs.legacyPackages.${darwinSystem}; - nixosSystem = "x86_64-linux"; - nixosPkgs = nixpkgs.legacyPackages.${nixosSystem}; - aarch64LinuxSystem = "aarch64-linux"; - aarch64LinuxPackages = nixpkgs.legacyPackages.${aarch64LinuxSystem}; - in { - nixosConfigurations.prefect = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - specialArgs = attrs; - modules = [./system/prefect.nix]; + outputs = + { self + , darwin + , emacs-overlay + , home-manager + , nixpkgs + , secrets + , ... + } @ attrs: + let + darwinSystem = "aarch64-darwin"; + darwinPkgs = nixpkgs.legacyPackages.${darwinSystem}; + nixosSystem = "x86_64-linux"; + nixosPkgs = nixpkgs.legacyPackages.${nixosSystem}; + aarch64LinuxSystem = "aarch64-linux"; + aarch64LinuxPackages = nixpkgs.legacyPackages.${aarch64LinuxSystem}; + in + { + nixosConfigurations.prefect = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = attrs; + modules = [ ./system/prefect.nix ]; + }; + darwinConfigurations.mba = darwin.lib.darwinSystem { + system = darwinSystem; + specialArgs = attrs; + modules = [ ./system/mba.nix ]; + }; + homeConfigurations."alan@mba" = home-manager.lib.homeManagerConfiguration { + pkgs = darwinPkgs; + modules = [ + ./user/mba.nix + (secrets + "/default.nix") + ({ nixpkgs.overlays = [ emacs-overlay.overlay ]; }) + ]; + }; + homeConfigurations."alan@prefect" = home-manager.lib.homeManagerConfiguration { + pkgs = nixosPkgs; + modules = [ + ./user/prefect.nix + (secrets + "/default.nix") + ({ nixpkgs.overlays = [ emacs-overlay.overlay ]; }) + ]; + }; + homeConfigurations."alan@NanoPi.lan" = home-manager.lib.homeManagerConfiguration { + pkgs = aarch64LinuxPackages; + modules = [ ./user/server.nix ]; + }; }; - darwinConfigurations.mba = darwin.lib.darwinSystem { - system = darwinSystem; - specialArgs = attrs; - modules = [./system/mba.nix]; - }; - homeConfigurations."alan@mba" = home-manager.lib.homeManagerConfiguration { - pkgs = darwinPkgs; - modules = [./user/mba.nix (secrets + "/default.nix") - ({ nixpkgs.overlays = [emacs-overlay.overlay]; })]; - }; - homeConfigurations."alan@prefect" = home-manager.lib.homeManagerConfiguration { - pkgs = nixosPkgs; - modules = [./user/prefect.nix (secrets + "/default.nix") - ({ nixpkgs.overlays = [emacs-overlay.overlay]; })]; - }; - homeConfigurations."alan@NanoPi.lan" = home-manager.lib.homeManagerConfiguration { - pkgs = aarch64LinuxPackages; - modules = [./user/server.nix]; - }; - }; } diff --git a/private b/private -Subproject 76190407c70bf7a7502dc45b74a4bcea8d74dfc +Subproject 771ce7c0d938aa1ba2b179af83705c9325c9607 diff --git a/system/mba.nix b/system/mba.nix index d2452c4a..41059124 100644 --- a/system/mba.nix +++ b/system/mba.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { imports = [ ./settings/darwin.nix diff --git a/system/prefect.nix b/system/prefect.nix index 7891110a..ea65197a 100644 --- a/system/prefect.nix +++ b/system/prefect.nix @@ -1,10 +1,9 @@ -{ - config, - pkgs, - nixpkgs, - nixpkgs-unstable, - nixos-hardware, - ... +{ config +, pkgs +, nixpkgs +, nixpkgs-unstable +, nixos-hardware +, ... }: { imports = [ (nixos-hardware + "/common/pc/ssd") @@ -61,15 +60,15 @@ zenpower ]; - boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usbhid" "sd_mod"]; - boot.initrd.kernelModules = []; - boot.kernelModules = ["kvm-amd"]; + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; fileSystems = { "/" = { device = "/dev/disk/by-partlabel/nixos-root"; fsType = "f2fs"; - options = ["atgc" "gc_merge" "lazytime" "nodiscard"]; + options = [ "atgc" "gc_merge" "lazytime" "nodiscard" ]; }; "/boot" = { @@ -80,25 +79,25 @@ "/home" = { device = "/dev/disk/by-partlabel/home"; fsType = "ext4"; - options = ["lazytime" "nodiscard"]; + options = [ "lazytime" "nodiscard" ]; }; "/mnt/data" = { device = "/dev/disk/by-partlabel/data"; fsType = "ntfs3"; - options = ["uid=1000" "gid=100" "x-systemd-automount" "nofail"]; + options = [ "uid=1000" "gid=100" "x-systemd-automount" "nofail" ]; }; "/mnt/games" = { device = "/dev/disk/by-partlabel/games"; fsType = "ntfs3"; - options = ["uid=1000" "gid=100" "x-systemd-automount" "nofail"]; + options = [ "uid=1000" "gid=100" "x-systemd-automount" "nofail" ]; }; "/mnt/windows" = { device = "/dev/disk/by-partlabel/windows"; fsType = "ntfs3"; - options = ["x-systemd-automount" "nofail"]; + options = [ "x-systemd-automount" "nofail" ]; }; }; diff --git a/system/satoshipad.nix b/system/satoshipad.nix index 626f5900..d3f4c1a0 100644 --- a/system/satoshipad.nix +++ b/system/satoshipad.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { imports = [ ./hardware-configuration.nix diff --git a/system/settings/base.nix b/system/settings/base.nix index 1fa61d09..92cbb5bd 100644 --- a/system/settings/base.nix +++ b/system/settings/base.nix @@ -1,8 +1,7 @@ -{ - config, - pkgs, - lib, - ... +{ config +, pkgs +, lib +, ... }: { boot.loader.timeout = lib.mkDefault 1; services.irqbalance.enable = true; diff --git a/system/settings/configuration/berlin.nix b/system/settings/configuration/berlin.nix index bc8ed1fd..bdccea09 100644 --- a/system/settings/configuration/berlin.nix +++ b/system/settings/configuration/berlin.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { time.timeZone = "Europe/Berlin"; location = { diff --git a/system/settings/configuration/british-english.nix b/system/settings/configuration/british-english.nix index 4167016f..1ab51cb0 100644 --- a/system/settings/configuration/british-english.nix +++ b/system/settings/configuration/british-english.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { i18n.defaultLocale = "en_GB.UTF-8"; } diff --git a/system/settings/configuration/england.nix b/system/settings/configuration/england.nix index 2213ac74..1323b292 100644 --- a/system/settings/configuration/england.nix +++ b/system/settings/configuration/england.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { time.timeZone = "Europe/London"; services.redshift = { diff --git a/system/settings/configuration/networking.nix b/system/settings/configuration/networking.nix index 8d9f276f..ad4200b1 100644 --- a/system/settings/configuration/networking.nix +++ b/system/settings/configuration/networking.nix @@ -1,9 +1,8 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { - environment.systemPackages = with pkgs; [lxqt.lxqt-policykit]; # provides a default authentification client for policykit + environment.systemPackages = with pkgs; [ lxqt.lxqt-policykit ]; # provides a default authentification client for policykit services.gvfs.enable = true; # enables gvfs imports = [ diff --git a/system/settings/configuration/nix.nix b/system/settings/configuration/nix.nix index 7ae8f7f6..583f7982 100644 --- a/system/settings/configuration/nix.nix +++ b/system/settings/configuration/nix.nix @@ -1,13 +1,12 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { nix = { settings = { cores = 0; auto-optimise-store = true; - trusted-users = ["@wheel"]; + trusted-users = [ "@wheel" ]; }; daemonCPUSchedPolicy = "idle"; @@ -27,7 +26,7 @@ system.autoUpgrade = { enable = true; - flags = ["--max-jobs" "2"]; + flags = [ "--max-jobs" "2" ]; }; systemd.services.nixos-upgrade = { script = pkgs.lib.mkForce '' diff --git a/system/settings/configuration/user.nix b/system/settings/configuration/user.nix index ccb43323..482ddf91 100644 --- a/system/settings/configuration/user.nix +++ b/system/settings/configuration/user.nix @@ -1,12 +1,11 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { users.extraUsers.alan = { description = "Alan Pearce"; isNormalUser = true; - extraGroups = ["audio" "wheel" "lp" "adbusers" "docker" "nitrokey" "dialout" "pipewire" "networkmanager" "video"]; + extraGroups = [ "audio" "wheel" "lp" "adbusers" "docker" "nitrokey" "dialout" "pipewire" "networkmanager" "video" ]; shell = "/run/current-system/sw/bin/zsh"; initialPassword = "password"; home = "/home/alan"; diff --git a/system/settings/darwin.nix b/system/settings/darwin.nix index 1d64ff3b..ed890f13 100644 --- a/system/settings/darwin.nix +++ b/system/settings/darwin.nix @@ -1,8 +1,7 @@ -{ - config, - pkgs, - lib, - ... +{ config +, pkgs +, lib +, ... }: { services.nix-daemon = { enable = true; diff --git a/system/settings/gaming.nix b/system/settings/gaming.nix index b00aadb7..c112bb1d 100644 --- a/system/settings/gaming.nix +++ b/system/settings/gaming.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { security.rtkit.enable = true; programs.steam.enable = true; @@ -47,26 +46,26 @@ "rt.time.soft" = 200000; "rt.time.hard" = 200000; }; - flags = ["ifexists" "nofail"]; + flags = [ "ifexists" "nofail" ]; } - {name = "libpipewire-module-protocol-native";} - {name = "libpipewire-module-profiler";} - {name = "libpipewire-module-metadata";} - {name = "libpipewire-module-spa-device-factory";} - {name = "libpipewire-module-spa-node-factory";} - {name = "libpipewire-module-client-node";} - {name = "libpipewire-module-client-device";} + { name = "libpipewire-module-protocol-native"; } + { name = "libpipewire-module-profiler"; } + { name = "libpipewire-module-metadata"; } + { name = "libpipewire-module-spa-device-factory"; } + { name = "libpipewire-module-spa-node-factory"; } + { name = "libpipewire-module-client-node"; } + { name = "libpipewire-module-client-device"; } { name = "libpipewire-module-portal"; - flags = ["ifexists" "nofail"]; + flags = [ "ifexists" "nofail" ]; } { name = "libpipewire-module-access"; - args = {}; + args = { }; } - {name = "libpipewire-module-adapter";} - {name = "libpipewire-module-link-factory";} - {name = "libpipewire-module-session-manager";} + { name = "libpipewire-module-adapter"; } + { name = "libpipewire-module-link-factory"; } + { name = "libpipewire-module-session-manager"; } ]; "stream.properties" = { "node.latency" = "32/44100"; diff --git a/system/settings/hardware/adb.nix b/system/settings/hardware/adb.nix index be151695..d7025d7e 100644 --- a/system/settings/hardware/adb.nix +++ b/system/settings/hardware/adb.nix @@ -1,12 +1,11 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { programs.adb.enable = true; - users.groups.adbusers = {}; + users.groups.adbusers = { }; services.udev = { - packages = [pkgs.android-udev-rules]; + packages = [ pkgs.android-udev-rules ]; }; } diff --git a/system/settings/hardware/audio.nix b/system/settings/hardware/audio.nix index 823edaeb..57055942 100644 --- a/system/settings/hardware/audio.nix +++ b/system/settings/hardware/audio.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { services.pipewire = { enable = true; diff --git a/system/settings/hardware/bare-metal.nix b/system/settings/hardware/bare-metal.nix index 0b8ce6d2..bd528fda 100644 --- a/system/settings/hardware/bare-metal.nix +++ b/system/settings/hardware/bare-metal.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { environment.systemPackages = with pkgs; [ exfat @@ -31,7 +30,7 @@ ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="bfq" ''; - boot.kernelModules = ["tcp_bbr"]; + boot.kernelModules = [ "tcp_bbr" ]; boot.kernel.sysctl = { "net.core.default_qdisc" = "cake"; "net.ipv4.tcp_allowed_congestion_control" = "bbr illinois reno lp"; @@ -47,6 +46,6 @@ }; boot.tmpOnTmpfs = true; - fileSystems."/".options = ["noatime" "nodiratime"]; - fileSystems."/home".options = ["noatime" "nodiratime"]; + fileSystems."/".options = [ "noatime" "nodiratime" ]; + fileSystems."/home".options = [ "noatime" "nodiratime" ]; } diff --git a/system/settings/hardware/bluetooth-audio.nix b/system/settings/hardware/bluetooth-audio.nix index 26e3ca70..d368cb29 100644 --- a/system/settings/hardware/bluetooth-audio.nix +++ b/system/settings/hardware/bluetooth-audio.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { hardware = { bluetooth = { diff --git a/system/settings/hardware/bluetooth.nix b/system/settings/hardware/bluetooth.nix index 54a1792a..b92cd881 100644 --- a/system/settings/hardware/bluetooth.nix +++ b/system/settings/hardware/bluetooth.nix @@ -1,8 +1,7 @@ -{ - config, - pkgs, - lib, - ... +{ config +, pkgs +, lib +, ... }: { hardware = { bluetooth = { diff --git a/system/settings/hardware/connman.nix b/system/settings/hardware/connman.nix index e8e04244..5e8d0227 100644 --- a/system/settings/hardware/connman.nix +++ b/system/settings/hardware/connman.nix @@ -1,12 +1,11 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { services.connman = { enable = true; enableVPN = false; - extraFlags = ["--nodnsproxy"]; + extraFlags = [ "--nodnsproxy" ]; }; networking.useDHCP = false; diff --git a/system/settings/hardware/grub2.nix b/system/settings/hardware/grub2.nix index a020baa7..7b4b2e39 100644 --- a/system/settings/hardware/grub2.nix +++ b/system/settings/hardware/grub2.nix @@ -1,8 +1,7 @@ -{ - config, - pkgs, - lib, - ... +{ config +, pkgs +, lib +, ... }: { boot.loader = { grub = { diff --git a/system/settings/hardware/intel-gpu.nix b/system/settings/hardware/intel-gpu.nix index c606de79..494cb86e 100644 --- a/system/settings/hardware/intel-gpu.nix +++ b/system/settings/hardware/intel-gpu.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { # https://wiki.gentoo.org/wiki/Intel#Feature_support services.xserver = { @@ -9,7 +8,7 @@ deviceSection = '' Option "DRI" "3" ''; - videoDrivers = ["intel"]; + videoDrivers = [ "intel" ]; }; boot.kernelParams = [ diff --git a/system/settings/hardware/iwd.nix b/system/settings/hardware/iwd.nix index c0090f26..45d0ffdb 100644 --- a/system/settings/hardware/iwd.nix +++ b/system/settings/hardware/iwd.nix @@ -1,12 +1,11 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { networking.wireless.iwd = { enable = true; }; - users.users.alan.extraGroups = ["network"]; + users.users.alan.extraGroups = [ "network" ]; services.connman.wifi.backend = "iwd"; } diff --git a/system/settings/hardware/keyboard.nix b/system/settings/hardware/keyboard.nix index 6e06618f..20030760 100644 --- a/system/settings/hardware/keyboard.nix +++ b/system/settings/hardware/keyboard.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { services.xserver = { layout = "us,de"; diff --git a/system/settings/hardware/keyboardio-model01.nix b/system/settings/hardware/keyboardio-model01.nix index c10533bd..450ae6d0 100644 --- a/system/settings/hardware/keyboardio-model01.nix +++ b/system/settings/hardware/keyboardio-model01.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { services.udev.extraRules = '' SUBSYSTEMS=="usb", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="2300", SYMLINK+="model01", ENV{ID_MM_DEVICE_IGNORE}:="1", ENV{ID_MM_CANDIDATE}:="0" diff --git a/system/settings/hardware/laptop.nix b/system/settings/hardware/laptop.nix index 32479ad1..bd66fb8f 100644 --- a/system/settings/hardware/laptop.nix +++ b/system/settings/hardware/laptop.nix @@ -1,8 +1,7 @@ -{ - config, - pkgs, - lib, - ... +{ config +, pkgs +, lib +, ... }: { imports = [ ./bluetooth.nix @@ -13,7 +12,7 @@ ../user-interface.nix ]; - boot.kernelModules = ["coretemp"]; + boot.kernelModules = [ "coretemp" ]; environment.systemPackages = with pkgs; [ powerstat @@ -29,7 +28,7 @@ enable = true; defaultTarget = "common"; }; - systemd.services.autorandr.wantedBy = ["graphical.target"]; + systemd.services.autorandr.wantedBy = [ "graphical.target" ]; environment.etc.autorandr = { enable = true; diff --git a/system/settings/hardware/mouse.nix b/system/settings/hardware/mouse.nix index 6104ea47..b74d17aa 100644 --- a/system/settings/hardware/mouse.nix +++ b/system/settings/hardware/mouse.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { services.xserver.libinput = { enable = true; diff --git a/system/settings/hardware/network-manager.nix b/system/settings/hardware/network-manager.nix index 22711b10..a27ca892 100644 --- a/system/settings/hardware/network-manager.nix +++ b/system/settings/hardware/network-manager.nix @@ -1,8 +1,7 @@ -{ - config, - lib, - pkgs, - ... +{ config +, lib +, pkgs +, ... }: { networking = { networkmanager = { diff --git a/system/settings/hardware/nitrokey.nix b/system/settings/hardware/nitrokey.nix index 58e62195..ae402b34 100644 --- a/system/settings/hardware/nitrokey.nix +++ b/system/settings/hardware/nitrokey.nix @@ -1,8 +1,7 @@ -{ - config, - pkgs, - lib, - ... +{ config +, pkgs +, lib +, ... }: { hardware.nitrokey = { enable = true; diff --git a/system/settings/hardware/nvidia-gpu.nix b/system/settings/hardware/nvidia-gpu.nix index 40c148ec..8aa3f104 100644 --- a/system/settings/hardware/nvidia-gpu.nix +++ b/system/settings/hardware/nvidia-gpu.nix @@ -1,15 +1,16 @@ -{ - config, - pkgs, - lib, - ... -}: let +{ config +, pkgs +, lib +, ... +}: +let nvidia_x11 = config.boot.kernelPackages.nvidia_x11; -in { - services.xserver.videoDrivers = ["nvidia"]; +in +{ + services.xserver.videoDrivers = [ "nvidia" ]; boot = { - blacklistedKernelModules = ["nouveau"]; - extraModulePackages = [nvidia_x11]; + blacklistedKernelModules = [ "nouveau" ]; + extraModulePackages = [ nvidia_x11 ]; }; environment.systemPackages = [ nvidia_x11 pkgs.nvidia-vaapi-driver ]; diff --git a/system/settings/hardware/nvme-root.nix b/system/settings/hardware/nvme-root.nix index 310a0482..90f5248a 100644 --- a/system/settings/hardware/nvme-root.nix +++ b/system/settings/hardware/nvme-root.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { - boot.kernelParams = ["elevator=none"]; + boot.kernelParams = [ "elevator=none" ]; } diff --git a/system/settings/hardware/personal-computer.nix b/system/settings/hardware/personal-computer.nix index e7160950..35824136 100644 --- a/system/settings/hardware/personal-computer.nix +++ b/system/settings/hardware/personal-computer.nix @@ -1,8 +1,7 @@ -{ - config, - pkgs, - lib, - ... +{ config +, pkgs +, lib +, ... }: { boot.kernelPackages = lib.mkDefault pkgs.linuxPackages_zen; powerManagement.cpuFreqGovernor = "schedutil"; diff --git a/system/settings/hardware/printing.nix b/system/settings/hardware/printing.nix index 474b37b7..2cb3b62c 100644 --- a/system/settings/hardware/printing.nix +++ b/system/settings/hardware/printing.nix @@ -1,17 +1,16 @@ -{ - config, - pkgs, - lib, - ... +{ config +, pkgs +, lib +, ... }: { services.printing.enable = true; - systemd.services.cups.wantedBy = lib.mkForce []; - systemd.sockets.cups.wantedBy = ["sockets.target"]; - systemd.services.cups-browsed.wantedBy = lib.mkForce []; + systemd.services.cups.wantedBy = lib.mkForce [ ]; + systemd.sockets.cups.wantedBy = [ "sockets.target" ]; + systemd.services.cups-browsed.wantedBy = lib.mkForce [ ]; systemd.timers.cups-browsed = { description = "Delayed startup of CUPS Remote Printer Discovery"; - wantedBy = ["timers.target"]; + wantedBy = [ "timers.target" ]; timerConfig = { OnActiveSec = "2 min"; }; diff --git a/system/settings/hardware/systemd-boot.nix b/system/settings/hardware/systemd-boot.nix index e8c06527..9a94dcf8 100644 --- a/system/settings/hardware/systemd-boot.nix +++ b/system/settings/hardware/systemd-boot.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { boot.loader.systemd-boot = { enable = true; diff --git a/system/settings/hardware/thinkpad.nix b/system/settings/hardware/thinkpad.nix index 99d91263..649f626a 100644 --- a/system/settings/hardware/thinkpad.nix +++ b/system/settings/hardware/thinkpad.nix @@ -1,10 +1,9 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { - boot.kernelModules = []; - boot.blacklistedKernelModules = ["thinkpad_ec"]; + boot.kernelModules = [ ]; + boot.blacklistedKernelModules = [ "thinkpad_ec" ]; boot.extraModulePackages = with config.boot.kernelPackages; [ acpi_call ]; diff --git a/system/settings/hardware/trackball.nix b/system/settings/hardware/trackball.nix index 7445c5bb..c2f7e68c 100644 --- a/system/settings/hardware/trackball.nix +++ b/system/settings/hardware/trackball.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { services.xserver.config = '' Section "InputClass" diff --git a/system/settings/hardware/trezor.nix b/system/settings/hardware/trezor.nix index e24fc92e..1004833a 100644 --- a/system/settings/hardware/trezor.nix +++ b/system/settings/hardware/trezor.nix @@ -1,14 +1,13 @@ -{ - config, - lib, - pkgs, - ... +{ config +, lib +, pkgs +, ... }: { services.trezord.enable = true; environment.systemPackages = with pkgs; [ gnupg pinentry - (python3.withPackages (ps: with ps; [trezor_agent wheel])) + (python3.withPackages (ps: with ps; [ trezor_agent wheel ])) trezor-suite ]; programs.gnupg.agent = { diff --git a/system/settings/kubernetes.nix b/system/settings/kubernetes.nix index 8c171fc5..e460e2f9 100644 --- a/system/settings/kubernetes.nix +++ b/system/settings/kubernetes.nix @@ -1,10 +1,9 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { networking.bridges = { - cbr0.interfaces = []; + cbr0.interfaces = [ ]; }; networking.interfaces = { cbr0 = { @@ -16,7 +15,7 @@ ]; }; }; - services.kubernetes.roles = ["master" "node"]; + services.kubernetes.roles = [ "master" "node" ]; services.kubernetes.kubelet.extraOpts = "--fail-swap-on=false"; virtualisation.docker.extraOptions = '' --iptables=false --ip-masq=false -b cbr0 diff --git a/system/settings/machines/t470s.nix b/system/settings/machines/t470s.nix index c1a82912..5f1f4a1c 100644 --- a/system/settings/machines/t470s.nix +++ b/system/settings/machines/t470s.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { hardware.usbWwan.enable = false; # unused systemd.services.ModemManager.enable = false; diff --git a/system/settings/programs/barrier.nix b/system/settings/programs/barrier.nix index 788021d5..76e1b06b 100644 --- a/system/settings/programs/barrier.nix +++ b/system/settings/programs/barrier.nix @@ -1,11 +1,10 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { environment.systemPackages = with pkgs; [ barrier ]; - networking.firewall.allowedTCPPorts = [24800]; + networking.firewall.allowedTCPPorts = [ 24800 ]; } diff --git a/system/settings/programs/base.nix b/system/settings/programs/base.nix index f09beb75..7f51271e 100644 --- a/system/settings/programs/base.nix +++ b/system/settings/programs/base.nix @@ -1,4 +1,4 @@ -{pkgs, ...}: { +{ pkgs, ... }: { environment.systemPackages = with pkgs; [ cachix home-manager @@ -6,7 +6,7 @@ zstd ]; nix.settings = { - trusted-substituters = ["https://nix-community.cachix.org"]; - trusted-public-keys = ["nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="]; + trusted-substituters = [ "https://nix-community.cachix.org" ]; + trusted-public-keys = [ "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" ]; }; } diff --git a/system/settings/programs/gnome.nix b/system/settings/programs/gnome.nix index 3ccac864..f9618009 100644 --- a/system/settings/programs/gnome.nix +++ b/system/settings/programs/gnome.nix @@ -1,8 +1,7 @@ -{ - config, - lib, - pkgs, - ... +{ config +, lib +, pkgs +, ... }: with lib; { services = { diff --git a/system/settings/programs/gnupg.nix b/system/settings/programs/gnupg.nix index 9899c23b..f17263c9 100644 --- a/system/settings/programs/gnupg.nix +++ b/system/settings/programs/gnupg.nix @@ -1,13 +1,12 @@ -{ - config, - pkgs, - lib, - ... +{ config +, pkgs +, lib +, ... }: { environment.systemPackages = with pkgs; [ gnupg pinentry - (python3.withPackages (ps: with ps; [trezor_agent wheel])) + (python3.withPackages (ps: with ps; [ trezor_agent wheel ])) ]; environment.variables.GNUPGHOME = "$HOME/.gnupg/trezor/"; } diff --git a/system/settings/programs/i3.nix b/system/settings/programs/i3.nix index 4cf4a82a..7d172659 100644 --- a/system/settings/programs/i3.nix +++ b/system/settings/programs/i3.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { services.xserver.windowManager = { i3 = { diff --git a/system/settings/programs/kde.nix b/system/settings/programs/kde.nix index 9d77eeb5..c67fcfc1 100644 --- a/system/settings/programs/kde.nix +++ b/system/settings/programs/kde.nix @@ -1,8 +1,7 @@ -{ - config, - lib, - pkgs, - ... +{ config +, lib +, pkgs +, ... }: with lib; { services = { diff --git a/system/settings/programs/shell.nix b/system/settings/programs/shell.nix index 6f4b793a..c0e50690 100644 --- a/system/settings/programs/shell.nix +++ b/system/settings/programs/shell.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { programs.zsh = { @@ -10,7 +9,7 @@ } // ( if pkgs.stdenv.isDarwin - then {} + then { } else { enableGlobalCompInit = false; } diff --git a/system/settings/programs/tor.nix b/system/settings/programs/tor.nix index 80e2fdf2..31521857 100644 --- a/system/settings/programs/tor.nix +++ b/system/settings/programs/tor.nix @@ -1,8 +1,7 @@ -{ - config, - pkgs, - lib, - ... +{ config +, pkgs +, lib +, ... }: { services.tor = { enable = true; @@ -17,10 +16,10 @@ enable = true; }; }; - systemd.services.tor.wantedBy = lib.mkForce []; + systemd.services.tor.wantedBy = lib.mkForce [ ]; systemd.timers.tor = { description = "Delayed startup of Tor"; - wantedBy = ["timers.target"]; + wantedBy = [ "timers.target" ]; timerConfig = { OnActiveSec = "1 min"; }; diff --git a/system/settings/programs/window-manager.nix b/system/settings/programs/window-manager.nix index bad60797..e22609fe 100644 --- a/system/settings/programs/window-manager.nix +++ b/system/settings/programs/window-manager.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { services.xserver = { desktopManager.xterm.enable = false; diff --git a/system/settings/satoshipay.nix b/system/settings/satoshipay.nix index 96c69711..2f520411 100644 --- a/system/settings/satoshipay.nix +++ b/system/settings/satoshipay.nix @@ -1,10 +1,10 @@ -{ - config, - pkgs, - fetchurl, - lib, - ... -}: let +{ config +, pkgs +, fetchurl +, lib +, ... +}: +let dockerConfig = { ipv6 = true; fixed-cidr-v6 = "fd69:2074:9fcd:b0fd::/64"; @@ -12,7 +12,8 @@ buildkit = true; }; }; -in { +in +{ virtualisation = { docker = { enable = true; diff --git a/system/settings/services/airplay-sink.nix b/system/settings/services/airplay-sink.nix index 4621706e..f03f7641 100644 --- a/system/settings/services/airplay-sink.nix +++ b/system/settings/services/airplay-sink.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { services.pipewire.systemWide = false; services.shairport-sync = { diff --git a/system/settings/services/samba.nix b/system/settings/services/samba.nix index 729a6756..ae6c6f5a 100644 --- a/system/settings/services/samba.nix +++ b/system/settings/services/samba.nix @@ -1,16 +1,17 @@ -{ - config, - pkgs, - ... -}: let +{ config +, pkgs +, ... +}: +let workgroup = "WORKGROUP"; -in { +in +{ services.samba-wsdd = { inherit workgroup; enable = true; }; - networking.firewall.allowedTCPPorts = [5357]; - networking.firewall.allowedUDPPorts = [3702]; + networking.firewall.allowedTCPPorts = [ 5357 ]; + networking.firewall.allowedUDPPorts = [ 3702 ]; services.samba = { enable = true; diff --git a/system/settings/services/syncthing.nix b/system/settings/services/syncthing.nix index b504bde3..3623b875 100644 --- a/system/settings/services/syncthing.nix +++ b/system/settings/services/syncthing.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { services.syncthing = { enable = true; diff --git a/system/settings/services/virtualisation.nix b/system/settings/services/virtualisation.nix index 8056387c..dbe041c7 100644 --- a/system/settings/services/virtualisation.nix +++ b/system/settings/services/virtualisation.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { virtualisation.libvirtd = { enable = true; diff --git a/system/settings/services/xserver.nix b/system/settings/services/xserver.nix index 7e2a7c49..7ce0dbb2 100644 --- a/system/settings/services/xserver.nix +++ b/system/settings/services/xserver.nix @@ -1,8 +1,7 @@ -{ - config, - lib, - pkgs, - ... +{ config +, lib +, pkgs +, ... }: with lib; { services.xserver = { @@ -41,9 +40,9 @@ with lib; { }; useEmbeddedBitmaps = !config.fonts.fontconfig.antialias; defaultFonts = { - monospace = ["IBM Plex Mono"]; - sansSerif = ["Cantarell"]; - serif = ["Times New Roman"]; + monospace = [ "IBM Plex Mono" ]; + sansSerif = [ "Cantarell" ]; + serif = [ "Times New Roman" ]; }; localConf = '' diff --git a/system/settings/services/zeroconf.nix b/system/settings/services/zeroconf.nix index 6859cfd5..1412b1f0 100644 --- a/system/settings/services/zeroconf.nix +++ b/system/settings/services/zeroconf.nix @@ -1,8 +1,7 @@ -{ - config, - pkgs, - lib, - ... +{ config +, pkgs +, lib +, ... }: { services.avahi = { enable = true; @@ -16,10 +15,10 @@ workstation = true; }; }; - systemd.services.avahi-daemon.wantedBy = lib.mkForce []; + systemd.services.avahi-daemon.wantedBy = lib.mkForce [ ]; systemd.timers.avahi-daemon = { description = "Delayed startup of Avahi"; - wantedBy = ["timers.target"]; + wantedBy = [ "timers.target" ]; timerConfig = { OnActiveSec = "1 min"; }; diff --git a/system/settings/user-interface.nix b/system/settings/user-interface.nix index 577ecdc1..8dca1e10 100644 --- a/system/settings/user-interface.nix +++ b/system/settings/user-interface.nix @@ -1,14 +1,13 @@ -{ - config, - pkgs, - lib, - makeDesktopItem, - ... +{ config +, pkgs +, lib +, makeDesktopItem +, ... }: { documentation.info.enable = true; nixpkgs.config.firefox.enableOfficialBranding = true; - environment.pathsToLink = ["/share/zsh"]; + environment.pathsToLink = [ "/share/zsh" ]; environment.systemPackages = with pkgs; [ aria2 @@ -33,7 +32,7 @@ services.devmon.enable = true; systemd.user.services.trash-clean = { - path = with pkgs; [trash-cli]; + path = with pkgs; [ trash-cli ]; description = "Remove old files from FreeDesktop.org trash"; serviceConfig = { @@ -42,7 +41,7 @@ script = "trash-empty 30"; }; systemd.user.timers.trash-clean = { - wantedBy = ["default.target"]; + wantedBy = [ "default.target" ]; timerConfig = { OnCalendar = "weekly"; Persistent = true; diff --git a/user/config.nix b/user/config.nix index d138ff20..a910c0a2 100644 --- a/user/config.nix +++ b/user/config.nix @@ -1,4 +1,4 @@ -{pkgs}: { +{ pkgs }: { allowUnfree = true; allowUnfreePredicate = pkg: true; } diff --git a/user/mba.nix b/user/mba.nix index 6bd740a9..8f052be6 100644 --- a/user/mba.nix +++ b/user/mba.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { imports = [ ./settings/base.nix diff --git a/user/modules/eshell.nix b/user/modules/eshell.nix index fd108af6..822b4262 100644 --- a/user/modules/eshell.nix +++ b/user/modules/eshell.nix @@ -1,15 +1,15 @@ -{ - config, - lib, - pkgs, - ... +{ config +, lib +, pkgs +, ... }: with lib; let cfg = config.programs.emacs; -in { +in +{ options.programs.emacs.eshell = { aliases = mkOption { - default = {}; + default = { }; type = types.attrsOf types.str; example = { ll = "ls -l $*"; diff --git a/user/modules/tabnine.nix b/user/modules/tabnine.nix index 261176dc..7e38e0ec 100644 --- a/user/modules/tabnine.nix +++ b/user/modules/tabnine.nix @@ -1,26 +1,26 @@ -{ - config, - lib, - pkgs, - ... +{ config +, lib +, pkgs +, ... }: with lib; let inherit (pkgs) stdenv; cfg = config.programs.tabnine; lspConfigFile = config: pkgs.runCommand "TabNine.toml" - { - buildInputs = [pkgs.remarshal]; - preferLocalBuild = true; - allowSubstitutes = false; - } - '' - remarshal -if json -of toml \ - < ${pkgs.writeText "config.json" (builtins.toJSON cfg.lspConfig)} \ - | sed -e 's/^\["\(.*\)"\]/[\1]/' \ - > $out - ''; -in { + { + buildInputs = [ pkgs.remarshal ]; + preferLocalBuild = true; + allowSubstitutes = false; + } + '' + remarshal -if json -of toml \ + < ${pkgs.writeText "config.json" (builtins.toJSON cfg.lspConfig)} \ + | sed -e 's/^\["\(.*\)"\]/[\1]/' \ + > $out + ''; +in +{ options.programs.tabnine = { enable = mkEnableOption "TabNine, Smart Compose for code."; @@ -37,7 +37,7 @@ in { config = mkOption { type = types.attrs; - default = {}; + default = { }; description = '' TabNine configuration written to <filename>\${configDir}/tabnine_config.json</filename> @@ -53,7 +53,7 @@ in { lspConfig = mkOption { type = types.attrs; - default = {}; + default = { }; description = '' LSP Server configuration written to <filename>\${configDir}/TabNine.toml</filename> diff --git a/user/overlays/extra-packages.nix b/user/overlays/extra-packages.nix index ec315586..7566548c 100644 --- a/user/overlays/extra-packages.nix +++ b/user/overlays/extra-packages.nix @@ -1,3 +1,3 @@ self: super: { - lumen = super.callPackage ../packages/lumen {}; + lumen = super.callPackage ../packages/lumen { }; } diff --git a/user/packages/lumen/default.nix b/user/packages/lumen/default.nix index 91e1b726..85520a2f 100644 --- a/user/packages/lumen/default.nix +++ b/user/packages/lumen/default.nix @@ -1,9 +1,9 @@ -{ - stdenv, - lib, - go, - buildGoPackage, - fetchFromGitHub, +{ stdenv +, lib +, go +, buildGoPackage +, fetchFromGitHub +, }: buildGoPackage rec { pname = "lumen"; diff --git a/user/packages/node2nix/default.nix b/user/packages/node2nix/default.nix index 09eea0fe..13d7a1e2 100644 --- a/user/packages/node2nix/default.nix +++ b/user/packages/node2nix/default.nix @@ -1,12 +1,12 @@ # This file has been generated by node2nix 1.11.1. Do not edit! -{ - pkgs ? - import <nixpkgs> { - inherit system; - }, - system ? builtins.currentSystem, - nodejs ? pkgs."nodejs-18_x", -}: let +{ pkgs ? import <nixpkgs> { + inherit system; + } +, system ? builtins.currentSystem +, nodejs ? pkgs."nodejs-18_x" +, +}: +let nodeEnv = import ./node-env.nix { inherit (pkgs) stdenv lib python2 runCommand writeTextFile writeShellScript; inherit pkgs nodejs; @@ -16,7 +16,7 @@ else null; }; in - import ./node-packages.nix { - inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit; - inherit nodeEnv; - } +import ./node-packages.nix { + inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit; + inherit nodeEnv; +} diff --git a/user/packages/node2nix/node-env.nix b/user/packages/node2nix/node-env.nix index b81347da..16720d90 100644 --- a/user/packages/node2nix/node-env.nix +++ b/user/packages/node2nix/node-env.nix @@ -1,15 +1,16 @@ # This file originates from node2nix -{ - lib, - stdenv, - nodejs, - python2, - pkgs, - libtool, - runCommand, - writeTextFile, - writeShellScript, -}: let +{ lib +, stdenv +, nodejs +, python2 +, pkgs +, libtool +, runCommand +, writeTextFile +, writeShellScript +, +}: +let # Workaround to cope with utillinux in Nixpkgs 20.09 and util-linux in Nixpkgs master utillinux = if pkgs ? utillinux @@ -22,7 +23,7 @@ else python2; # Create a tar wrapper that filters all the 'Ignoring unknown extended header keyword' noise - tarWrapper = runCommand "tarWrapper" {} '' + tarWrapper = runCommand "tarWrapper" { } '' mkdir -p $out/bin cat > $out/bin/tar <<EOF @@ -34,16 +35,16 @@ ''; # Function that generates a TGZ file from a NPM project - buildNodeSourceDist = { - name, - version, - src, - ... - }: + buildNodeSourceDist = + { name + , version + , src + , ... + }: stdenv.mkDerivation { name = "node-tarball-${name}-${version}"; inherit src; - buildInputs = [nodejs]; + buildInputs = [ nodejs ]; buildPhase = '' export HOME=$TMPDIR tgzFile=$(npm pack | tail -n 1) # Hooks to the pack command will add output (https://docs.npmjs.com/misc/scripts) @@ -106,13 +107,14 @@ # Bundle the dependencies of the package # # Only include dependencies if they don't exist. They may also be bundled in the package. - includeDependencies = {dependencies}: - lib.optionalString (dependencies != []) ( + includeDependencies = { dependencies }: + lib.optionalString (dependencies != [ ]) ( '' mkdir -p node_modules cd node_modules '' - + (lib.concatMapStrings ( + + (lib.concatMapStrings + ( dependency: '' if [ ! -e "${dependency.packageName}" ]; then ${composePackage dependency} @@ -126,13 +128,13 @@ ); # Recursively composes the dependencies of a package - composePackage = { - name, - packageName, - src, - dependencies ? [], - ... - } @ args: + composePackage = + { name + , packageName + , src + , dependencies ? [ ] + , ... + } @ args: builtins.addErrorContext "while evaluating node package '${packageName}'" '' installPackage "${packageName}" "${src}" ${includeDependencies {inherit dependencies;}} @@ -140,106 +142,109 @@ ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."} ''; - pinpointDependencies = { - dependencies, - production, - }: let - pinpointDependenciesFromPackageJSON = writeTextFile { - name = "pinpointDependencies.js"; - text = '' - var fs = require('fs'); - var path = require('path'); - - function resolveDependencyVersion(location, name) { - if(location == process.env['NIX_STORE']) { - return null; - } else { - var dependencyPackageJSON = path.join(location, "node_modules", name, "package.json"); - - if(fs.existsSync(dependencyPackageJSON)) { - var dependencyPackageObj = JSON.parse(fs.readFileSync(dependencyPackageJSON)); - - if(dependencyPackageObj.name == name) { - return dependencyPackageObj.version; - } - } else { - return resolveDependencyVersion(path.resolve(location, ".."), name); - } - } - } + pinpointDependencies = + { dependencies + , production + , + }: + let + pinpointDependenciesFromPackageJSON = writeTextFile { + name = "pinpointDependencies.js"; + text = '' + var fs = require('fs'); + var path = require('path'); + + function resolveDependencyVersion(location, name) { + if(location == process.env['NIX_STORE']) { + return null; + } else { + var dependencyPackageJSON = path.join(location, "node_modules", name, "package.json"); + + if(fs.existsSync(dependencyPackageJSON)) { + var dependencyPackageObj = JSON.parse(fs.readFileSync(dependencyPackageJSON)); + + if(dependencyPackageObj.name == name) { + return dependencyPackageObj.version; + } + } else { + return resolveDependencyVersion(path.resolve(location, ".."), name); + } + } + } - function replaceDependencies(dependencies) { - if(typeof dependencies == "object" && dependencies !== null) { - for(var dependency in dependencies) { - var resolvedVersion = resolveDependencyVersion(process.cwd(), dependency); + function replaceDependencies(dependencies) { + if(typeof dependencies == "object" && dependencies !== null) { + for(var dependency in dependencies) { + var resolvedVersion = resolveDependencyVersion(process.cwd(), dependency); - if(resolvedVersion === null) { - process.stderr.write("WARNING: cannot pinpoint dependency: "+dependency+", context: "+process.cwd()+"\n"); - } else { - dependencies[dependency] = resolvedVersion; - } - } - } - } + if(resolvedVersion === null) { + process.stderr.write("WARNING: cannot pinpoint dependency: "+dependency+", context: "+process.cwd()+"\n"); + } else { + dependencies[dependency] = resolvedVersion; + } + } + } + } - /* Read the package.json configuration */ - var packageObj = JSON.parse(fs.readFileSync('./package.json')); + /* Read the package.json configuration */ + var packageObj = JSON.parse(fs.readFileSync('./package.json')); - /* Pinpoint all dependencies */ - replaceDependencies(packageObj.dependencies); - if(process.argv[2] == "development") { - replaceDependencies(packageObj.devDependencies); - } - else { - packageObj.devDependencies = {}; - } - replaceDependencies(packageObj.optionalDependencies); - replaceDependencies(packageObj.peerDependencies); + /* Pinpoint all dependencies */ + replaceDependencies(packageObj.dependencies); + if(process.argv[2] == "development") { + replaceDependencies(packageObj.devDependencies); + } + else { + packageObj.devDependencies = {}; + } + replaceDependencies(packageObj.optionalDependencies); + replaceDependencies(packageObj.peerDependencies); - /* Write the fixed package.json file */ - fs.writeFileSync("package.json", JSON.stringify(packageObj, null, 2)); - ''; - }; - in '' - node ${pinpointDependenciesFromPackageJSON} ${ - if production - then "production" - else "development" - } + /* Write the fixed package.json file */ + fs.writeFileSync("package.json", JSON.stringify(packageObj, null, 2)); + ''; + }; + in + '' + node ${pinpointDependenciesFromPackageJSON} ${ + if production + then "production" + else "development" + } - ${lib.optionalString (dependencies != []) - '' - if [ -d node_modules ] - then - cd node_modules - ${lib.concatMapStrings (dependency: pinpointDependenciesOfPackage dependency) dependencies} - cd .. - fi - ''} - ''; + ${lib.optionalString (dependencies != []) + '' + if [ -d node_modules ] + then + cd node_modules + ${lib.concatMapStrings (dependency: pinpointDependenciesOfPackage dependency) dependencies} + cd .. + fi + ''} + ''; # Recursively traverses all dependencies of a package and pinpoints all # dependencies in the package.json file to the versions that are actually # being used. - pinpointDependenciesOfPackage = { - packageName, - dependencies ? [], - production ? true, - ... - } @ args: '' - if [ -d "${packageName}" ] - then - cd "${packageName}" - ${pinpointDependencies {inherit dependencies production;}} - cd .. - ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."} - fi - ''; + pinpointDependenciesOfPackage = + { packageName + , dependencies ? [ ] + , production ? true + , ... + } @ args: '' + if [ -d "${packageName}" ] + then + cd "${packageName}" + ${pinpointDependencies {inherit dependencies production;}} + cd .. + ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."} + fi + ''; # Extract the Node.js source code which is used to compile packages with # native bindings - nodeSources = runCommand "node-sources" {} '' + nodeSources = runCommand "node-sources" { } '' tar --no-same-owner --no-same-permissions -xf ${nodejs.src} mv node-* $out ''; @@ -446,293 +451,300 @@ ''; }; - prepareAndInvokeNPM = { - packageName, - bypassCache, - reconstructLock, - npmFlags, - production, - }: let - forceOfflineFlag = - if bypassCache - then "--offline" - else "--registry http://www.example.com"; - in '' - # Pinpoint the versions of all dependencies to the ones that are actually being used - echo "pinpointing versions of dependencies..." - source $pinpointDependenciesScriptPath - - # Patch the shebangs of the bundled modules to prevent them from - # calling executables outside the Nix store as much as possible - patchShebangs . - - # Deploy the Node.js package by running npm install. Since the - # dependencies have been provided already by ourselves, it should not - # attempt to install them again, which is good, because we want to make - # it Nix's responsibility. If it needs to install any dependencies - # anyway (e.g. because the dependency parameters are - # incomplete/incorrect), it fails. - # - # The other responsibilities of NPM are kept -- version checks, build - # steps, postprocessing etc. - - export HOME=$TMPDIR - cd "${packageName}" - runHook preRebuild - - ${lib.optionalString bypassCache '' - ${lib.optionalString reconstructLock '' - if [ -f package-lock.json ] - then - echo "WARNING: Reconstruct lock option enabled, but a lock file already exists!" - echo "This will most likely result in version mismatches! We will remove the lock file and regenerate it!" - rm package-lock.json - else - echo "No package-lock.json file found, reconstructing..." - fi + prepareAndInvokeNPM = + { packageName + , bypassCache + , reconstructLock + , npmFlags + , production + , + }: + let + forceOfflineFlag = + if bypassCache + then "--offline" + else "--registry http://www.example.com"; + in + '' + # Pinpoint the versions of all dependencies to the ones that are actually being used + echo "pinpointing versions of dependencies..." + source $pinpointDependenciesScriptPath + + # Patch the shebangs of the bundled modules to prevent them from + # calling executables outside the Nix store as much as possible + patchShebangs . + + # Deploy the Node.js package by running npm install. Since the + # dependencies have been provided already by ourselves, it should not + # attempt to install them again, which is good, because we want to make + # it Nix's responsibility. If it needs to install any dependencies + # anyway (e.g. because the dependency parameters are + # incomplete/incorrect), it fails. + # + # The other responsibilities of NPM are kept -- version checks, build + # steps, postprocessing etc. + + export HOME=$TMPDIR + cd "${packageName}" + runHook preRebuild + + ${lib.optionalString bypassCache '' + ${lib.optionalString reconstructLock '' + if [ -f package-lock.json ] + then + echo "WARNING: Reconstruct lock option enabled, but a lock file already exists!" + echo "This will most likely result in version mismatches! We will remove the lock file and regenerate it!" + rm package-lock.json + else + echo "No package-lock.json file found, reconstructing..." + fi + + node ${reconstructPackageLock} + ''} - node ${reconstructPackageLock} + node ${addIntegrityFieldsScript} ''} - node ${addIntegrityFieldsScript} - ''} + npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${lib.optionalString production "--production"} rebuild - npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${lib.optionalString production "--production"} rebuild + runHook postRebuild - runHook postRebuild + if [ "''${dontNpmInstall-}" != "1" ] + then + # NPM tries to download packages even when they already exist if npm-shrinkwrap is used. + rm -f npm-shrinkwrap.json - if [ "''${dontNpmInstall-}" != "1" ] - then - # NPM tries to download packages even when they already exist if npm-shrinkwrap is used. - rm -f npm-shrinkwrap.json + npm ${forceOfflineFlag} --nodedir=${nodeSources} --no-bin-links --ignore-scripts ${npmFlags} ${lib.optionalString production "--production"} install + fi - npm ${forceOfflineFlag} --nodedir=${nodeSources} --no-bin-links --ignore-scripts ${npmFlags} ${lib.optionalString production "--production"} install - fi - - # Link executables defined in package.json - node ${linkBinsScript} - ''; + # Link executables defined in package.json + node ${linkBinsScript} + ''; # Builds and composes an NPM package including all its dependencies - buildNodePackage = { - name, - packageName, - version ? null, - dependencies ? [], - buildInputs ? [], - production ? true, - npmFlags ? "", - dontNpmInstall ? false, - bypassCache ? false, - reconstructLock ? false, - preRebuild ? "", - dontStrip ? true, - unpackPhase ? "true", - buildPhase ? "true", - meta ? {}, - ... - } @ args: let - extraArgs = removeAttrs args ["name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "preRebuild" "unpackPhase" "buildPhase" "meta"]; - in + buildNodePackage = + { name + , packageName + , version ? null + , dependencies ? [ ] + , buildInputs ? [ ] + , production ? true + , npmFlags ? "" + , dontNpmInstall ? false + , bypassCache ? false + , reconstructLock ? false + , preRebuild ? "" + , dontStrip ? true + , unpackPhase ? "true" + , buildPhase ? "true" + , meta ? { } + , ... + } @ args: + let + extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "preRebuild" "unpackPhase" "buildPhase" "meta" ]; + in stdenv.mkDerivation ({ - name = "${name}${ + name = "${name}${ if version == null then "" else "-${version}" }"; - buildInputs = - [tarWrapper python nodejs] + buildInputs = + [ tarWrapper python nodejs ] ++ lib.optional (stdenv.isLinux) utillinux ++ lib.optional (stdenv.isDarwin) libtool ++ buildInputs; - inherit nodejs; + inherit nodejs; - inherit dontStrip; # Stripping may fail a build for some package deployments - inherit dontNpmInstall preRebuild unpackPhase buildPhase; + inherit dontStrip; # Stripping may fail a build for some package deployments + inherit dontNpmInstall preRebuild unpackPhase buildPhase; - compositionScript = composePackage args; - pinpointDependenciesScript = pinpointDependenciesOfPackage args; + compositionScript = composePackage args; + pinpointDependenciesScript = pinpointDependenciesOfPackage args; - passAsFile = ["compositionScript" "pinpointDependenciesScript"]; + passAsFile = [ "compositionScript" "pinpointDependenciesScript" ]; - installPhase = '' - source ${installPackage} + installPhase = '' + source ${installPackage} - # Create and enter a root node_modules/ folder - mkdir -p $out/lib/node_modules - cd $out/lib/node_modules + # Create and enter a root node_modules/ folder + mkdir -p $out/lib/node_modules + cd $out/lib/node_modules - # Compose the package and all its dependencies - source $compositionScriptPath + # Compose the package and all its dependencies + source $compositionScriptPath - ${prepareAndInvokeNPM {inherit packageName bypassCache reconstructLock npmFlags production;}} + ${prepareAndInvokeNPM {inherit packageName bypassCache reconstructLock npmFlags production;}} - # Create symlink to the deployed executable folder, if applicable - if [ -d "$out/lib/node_modules/.bin" ] - then - ln -s $out/lib/node_modules/.bin $out/bin - - # Patch the shebang lines of all the executables - ls $out/bin/* | while read i - do - file="$(readlink -f "$i")" - chmod u+rwx "$file" - patchShebangs "$file" - done - fi + # Create symlink to the deployed executable folder, if applicable + if [ -d "$out/lib/node_modules/.bin" ] + then + ln -s $out/lib/node_modules/.bin $out/bin + + # Patch the shebang lines of all the executables + ls $out/bin/* | while read i + do + file="$(readlink -f "$i")" + chmod u+rwx "$file" + patchShebangs "$file" + done + fi - # Create symlinks to the deployed manual page folders, if applicable - if [ -d "$out/lib/node_modules/${packageName}/man" ] - then - mkdir -p $out/share - for dir in "$out/lib/node_modules/${packageName}/man/"* - do - mkdir -p $out/share/man/$(basename "$dir") - for page in "$dir"/* - do - ln -s $page $out/share/man/$(basename "$dir") - done - done - fi + # Create symlinks to the deployed manual page folders, if applicable + if [ -d "$out/lib/node_modules/${packageName}/man" ] + then + mkdir -p $out/share + for dir in "$out/lib/node_modules/${packageName}/man/"* + do + mkdir -p $out/share/man/$(basename "$dir") + for page in "$dir"/* + do + ln -s $page $out/share/man/$(basename "$dir") + done + done + fi - # Run post install hook, if provided - runHook postInstall - ''; + # Run post install hook, if provided + runHook postInstall + ''; - meta = - { - # default to Node.js' platforms - platforms = nodejs.meta.platforms; - } - // meta; - } - // extraArgs); + meta = + { + # default to Node.js' platforms + platforms = nodejs.meta.platforms; + } + // meta; + } + // extraArgs); # Builds a node environment (a node_modules folder and a set of binaries) - buildNodeDependencies = { - name, - packageName, - version ? null, - src, - dependencies ? [], - buildInputs ? [], - production ? true, - npmFlags ? "", - dontNpmInstall ? false, - bypassCache ? false, - reconstructLock ? false, - dontStrip ? true, - unpackPhase ? "true", - buildPhase ? "true", - ... - } @ args: let - extraArgs = removeAttrs args ["name" "dependencies" "buildInputs"]; - in + buildNodeDependencies = + { name + , packageName + , version ? null + , src + , dependencies ? [ ] + , buildInputs ? [ ] + , production ? true + , npmFlags ? "" + , dontNpmInstall ? false + , bypassCache ? false + , reconstructLock ? false + , dontStrip ? true + , unpackPhase ? "true" + , buildPhase ? "true" + , ... + } @ args: + let + extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" ]; + in stdenv.mkDerivation ({ - name = "node-dependencies-${name}${ + name = "node-dependencies-${name}${ if version == null then "" else "-${version}" }"; - buildInputs = - [tarWrapper python nodejs] + buildInputs = + [ tarWrapper python nodejs ] ++ lib.optional (stdenv.isLinux) utillinux ++ lib.optional (stdenv.isDarwin) libtool ++ buildInputs; - inherit dontStrip; # Stripping may fail a build for some package deployments - inherit dontNpmInstall unpackPhase buildPhase; + inherit dontStrip; # Stripping may fail a build for some package deployments + inherit dontNpmInstall unpackPhase buildPhase; - includeScript = includeDependencies {inherit dependencies;}; - pinpointDependenciesScript = pinpointDependenciesOfPackage args; + includeScript = includeDependencies { inherit dependencies; }; + pinpointDependenciesScript = pinpointDependenciesOfPackage args; - passAsFile = ["includeScript" "pinpointDependenciesScript"]; + passAsFile = [ "includeScript" "pinpointDependenciesScript" ]; - installPhase = '' - source ${installPackage} + installPhase = '' + source ${installPackage} - mkdir -p $out/${packageName} - cd $out/${packageName} + mkdir -p $out/${packageName} + cd $out/${packageName} - source $includeScriptPath + source $includeScriptPath - # Create fake package.json to make the npm commands work properly - cp ${src}/package.json . - chmod 644 package.json - ${lib.optionalString bypassCache '' - if [ -f ${src}/package-lock.json ] - then - cp ${src}/package-lock.json . - chmod 644 package-lock.json - fi - ''} + # Create fake package.json to make the npm commands work properly + cp ${src}/package.json . + chmod 644 package.json + ${lib.optionalString bypassCache '' + if [ -f ${src}/package-lock.json ] + then + cp ${src}/package-lock.json . + chmod 644 package-lock.json + fi + ''} - # Go to the parent folder to make sure that all packages are pinpointed - cd .. - ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."} + # Go to the parent folder to make sure that all packages are pinpointed + cd .. + ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."} - ${prepareAndInvokeNPM {inherit packageName bypassCache reconstructLock npmFlags production;}} + ${prepareAndInvokeNPM {inherit packageName bypassCache reconstructLock npmFlags production;}} - # Expose the executables that were installed - cd .. - ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."} + # Expose the executables that were installed + cd .. + ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."} - mv ${packageName} lib - ln -s $out/lib/node_modules/.bin $out/bin - ''; - } - // extraArgs); + mv ${packageName} lib + ln -s $out/lib/node_modules/.bin $out/bin + ''; + } + // extraArgs); # Builds a development shell - buildNodeShell = { - name, - packageName, - version ? null, - src, - dependencies ? [], - buildInputs ? [], - production ? true, - npmFlags ? "", - dontNpmInstall ? false, - bypassCache ? false, - reconstructLock ? false, - dontStrip ? true, - unpackPhase ? "true", - buildPhase ? "true", - ... - } @ args: let - nodeDependencies = buildNodeDependencies args; - extraArgs = removeAttrs args ["name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "unpackPhase" "buildPhase"]; - in + buildNodeShell = + { name + , packageName + , version ? null + , src + , dependencies ? [ ] + , buildInputs ? [ ] + , production ? true + , npmFlags ? "" + , dontNpmInstall ? false + , bypassCache ? false + , reconstructLock ? false + , dontStrip ? true + , unpackPhase ? "true" + , buildPhase ? "true" + , ... + } @ args: + let + nodeDependencies = buildNodeDependencies args; + extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "unpackPhase" "buildPhase" ]; + in stdenv.mkDerivation ({ - name = "node-shell-${name}${ + name = "node-shell-${name}${ if version == null then "" else "-${version}" }"; - buildInputs = [python nodejs] ++ lib.optional (stdenv.isLinux) utillinux ++ buildInputs; - buildCommand = '' - mkdir -p $out/bin - cat > $out/bin/shell <<EOF - #! ${stdenv.shell} -e - $shellHook - exec ${stdenv.shell} - EOF - chmod +x $out/bin/shell - ''; + buildInputs = [ python nodejs ] ++ lib.optional (stdenv.isLinux) utillinux ++ buildInputs; + buildCommand = '' + mkdir -p $out/bin + cat > $out/bin/shell <<EOF + #! ${stdenv.shell} -e + $shellHook + exec ${stdenv.shell} + EOF + chmod +x $out/bin/shell + ''; - # Provide the dependencies in a development shell through the NODE_PATH environment variable - inherit nodeDependencies; - shellHook = lib.optionalString (dependencies != []) '' - export NODE_PATH=${nodeDependencies}/lib/node_modules - export PATH="${nodeDependencies}/bin:$PATH" - ''; - } - // extraArgs); -in { + # Provide the dependencies in a development shell through the NODE_PATH environment variable + inherit nodeDependencies; + shellHook = lib.optionalString (dependencies != [ ]) '' + export NODE_PATH=${nodeDependencies}/lib/node_modules + export PATH="${nodeDependencies}/bin:$PATH" + ''; + } + // extraArgs); +in +{ buildNodeSourceDist = lib.makeOverridable buildNodeSourceDist; buildNodePackage = lib.makeOverridable buildNodePackage; buildNodeDependencies = lib.makeOverridable buildNodeDependencies; diff --git a/user/packages/node2nix/node-packages.nix b/user/packages/node2nix/node-packages.nix index 64748fe5..65622884 100644 --- a/user/packages/node2nix/node-packages.nix +++ b/user/packages/node2nix/node-packages.nix @@ -1,13 +1,14 @@ # This file has been generated by node2nix 1.11.1. Do not edit! -{ - nodeEnv, - fetchurl, - fetchgit, - nix-gitignore, - stdenv, - lib, - globalBuildInputs ? [], -}: let +{ nodeEnv +, fetchurl +, fetchgit +, nix-gitignore +, stdenv +, lib +, globalBuildInputs ? [ ] +, +}: +let sources = { "abort-controller-3.0.0" = { name = "abort-controller"; @@ -1063,7 +1064,8 @@ }; }; }; -in { +in +{ "pnpm-7.12" = nodeEnv.buildNodePackage { name = "pnpm"; packageName = "pnpm"; @@ -1108,10 +1110,10 @@ in { sources."glob-8.0.3" (sources."help-me-4.1.0" // { - dependencies = [ - sources."readable-stream-3.6.0" - ]; - }) + dependencies = [ + sources."readable-stream-3.6.0" + ]; + }) sources."ieee754-1.2.1" sources."inflight-1.0.6" sources."inherits-2.0.4" @@ -1190,16 +1192,16 @@ in { dependencies = [ (sources."asn1.js-5.4.1" // { - dependencies = [ - sources."bn.js-4.12.0" - ]; - }) + dependencies = [ + sources."bn.js-4.12.0" + ]; + }) (sources."assert-1.5.0" // { - dependencies = [ - sources."util-0.10.3" - ]; - }) + dependencies = [ + sources."util-0.10.3" + ]; + }) sources."base64-js-1.5.1" sources."bn.js-5.2.1" sources."brorand-1.1.0" @@ -1209,11 +1211,11 @@ in { sources."browserify-rsa-4.1.0" (sources."browserify-sign-4.2.1" // { - dependencies = [ - sources."inherits-2.0.4" - sources."readable-stream-3.6.0" - ]; - }) + dependencies = [ + sources."inherits-2.0.4" + sources."readable-stream-3.6.0" + ]; + }) sources."browserify-zlib-0.2.0" sources."buffer-4.9.2" sources."buffer-xor-1.0.3" @@ -1225,43 +1227,43 @@ in { sources."core-util-is-1.0.3" (sources."create-ecdh-4.0.4" // { - dependencies = [ - sources."bn.js-4.12.0" - ]; - }) + dependencies = [ + sources."bn.js-4.12.0" + ]; + }) sources."create-hash-1.2.0" sources."create-hmac-1.1.7" sources."crypto-browserify-3.12.0" sources."des.js-1.0.1" (sources."diffie-hellman-5.0.3" // { - dependencies = [ - sources."bn.js-4.12.0" - ]; - }) + dependencies = [ + sources."bn.js-4.12.0" + ]; + }) sources."domain-browser-1.2.0" (sources."elliptic-6.5.4" // { - dependencies = [ - sources."bn.js-4.12.0" - sources."inherits-2.0.4" - ]; - }) + dependencies = [ + sources."bn.js-4.12.0" + sources."inherits-2.0.4" + ]; + }) sources."events-3.3.0" sources."evp_bytestokey-1.0.3" (sources."hash-base-3.1.0" // { - dependencies = [ - sources."inherits-2.0.4" - sources."readable-stream-3.6.0" - ]; - }) + dependencies = [ + sources."inherits-2.0.4" + sources."readable-stream-3.6.0" + ]; + }) (sources."hash.js-1.1.7" // { - dependencies = [ - sources."inherits-2.0.4" - ]; - }) + dependencies = [ + sources."inherits-2.0.4" + ]; + }) sources."hmac-drbg-1.0.1" sources."https-browserify-1.0.0" sources."ieee754-1.2.1" @@ -1271,10 +1273,10 @@ in { sources."md5.js-1.3.5" (sources."miller-rabin-4.0.1" // { - dependencies = [ - sources."bn.js-4.12.0" - ]; - }) + dependencies = [ + sources."bn.js-4.12.0" + ]; + }) sources."minimalistic-assert-1.0.1" sources."minimalistic-crypto-utils-1.0.1" sources."node-gyp-build-4.5.0" @@ -1289,10 +1291,10 @@ in { sources."process-nextick-args-2.0.1" (sources."public-encrypt-4.0.3" // { - dependencies = [ - sources."bn.js-4.12.0" - ]; - }) + dependencies = [ + sources."bn.js-4.12.0" + ]; + }) sources."punycode-1.4.1" sources."querystring-0.2.0" sources."querystring-es3-0.2.1" @@ -1300,12 +1302,12 @@ in { sources."randomfill-1.0.4" (sources."readable-stream-2.3.7" // { - dependencies = [ - sources."inherits-2.0.4" - sources."safe-buffer-5.1.2" - sources."string_decoder-1.1.1" - ]; - }) + dependencies = [ + sources."inherits-2.0.4" + sources."safe-buffer-5.1.2" + sources."string_decoder-1.1.1" + ]; + }) sources."readline-sync-1.4.10" sources."ripemd160-2.0.2" sources."safe-buffer-5.2.1" @@ -1323,17 +1325,17 @@ in { sources."tty-browserify-0.0.0" (sources."url-0.11.0" // { - dependencies = [ - sources."punycode-1.3.2" - ]; - }) + dependencies = [ + sources."punycode-1.3.2" + ]; + }) sources."utf-8-validate-5.0.9" (sources."util-0.11.1" // { - dependencies = [ - sources."inherits-2.0.3" - ]; - }) + dependencies = [ + sources."inherits-2.0.3" + ]; + }) sources."util-deprecate-1.0.2" sources."vm-browserify-1.1.2" sources."which-1.3.1" diff --git a/user/prefect.nix b/user/prefect.nix index 23a44ab3..e6aada55 100644 --- a/user/prefect.nix +++ b/user/prefect.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { imports = [ ./settings/base.nix diff --git a/user/satoshipad.nix b/user/satoshipad.nix index eeaf0c75..d3f24fb0 100644 --- a/user/satoshipad.nix +++ b/user/satoshipad.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { imports = [ ../private @@ -37,9 +36,9 @@ xsession.windowManager.i3 = { config = { startup = [ - {command = "firefox-devedition";} - {command = "ripcord";} - {command = "emacs";} + { command = "firefox-devedition"; } + { command = "ripcord"; } + { command = "emacs"; } ]; }; extraConfig = '' diff --git a/user/server.nix b/user/server.nix index 61ef71e8..83c70ca0 100644 --- a/user/server.nix +++ b/user/server.nix @@ -1,8 +1,7 @@ -{ - config, - lib, - pkgs, - ... +{ config +, lib +, pkgs +, ... }: with lib; { imports = [ diff --git a/user/settings/accounting.nix b/user/settings/accounting.nix index 903d6aa9..664ca083 100644 --- a/user/settings/accounting.nix +++ b/user/settings/accounting.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { home.packages = with pkgs; [ ledger diff --git a/user/settings/base.nix b/user/settings/base.nix index 7c785681..b8e95425 100644 --- a/user/settings/base.nix +++ b/user/settings/base.nix @@ -1,8 +1,7 @@ -{ - config, - lib, - pkgs, - ... +{ config +, lib +, pkgs +, ... }: { imports = [ ./neovim.nix diff --git a/user/settings/chat.nix b/user/settings/chat.nix index f44b2508..cc70d9c1 100644 --- a/user/settings/chat.nix +++ b/user/settings/chat.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { home.packages = with pkgs; [ signal-desktop diff --git a/user/settings/darwin.nix b/user/settings/darwin.nix index c7404ee0..740b4314 100644 --- a/user/settings/darwin.nix +++ b/user/settings/darwin.nix @@ -1,14 +1,14 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { nixpkgs.overlays = [ (self: super: { darwin-zsh-completions = - super.runCommand "darwin-zsh-completions-0.0.0" { - preferLocalBuild = true; - } '' + super.runCommand "darwin-zsh-completions-0.0.0" + { + preferLocalBuild = true; + } '' mkdir -p $out/share/zsh/site-functions cat <<-'EOF' > $out/share/zsh/site-functions/_darwin-rebuild #compdef darwin-rebuild @@ -36,7 +36,7 @@ ''; }) ]; - home.packages = with pkgs; [darwin-zsh-completions]; + home.packages = with pkgs; [ darwin-zsh-completions ]; programs.emacs.package = pkgs.emacs; diff --git a/user/settings/development/base.nix b/user/settings/development/base.nix index 96429c1d..97658768 100644 --- a/user/settings/development/base.nix +++ b/user/settings/development/base.nix @@ -1,8 +1,7 @@ -{ - config, - lib, - pkgs, - ... +{ config +, lib +, pkgs +, ... }: { home.packages = with pkgs; [ @@ -29,7 +28,7 @@ ); nixpkgs.overlays = [ (self: super: { - ripgrep = super.ripgrep.override {withPCRE2 = true;}; + ripgrep = super.ripgrep.override { withPCRE2 = true; }; }) ]; } diff --git a/user/settings/development/clojure.nix b/user/settings/development/clojure.nix index a5d6ceae..0358e8da 100644 --- a/user/settings/development/clojure.nix +++ b/user/settings/development/clojure.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { home.packages = with pkgs; [ clojure diff --git a/user/settings/development/javascript.nix b/user/settings/development/javascript.nix index 692995e7..6421c8b3 100644 --- a/user/settings/development/javascript.nix +++ b/user/settings/development/javascript.nix @@ -1,10 +1,11 @@ -{ - config, - pkgs, - ... -}: let +{ config +, pkgs +, ... +}: +let nodejs = pkgs.nodejs-18_x; -in { +in +{ nixpkgs.overlays = [ (self: super: { node2nixPackages = super.callPackage ../../packages/node2nix { @@ -14,21 +15,21 @@ in { ]; home.packages = (with pkgs; - [ - nodejs + [ + nodejs + ] + ++ ( + if stdenv.isDarwin + then [ + ] + else [ + # npm install may use any of these + binutils + gnumake + gcc + python2 ] - ++ ( - if stdenv.isDarwin - then [ - ] - else [ - # npm install may use any of these - binutils - gnumake - gcc - python2 - ] - )) + )) ++ (with pkgs.nodePackages; [ node2nix nodemon diff --git a/user/settings/development/lisp.nix b/user/settings/development/lisp.nix index 7a55c41c..9ad918d2 100644 --- a/user/settings/development/lisp.nix +++ b/user/settings/development/lisp.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { home.packages = with pkgs; [ ccl diff --git a/user/settings/development/rust.nix b/user/settings/development/rust.nix index 16a50b41..46f3f4f1 100644 --- a/user/settings/development/rust.nix +++ b/user/settings/development/rust.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { home.packages = with pkgs; [ cargo diff --git a/user/settings/development/web.nix b/user/settings/development/web.nix index 64502198..4bd6630f 100644 --- a/user/settings/development/web.nix +++ b/user/settings/development/web.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { home.packages = with pkgs.nodePackages; [ diff --git a/user/settings/development/zig.nix b/user/settings/development/zig.nix index 69c2ea80..e5fab030 100644 --- a/user/settings/development/zig.nix +++ b/user/settings/development/zig.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { programs.emacs.extraPackages = epkgs: (with epkgs; [ zig-mode diff --git a/user/settings/dunst.nix b/user/settings/dunst.nix index 0232d47f..ae003f1e 100644 --- a/user/settings/dunst.nix +++ b/user/settings/dunst.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { services.dunst = { enable = true; diff --git a/user/settings/emacs.nix b/user/settings/emacs.nix index fd3909fe..73673e53 100644 --- a/user/settings/emacs.nix +++ b/user/settings/emacs.nix @@ -1,9 +1,9 @@ -{ - config, - pkgs, - lib, - ... -}: let +{ config +, pkgs +, lib +, ... +}: +let inherit (pkgs) stdenv; editorScript = pkgs.writeScriptBin "edit" '' @@ -32,14 +32,15 @@ Keywords=Text;Editor; ''; }; -in { +in +{ imports = [ ../modules/eshell.nix ]; programs.emacs = { enable = true; - package = lib.mkDefault (pkgs.emacsNativeComp.override {withGTK3 = true;}); + package = lib.mkDefault (pkgs.emacsNativeComp.override { withGTK3 = true; }); eshell = { aliases = { pk = "eshell-up-pk $1"; diff --git a/user/settings/gaming.nix b/user/settings/gaming.nix index 0c5c9b58..745c1a3e 100644 --- a/user/settings/gaming.nix +++ b/user/settings/gaming.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { home.packages = with pkgs; [ wineWowPackages.stable diff --git a/user/settings/git.nix b/user/settings/git.nix index 7a0c35da..6936de4d 100644 --- a/user/settings/git.nix +++ b/user/settings/git.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { home.packages = with pkgs; [ gitAndTools.git-extras diff --git a/user/settings/gnupg.nix b/user/settings/gnupg.nix index 7f96223c..913b5d27 100644 --- a/user/settings/gnupg.nix +++ b/user/settings/gnupg.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { home.file.".gnupg" = { recursive = true; diff --git a/user/settings/golang.nix b/user/settings/golang.nix index 5e84488c..a07b7559 100644 --- a/user/settings/golang.nix +++ b/user/settings/golang.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { home.packages = with pkgs; [ go diff --git a/user/settings/i3.nix b/user/settings/i3.nix index 5443d1d6..6265e764 100644 --- a/user/settings/i3.nix +++ b/user/settings/i3.nix @@ -1,202 +1,203 @@ -{ - config, - pkgs, - lib, - ... +{ config +, pkgs +, lib +, ... }: { xdg.configFile.i3status = { recursive = true; source = ../i3/i3status; }; - xsession.windowManager.i3 = let - mod = "Mod4"; - mode_system = "System (l) lock, (e) logout, (s) suspend, (h) hibernate, (r) reboot, (Shift+s) shutdown"; - locker = "${pkgs.xautolock}/bin/xautolock -locknow"; - in { - enable = true; - config = { - modifier = mod; - assigns = { - "1" = [{class = "^Ripcord$";}]; - "3" = [{class = "^Firefox Developer Edition$";}]; - "8" = [{class = "^Emacs$";}]; - "9" = [{class = "\.exe$";}]; - "10" = [{class = "^Barrier$";}]; - }; - floating = { - criteria = [ - {class = "Pinentry$";} - # https://github.com/ValveSoftware/steam-for-linux/issues/1040 - { - class = "^Steam$"; - title = "^Friends$"; - } - { - class = "^Steam$"; - title = "Steam - News"; - } - { - class = "^Steam$"; - title = ".* - Chat"; - } - { - class = "^Steam$"; - title = "^Settings$"; - } - { - class = "^Steam$"; - title = ".* - event started"; - } - { - class = "^Steam$"; - title = ".* CD key"; - } - { - class = "^Steam$"; - title = "^Steam - Self Updater$"; - } - { - class = "^Steam$"; - title = "^Screenshot Uploader$"; - } + xsession.windowManager.i3 = + let + mod = "Mod4"; + mode_system = "System (l) lock, (e) logout, (s) suspend, (h) hibernate, (r) reboot, (Shift+s) shutdown"; + locker = "${pkgs.xautolock}/bin/xautolock -locknow"; + in + { + enable = true; + config = { + modifier = mod; + assigns = { + "1" = [{ class = "^Ripcord$"; }]; + "3" = [{ class = "^Firefox Developer Edition$"; }]; + "8" = [{ class = "^Emacs$"; }]; + "9" = [{ class = "\.exe$"; }]; + "10" = [{ class = "^Barrier$"; }]; + }; + floating = { + criteria = [ + { class = "Pinentry$"; } + # https://github.com/ValveSoftware/steam-for-linux/issues/1040 + { + class = "^Steam$"; + title = "^Friends$"; + } + { + class = "^Steam$"; + title = "Steam - News"; + } + { + class = "^Steam$"; + title = ".* - Chat"; + } + { + class = "^Steam$"; + title = "^Settings$"; + } + { + class = "^Steam$"; + title = ".* - event started"; + } + { + class = "^Steam$"; + title = ".* CD key"; + } + { + class = "^Steam$"; + title = "^Steam - Self Updater$"; + } + { + class = "^Steam$"; + title = "^Screenshot Uploader$"; + } + { + class = "^Steam$"; + title = "^Steam Guard - Computer Authorization Required$"; + } + { title = "^Steam Keyboard$"; } + ]; + }; + window = { + titlebar = false; + }; + keybindings = { + "${mod}+Return" = "exec --no-startup-id ${config.home.sessionVariables.TERMINAL}"; + # kill focused window + "${mod}+w" = "kill"; + "${mod}+Shift+w" = "kill"; + + "${mod}+Mod1+r" = "exec rofi -show run"; + "${mod}+space" = "exec \"rofi -show drun\""; + + # change focus + "${mod}+h" = "focus left"; + "${mod}+j" = "focus down"; + "${mod}+k" = "focus up"; + "${mod}+l" = "focus right"; + + "${mod}+grave" = "workspace 0"; + "${mod}+1" = "workspace 1"; + "${mod}+2" = "workspace 2"; + "${mod}+3" = "workspace 3"; + "${mod}+4" = "workspace 4"; + "${mod}+5" = "workspace 5"; + "${mod}+6" = "workspace 6"; + "${mod}+7" = "workspace 7"; + "${mod}+8" = "workspace 8"; + "${mod}+9" = "workspace 9"; + "${mod}+0" = "workspace 10"; + + # move focused window + "${mod}+Shift+h" = "move left"; + "${mod}+Shift+j" = "move down"; + "${mod}+Shift+k" = "move up"; + "${mod}+Shift+l" = "move right"; + + "${mod}+Shift+grave" = "move container to workspace 0"; + "${mod}+Shift+1" = "move container to workspace 1"; + "${mod}+Shift+2" = "move container to workspace 2"; + "${mod}+Shift+3" = "move container to workspace 3"; + "${mod}+Shift+4" = "move container to workspace 4"; + "${mod}+Shift+5" = "move container to workspace 5"; + "${mod}+Shift+6" = "move container to workspace 6"; + "${mod}+Shift+7" = "move container to workspace 7"; + "${mod}+Shift+8" = "move container to workspace 8"; + "${mod}+Shift+9" = "move container to workspace 9"; + "${mod}+Shift+0" = "move container to workspace 10"; + + # move workspace + "${mod}+Mod1+h" = "move workspace to output left"; + "${mod}+Mod1+j" = "move workspace to output down"; + "${mod}+Mod1+k" = "move workspace to output up"; + "${mod}+Mod1+l" = "move workspace to output right"; + + # split in horizontal orientation + "${mod}+b" = "split h"; + + # split in vertical orientation + "${mod}+v" = "split v"; + + "${mod}+F11" = "fullscreen toggle"; + "${mod}+f" = "fullscreen toggle"; + + # change container layout (stacked, tabbed, toggle split) + "${mod}+Shift+s" = "layout stacking"; + "${mod}+Shift+t" = "layout tabbed"; + "${mod}+Shift+v" = "layout toggle split"; + + # toggle tiling / floating + "${mod}+Shift+f" = "floating toggle"; + + # change focus between tiling / floating windows + "${mod}+Tab" = "focus mode_toggle"; + + # focus the parent container + "${mod}+a" = "focus parent"; + + # focus the child container + "${mod}+d" = "focus child"; + + "${mod}+Shift+c" = "reload"; + "${mod}+Shift+p" = "restart"; + + "${mod}+Shift+r" = "mode resize"; + "${mod}+Shift+o" = "exec ${locker}"; + "${mod}+Pause" = "mode \"${mode_system}\""; + "${mod}+Escape" = "mode \"${mode_system}\""; + "${mod}+Shift+q" = "mode \"${mode_system}\""; + }; + + modes = { + resize = { + "h" = "resize shrink width 10 px or 10 ppt"; + "j" = "resize grow height 10 px or 10 ppt"; + "k" = "resize shrink height 10 px or 10 ppt"; + "l" = "resize grow width 10 px or 10 ppt"; + + "Left" = "resize shrink width 10 px or 10 ppt"; + "Down" = "resize grow height 10 px or 10 ppt"; + "Up" = "resize shrink height 10 px or 10 ppt"; + "Right" = "resize grow width 10 px or 10 ppt"; + + "Return" = "mode default"; + "Escape" = "mode default"; + }; + "${mode_system}" = { + "l" = "exec --no-startup-id ${locker}, mode default"; + "e" = "exec --no-startup-id i3-msg exit, mode default"; + "s" = "exec --no-startup-id systemctl suspend, mode default"; + "h" = "exec --no-startup-id systemctl hibernate, mode default"; + "r" = "exec --no-startup-id systemctl reboot, mode default"; + "Shift+s" = "exec --no-startup-id systemctl poweroff -i, mode default"; + "Return" = "mode default"; + "Escape" = "mode default"; + }; + }; + + bars = [ { - class = "^Steam$"; - title = "^Steam Guard - Computer Authorization Required$"; + position = "top"; + hiddenState = "show"; + statusCommand = "${pkgs.i3status}/bin/i3status -c ~/.config/i3status/config"; + extraConfig = '' + font -xos4-terminus-medium-r-normal--12-120-72-72-c-60-iso10646-1 + ''; } - {title = "^Steam Keyboard$";} ]; }; - window = { - titlebar = false; - }; - keybindings = { - "${mod}+Return" = "exec --no-startup-id ${config.home.sessionVariables.TERMINAL}"; - # kill focused window - "${mod}+w" = "kill"; - "${mod}+Shift+w" = "kill"; - - "${mod}+Mod1+r" = "exec rofi -show run"; - "${mod}+space" = "exec \"rofi -show drun\""; - - # change focus - "${mod}+h" = "focus left"; - "${mod}+j" = "focus down"; - "${mod}+k" = "focus up"; - "${mod}+l" = "focus right"; - - "${mod}+grave" = "workspace 0"; - "${mod}+1" = "workspace 1"; - "${mod}+2" = "workspace 2"; - "${mod}+3" = "workspace 3"; - "${mod}+4" = "workspace 4"; - "${mod}+5" = "workspace 5"; - "${mod}+6" = "workspace 6"; - "${mod}+7" = "workspace 7"; - "${mod}+8" = "workspace 8"; - "${mod}+9" = "workspace 9"; - "${mod}+0" = "workspace 10"; - - # move focused window - "${mod}+Shift+h" = "move left"; - "${mod}+Shift+j" = "move down"; - "${mod}+Shift+k" = "move up"; - "${mod}+Shift+l" = "move right"; - - "${mod}+Shift+grave" = "move container to workspace 0"; - "${mod}+Shift+1" = "move container to workspace 1"; - "${mod}+Shift+2" = "move container to workspace 2"; - "${mod}+Shift+3" = "move container to workspace 3"; - "${mod}+Shift+4" = "move container to workspace 4"; - "${mod}+Shift+5" = "move container to workspace 5"; - "${mod}+Shift+6" = "move container to workspace 6"; - "${mod}+Shift+7" = "move container to workspace 7"; - "${mod}+Shift+8" = "move container to workspace 8"; - "${mod}+Shift+9" = "move container to workspace 9"; - "${mod}+Shift+0" = "move container to workspace 10"; - - # move workspace - "${mod}+Mod1+h" = "move workspace to output left"; - "${mod}+Mod1+j" = "move workspace to output down"; - "${mod}+Mod1+k" = "move workspace to output up"; - "${mod}+Mod1+l" = "move workspace to output right"; - - # split in horizontal orientation - "${mod}+b" = "split h"; - - # split in vertical orientation - "${mod}+v" = "split v"; - - "${mod}+F11" = "fullscreen toggle"; - "${mod}+f" = "fullscreen toggle"; - - # change container layout (stacked, tabbed, toggle split) - "${mod}+Shift+s" = "layout stacking"; - "${mod}+Shift+t" = "layout tabbed"; - "${mod}+Shift+v" = "layout toggle split"; - - # toggle tiling / floating - "${mod}+Shift+f" = "floating toggle"; - - # change focus between tiling / floating windows - "${mod}+Tab" = "focus mode_toggle"; - - # focus the parent container - "${mod}+a" = "focus parent"; - - # focus the child container - "${mod}+d" = "focus child"; - - "${mod}+Shift+c" = "reload"; - "${mod}+Shift+p" = "restart"; - - "${mod}+Shift+r" = "mode resize"; - "${mod}+Shift+o" = "exec ${locker}"; - "${mod}+Pause" = "mode \"${mode_system}\""; - "${mod}+Escape" = "mode \"${mode_system}\""; - "${mod}+Shift+q" = "mode \"${mode_system}\""; - }; - modes = { - resize = { - "h" = "resize shrink width 10 px or 10 ppt"; - "j" = "resize grow height 10 px or 10 ppt"; - "k" = "resize shrink height 10 px or 10 ppt"; - "l" = "resize grow width 10 px or 10 ppt"; - - "Left" = "resize shrink width 10 px or 10 ppt"; - "Down" = "resize grow height 10 px or 10 ppt"; - "Up" = "resize shrink height 10 px or 10 ppt"; - "Right" = "resize grow width 10 px or 10 ppt"; - - "Return" = "mode default"; - "Escape" = "mode default"; - }; - "${mode_system}" = { - "l" = "exec --no-startup-id ${locker}, mode default"; - "e" = "exec --no-startup-id i3-msg exit, mode default"; - "s" = "exec --no-startup-id systemctl suspend, mode default"; - "h" = "exec --no-startup-id systemctl hibernate, mode default"; - "r" = "exec --no-startup-id systemctl reboot, mode default"; - "Shift+s" = "exec --no-startup-id systemctl poweroff -i, mode default"; - "Return" = "mode default"; - "Escape" = "mode default"; - }; - }; - - bars = [ - { - position = "top"; - hiddenState = "show"; - statusCommand = "${pkgs.i3status}/bin/i3status -c ~/.config/i3status/config"; - extraConfig = '' - font -xos4-terminus-medium-r-normal--12-120-72-72-c-60-iso10646-1 - ''; - } - ]; + extraConfig = '' + font -xos4-terminus-medium-r-normal--12-120-72-72-c-60-iso10646-1 + ''; }; - - extraConfig = '' - font -xos4-terminus-medium-r-normal--12-120-72-72-c-60-iso10646-1 - ''; - }; } diff --git a/user/settings/ledger.nix b/user/settings/ledger.nix index b0fe9ef9..8d4b5632 100644 --- a/user/settings/ledger.nix +++ b/user/settings/ledger.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { home.file.".ledgerrc".text = '' --date-format %F diff --git a/user/settings/mail.nix b/user/settings/mail.nix index b3f288fb..3009114c 100644 --- a/user/settings/mail.nix +++ b/user/settings/mail.nix @@ -1,8 +1,7 @@ -{ - config, - lib, - pkgs, - ... +{ config +, lib +, pkgs +, ... }: { home.packages = [ pkgs.html2text diff --git a/user/settings/music-management.nix b/user/settings/music-management.nix index 043bafe8..07e5486b 100644 --- a/user/settings/music-management.nix +++ b/user/settings/music-management.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { home.packages = with pkgs; [ (beets.override { diff --git a/user/settings/music.nix b/user/settings/music.nix index 43940755..340e4b90 100644 --- a/user/settings/music.nix +++ b/user/settings/music.nix @@ -1,18 +1,17 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { home.packages = with pkgs; [ sonixd - (tauon.override {withDiscordRPC = true;}) + (tauon.override { withDiscordRPC = true; }) ]; xdg.desktopEntries.sonixd = { name = "sonixd"; exec = "sonixd"; comment = "Sonixd Music Player"; - categories = ["Audio" "AudioVideo"]; + categories = [ "Audio" "AudioVideo" ]; genericName = "Music Player"; }; } diff --git a/user/settings/neovim.nix b/user/settings/neovim.nix index 59c75a91..ceae1f62 100644 --- a/user/settings/neovim.nix +++ b/user/settings/neovim.nix @@ -1,8 +1,7 @@ -{ - config, - lib, - pkgs, - ... +{ config +, lib +, pkgs +, ... }: { programs.neovim = { enable = true; diff --git a/user/settings/nix.nix b/user/settings/nix.nix index 4d313624..c0dfe9c5 100644 --- a/user/settings/nix.nix +++ b/user/settings/nix.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { nixpkgs.config = import ../config.nix; home.packages = with pkgs; [ diff --git a/user/settings/nixos.nix b/user/settings/nixos.nix index 50e38e89..62f18f96 100644 --- a/user/settings/nixos.nix +++ b/user/settings/nixos.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { imports = [ ./nix.nix diff --git a/user/settings/nixpkgs.nix b/user/settings/nixpkgs.nix index ee993bd5..9f8af5c8 100644 --- a/user/settings/nixpkgs.nix +++ b/user/settings/nixpkgs.nix @@ -1,18 +1,19 @@ -{ - config, - pkgs, - ... -}: let +{ config +, pkgs +, ... +}: +let inherit (pkgs) stdenv; stableConfig = config.nixpkgs.config; -in { +in +{ imports = [ ./nix.nix ]; nixpkgs.overlays = [ (self: super: { - firefox-bin-unwrapped = super.firefox-bin-unwrapped.override {systemLocale = "en-GB";}; - firefox-devedition-bin-unwrapped = super.firefox-devedition-bin-unwrapped.override {systemLocale = "en-GB";}; + firefox-bin-unwrapped = super.firefox-bin-unwrapped.override { systemLocale = "en-GB"; }; + firefox-devedition-bin-unwrapped = super.firefox-devedition-bin-unwrapped.override { systemLocale = "en-GB"; }; }) ]; } diff --git a/user/settings/passwords.nix b/user/settings/passwords.nix index ff78281c..cfa17287 100644 --- a/user/settings/passwords.nix +++ b/user/settings/passwords.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { home.packages = with pkgs; [ keepassxc diff --git a/user/settings/rofi.nix b/user/settings/rofi.nix index d62ea7cf..c0c6990d 100644 --- a/user/settings/rofi.nix +++ b/user/settings/rofi.nix @@ -1,8 +1,7 @@ -{ - config, - lib, - pkgs, - ... +{ config +, lib +, pkgs +, ... }: { xdg.configFile."networkmanager-dmenu/config.ini".text = '' [dmenu] diff --git a/user/settings/satoshipay.nix b/user/settings/satoshipay.nix index b93d7eee..03aa1cd0 100644 --- a/user/settings/satoshipay.nix +++ b/user/settings/satoshipay.nix @@ -1,14 +1,15 @@ -{ - config, - lib, - pkgs, - ... -}: let +{ config +, lib +, pkgs +, ... +}: +let inherit (pkgs) stdenv; spGitConfig = { user.email = "alan@satoshipay.io"; }; -in { +in +{ imports = [ ./development/javascript.nix ./development/web.nix @@ -18,33 +19,33 @@ in { KUBECTX_IGNORE_FZF = "1"; }; home.packages = with pkgs; ([ - caddy - openssl - mongodb-tools - pgcli - pgformatter - postgresql - s3cmd - sops + caddy + openssl + mongodb-tools + pgcli + pgformatter + postgresql + s3cmd + sops - lumen + lumen - mkcert - google-cloud-sdk - doctl - kubectl - kubetail - kubectx - kubernetes-helm - helmfile - ] - ++ (lib.optionals (!stdenv.isDarwin) - [ - docker-compose + mkcert + google-cloud-sdk + doctl + kubectl + kubetail + kubectx + kubernetes-helm + helmfile + ] + ++ (lib.optionals (!stdenv.isDarwin) + [ + docker-compose - ripcord - robo3t - ])); + ripcord + robo3t + ])); programs.emacs.extraPackages = epkgs: (with epkgs; [ docker-compose-mode dockerfile-mode @@ -97,36 +98,38 @@ in { ''; }; - accounts.email.accounts.satoshipay = let - address = "alan@satoshipay.io"; - in { - inherit address; - primary = lib.mkDefault true; - realName = "Alan Pearce"; - flavor = "gmail.com"; - passwordCommand = "${pkgs.python3Packages.keyring}/bin/keyring get satoshipay-google-mail ${address}"; - folders = { - inbox = "INBOX"; - drafts = "[Gmail]/Drafts"; - sent = "[Gmail]/Sent Mail"; - trash = "[Gmail]/Bin"; - }; - imap = { - tls.enable = true; - }; - smtp = { - tls.enable = true; - }; - mbsync = { - enable = true; - create = "maildir"; - remove = "maildir"; - expunge = "both"; - }; - msmtp = { - enable = true; + accounts.email.accounts.satoshipay = + let + address = "alan@satoshipay.io"; + in + { + inherit address; + primary = lib.mkDefault true; + realName = "Alan Pearce"; + flavor = "gmail.com"; + passwordCommand = "${pkgs.python3Packages.keyring}/bin/keyring get satoshipay-google-mail ${address}"; + folders = { + inbox = "INBOX"; + drafts = "[Gmail]/Drafts"; + sent = "[Gmail]/Sent Mail"; + trash = "[Gmail]/Bin"; + }; + imap = { + tls.enable = true; + }; + smtp = { + tls.enable = true; + }; + mbsync = { + enable = true; + create = "maildir"; + remove = "maildir"; + expunge = "both"; + }; + msmtp = { + enable = true; + }; }; - }; home.file.".npmrc".text = '' @satoshipay:registry=https://registry.npmjs.org/ diff --git a/user/settings/ssh.nix b/user/settings/ssh.nix index 0ccc9796..38a47fad 100644 --- a/user/settings/ssh.nix +++ b/user/settings/ssh.nix @@ -1,8 +1,7 @@ -{ - config, - lib, - pkgs, - ... +{ config +, lib +, pkgs +, ... }: { programs.ssh = { enable = true; diff --git a/user/settings/sxhkd.nix b/user/settings/sxhkd.nix index 83033cc8..75ce0798 100644 --- a/user/settings/sxhkd.nix +++ b/user/settings/sxhkd.nix @@ -1,13 +1,14 @@ -{ - config, - pkgs, - ... -}: let +{ config +, pkgs +, ... +}: +let pamixer = "${pkgs.pamixer}/bin/pamixer"; light = "${pkgs.light}/bin/light"; playerctl = "${pkgs.playerctl}/bin/playerctl"; networkmanager_dmenu = "${pkgs.networkmanager_dmenu}/bin/networkmanager_dmenu"; -in { +in +{ xdg.configFile."sxhkd/sxhkdrc".text = '' XF86AudioMute ${pamixer} --toggle-mute diff --git a/user/settings/tabnine.nix b/user/settings/tabnine.nix index 02f0e071..4b812cb6 100644 --- a/user/settings/tabnine.nix +++ b/user/settings/tabnine.nix @@ -1,9 +1,8 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { - imports = [../modules/tabnine.nix]; + imports = [ ../modules/tabnine.nix ]; home.packages = with pkgs; [ tabnine ]; @@ -28,7 +27,7 @@ tabnine_cloud_certificate_domain = null; tabnine_cloud_host = null; tabnine_cloud_port = null; - cloud_whitelist = []; + cloud_whitelist = [ ]; api_key = null; api_key_service_level = null; api_base_url = null; @@ -46,35 +45,35 @@ lspConfig = { "language.typescript" = { command = "typescript-language-server"; - args = ["--stdio"]; + args = [ "--stdio" ]; }; "language.javascript" = { command = "javascript-typescript-stdio"; - args = ["--stdio"]; + args = [ "--stdio" ]; }; "language.css" = { command = "css-languageserver"; - args = ["--stdio"]; + args = [ "--stdio" ]; }; "language.scss" = { command = "css-languageserver"; - args = ["--stdio"]; + args = [ "--stdio" ]; }; "language.html" = { command = "html-languageserver"; - args = ["--stdio"]; + args = [ "--stdio" ]; }; "language.dockerfile" = { command = "docker-langserver"; - args = ["--stdio"]; + args = [ "--stdio" ]; }; "language.yaml" = { command = "yaml-language-server"; - args = ["--stdio"]; + args = [ "--stdio" ]; }; "language.haskell" = { command = "hie"; - args = ["--stdio"]; + args = [ "--stdio" ]; }; "language.go" = { command = "go-langserver"; diff --git a/user/settings/trezor.nix b/user/settings/trezor.nix index 3211bb42..6996d9b0 100644 --- a/user/settings/trezor.nix +++ b/user/settings/trezor.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { home.file.".ssh/agent.config" = { text = '' diff --git a/user/settings/user-interface.nix b/user/settings/user-interface.nix index af432a91..4f392377 100644 --- a/user/settings/user-interface.nix +++ b/user/settings/user-interface.nix @@ -1,18 +1,19 @@ -{ - config, - pkgs, - ... -}: let +{ config +, pkgs +, ... +}: +let inherit (pkgs) stdenv; -in { +in +{ home.sessionVariables = { TERMINAL = "xterm"; }; programs.keychain = { enable = true; - extraFlags = ["--quiet" "--systemd"]; - keys = []; + extraFlags = [ "--quiet" "--systemd" ]; + keys = [ ]; }; nixpkgs.config.librewolf = { diff --git a/user/settings/xresources.nix b/user/settings/xresources.nix index 3481962d..14d2b4fc 100644 --- a/user/settings/xresources.nix +++ b/user/settings/xresources.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { home.file.".xresources" = { recursive = true; diff --git a/user/settings/zsh.nix b/user/settings/zsh.nix index 7dffecb4..88004637 100644 --- a/user/settings/zsh.nix +++ b/user/settings/zsh.nix @@ -1,9 +1,9 @@ -{ - config, - lib, - pkgs, - ... -}: let +{ config +, lib +, pkgs +, ... +}: +let inherit (pkgs) stdenv; lsOptions = if stdenv.isDarwin @@ -19,7 +19,7 @@ src = stdenv.mkDerivation { inherit (attrs) src; name = "zsh-plugin-${attrs.name}"; - buildInputs = [pkgs.zsh]; + buildInputs = [ pkgs.zsh ]; buildPhase = '' zsh -c 'for f in **/*.zsh; zcompile "$f"' ''; @@ -28,7 +28,8 @@ ''; }; }; -in { +in +{ home.packages = with pkgs; [ fzf ghq |