From 0d8a394dcf24b36274d09be2f8ee18f8c6bfff24 Mon Sep 17 00:00:00 2001 From: Yorick Barbanneau Date: Thu, 25 Sep 2025 23:33:01 +0200 Subject: [PATCH] style: use alejandra formatter on all nix files --- flake.nix | 89 +++-- home-manager/default.nix | 28 +- hosts/luci/hardware-configuration.nix | 66 ++-- hosts/luci/home-config.nix | 2 +- hosts/luci/includes/home-manager.nix | 3 +- hosts/luci/nixos-config.nix | 2 +- hosts/morty/hardware-configuration.nix | 64 ++-- hosts/morty/home-config.nix | 2 +- hosts/morty/includes/home-manager.nix | 6 +- hosts/morty/nixos-config.nix | 2 +- hosts/mrmeeseeks/hardware-configuration.nix | 70 ++-- hosts/mrmeeseeks/home-config.nix | 2 +- hosts/mrmeeseeks/includes/home-manager.nix | 4 +- hosts/mrmeeseeks/nixos-config.nix | 2 +- hosts/rick/home-config.nix | 6 +- hosts/rick/includes/home-manager.nix | 7 +- hosts/work/home-config.nix | 6 +- hosts/work/includes/home-manager.nix | 43 +-- modules/home-manager/accounts/dav/default.nix | 61 ++-- .../home-manager/accounts/email/default.nix | 321 +++++++++++++----- .../home-manager/application/foot/default.nix | 14 +- .../application/gnupg/default.nix | 19 +- .../home-manager/application/imv/default.nix | 16 +- .../application/zathura/default.nix | 14 +- modules/home-manager/audio/cmus/default.nix | 15 +- modules/home-manager/cli/direnv/default.nix | 14 +- modules/home-manager/cli/ghq/default.nix | 15 +- modules/home-manager/cli/git/default.nix | 15 +- modules/home-manager/cli/k8s/default.nix | 23 +- modules/home-manager/cli/neovim/default.nix | 82 ++--- modules/home-manager/cli/starship/default.nix | 12 +- modules/home-manager/cli/tmux/default.nix | 114 ++++--- modules/home-manager/cli/utils/default.nix | 15 +- modules/home-manager/cli/vifm/default.nix | 15 +- modules/home-manager/cli/zellij/default.nix | 12 +- modules/home-manager/cli/zsh/default.nix | 34 +- modules/home-manager/default.nix | 3 +- modules/home-manager/desktop/sway/default.nix | 27 +- .../desktop/sway/includes/fuzzel.nix | 9 +- .../desktop/sway/includes/kanshi.nix | 78 ++--- .../desktop/sway/includes/mako.nix | 21 +- .../desktop/sway/includes/sway.nix | 147 ++++---- .../desktop/sway/includes/swayidle.nix | 32 +- .../desktop/sway/includes/swaylock.nix | 23 +- .../desktop/sway/includes/waybar.nix | 102 +++--- .../home-manager/gaming/lutris/default.nix | 15 +- .../home-manager/video/kdenlive/default.nix | 13 +- modules/home-manager/video/mpv/default.nix | 12 +- modules/home-manager/web/firefox/conf/doh.nix | 8 +- modules/home-manager/web/firefox/conf/drm.nix | 14 +- .../web/firefox/conf/experiments.nix | 15 +- .../web/firefox/conf/extensions.nix | 20 +- .../web/firefox/conf/preferences.nix | 53 ++- .../home-manager/web/firefox/conf/privacy.nix | 131 ++++--- .../web/firefox/conf/safebrowsing.nix | 8 +- .../home-manager/web/firefox/conf/suggest.nix | 23 +- .../web/firefox/conf/telemetry.nix | 22 +- .../home-manager/web/firefox/conf/theme.nix | 14 +- .../web/firefox/conf/tracking.nix | 3 +- modules/home-manager/web/firefox/default.nix | 68 ++-- .../home-manager/web/qutebrowser/default.nix | 15 +- modules/home-manager/web/webcord/default.nix | 17 +- modules/nixos/default.nix | 3 +- modules/nixos/desktop/sway/default.nix | 13 +- modules/nixos/gaming/steam/default.nix | 16 +- modules/nixos/hardware/lact/default.nix | 15 +- modules/nixos/hardware/laptop/default.nix | 13 +- nixos/default.nix | 11 +- nixos/includes/hardware/nitrokey.nix | 2 +- nixos/includes/system/doas.nix | 3 +- nixos/includes/system/flakes.nix | 4 +- nixos/includes/system/locales.nix | 3 +- nixos/includes/system/lvm.nix | 7 +- nixos/includes/system/neovim.nix | 7 +- nixos/includes/system/overlay.nix | 10 +- nixos/includes/system/user.nix | 7 +- 76 files changed, 1287 insertions(+), 935 deletions(-) diff --git a/flake.nix b/flake.nix index 21b1c7b..2a35f7d 100644 --- a/flake.nix +++ b/flake.nix @@ -9,7 +9,7 @@ }; home-manager = { url = "github:nix-community/home-manager"; - inputs.nixpkgs.follows = "nixpkgs"; + inputs.nixpkgs.follows = "nixpkgs"; }; sops-nix = { url = "github:Mic92/sops-nix"; @@ -19,36 +19,52 @@ url = "git+ssh://git@git.epha.se:24422/ephase/nix-private.git?shallow=1&ref=main"; }; }; - outputs = { self, nixpkgs, home-manager, nur, nixgl, sops-nix, ... }@inputs: - let + outputs = { + self, + nixpkgs, + home-manager, + nur, + nixgl, + sops-nix, + ... + } @ inputs: let stateVersion = "23.11"; allSystems = [ - "x86_64-linux" # 64bit AMD/Intel x86 + "x86_64-linux" # 64bit AMD/Intel x86 "aarch64-linux" # 64bit ARM Linux ]; forAllSystems = fn: nixpkgs.lib.genAttrs allSystems - (system: fn { pkgs = import nixpkgs { inherit system; }; }); + (system: fn {pkgs = import nixpkgs {inherit system;};}); - createNixosSystem = { system, hostname, username ? "ephase" }: nixpkgs.lib.nixosSystem { - system = system; - specialArgs = { - inherit stateVersion inputs; - hostname = hostname; - username = username; + createNixosSystem = { + system, + hostname, + username ? "ephase", + }: + nixpkgs.lib.nixosSystem { + system = system; + specialArgs = { + inherit stateVersion inputs; + hostname = hostname; + username = username; + }; + modules = [ + ./nixos/default.nix + ]; }; - modules = [ - ./nixos/default.nix - ]; - }; - createHomeConfiguration = { system ? "x86_64-linux", hostname, username ? "ephase" }: + createHomeConfiguration = { + system ? "x86_64-linux", + hostname, + username ? "ephase", + }: home-manager.lib.homeManagerConfiguration { pkgs = import nixpkgs { system = system; - overlays = [ nixgl.overlay ]; + overlays = [nixgl.overlay]; }; extraSpecialArgs = { inherit stateVersion inputs nixgl; @@ -56,12 +72,12 @@ username = username; }; modules = [ - { nixpkgs.overlays = [ nixgl.overlay ];} + {nixpkgs.overlays = [nixgl.overlay];} ./home-manager/default.nix ]; }; in { - devShells = forAllSystems ({ pkgs }: { + devShells = forAllSystems ({pkgs}: { default = pkgs.mkShell { name = "nixfiles"; buildInputs = [ @@ -78,15 +94,36 @@ }; }); nixosConfigurations = { - morty = createNixosSystem { system = "x86_64-linux"; hostname = "morty"; }; - mrmeeseeks = createNixosSystem { system = "x86_64-linux"; hostname = "mrmeeseeks";}; - luci = createNixosSystem { system = "x86_64-linux"; hostname = "luci"; }; + morty = createNixosSystem { + system = "x86_64-linux"; + hostname = "morty"; + }; + mrmeeseeks = createNixosSystem { + system = "x86_64-linux"; + hostname = "mrmeeseeks"; + }; + luci = createNixosSystem { + system = "x86_64-linux"; + hostname = "luci"; + }; }; homeConfigurations = { - "rick" = createHomeConfiguration { system = "aarch64-linux"; hostname = "rick";}; - "luci" = createHomeConfiguration { system = "x86_64-linux"; hostname = "luci";}; - "morty" = createHomeConfiguration { system = "x86_64-linux"; hostname = "morty";}; - "mrmeeseeks" = createHomeConfiguration { system = "x86_64-linux"; hostname = "mrmeeseeks";}; + "rick" = createHomeConfiguration { + system = "aarch64-linux"; + hostname = "rick"; + }; + "luci" = createHomeConfiguration { + system = "x86_64-linux"; + hostname = "luci"; + }; + "morty" = createHomeConfiguration { + system = "x86_64-linux"; + hostname = "morty"; + }; + "mrmeeseeks" = createHomeConfiguration { + system = "x86_64-linux"; + hostname = "mrmeeseeks"; + }; "work" = createHomeConfiguration { system = "x86_64-linux"; hostname = "work"; diff --git a/home-manager/default.nix b/home-manager/default.nix index f70cd47..cc38aac 100644 --- a/home-manager/default.nix +++ b/home-manager/default.nix @@ -1,13 +1,23 @@ -{ inputs, lib, stateVersion, username, hostname, nixgl, ... }: { - imports = [ - inputs.sops-nix.homeManagerModules.sops - ../hosts/${hostname}/home-config.nix - ../nixos/includes/system/overlay.nix - ../modules/home-manager/default.nix - ] ++ lib.optional ( - builtins.pathExists ../hosts/${hostname}/includes/home-manager.nix - ) ../hosts/${hostname}/includes/home-manager.nix; + inputs, + lib, + stateVersion, + username, + hostname, + nixgl, + ... +}: { + imports = + [ + inputs.sops-nix.homeManagerModules.sops + ../hosts/${hostname}/home-config.nix + ../nixos/includes/system/overlay.nix + ../modules/home-manager/default.nix + ] + ++ lib.optional ( + builtins.pathExists ../hosts/${hostname}/includes/home-manager.nix + ) + ../hosts/${hostname}/includes/home-manager.nix; nixpkgs.config.allowUnfree = true; programs.home-manager.enable = true; diff --git a/hosts/luci/hardware-configuration.nix b/hosts/luci/hardware-configuration.nix index 3a5d77e..70e4cf3 100644 --- a/hosts/luci/hardware-configuration.nix +++ b/hosts/luci/hardware-configuration.nix @@ -1,45 +1,49 @@ # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: - { - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; + config, + lib, + pkgs, + modulesPath, + ... +}: { + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; - boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" "i915" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelParams = [ "intel_pstate=disable" ]; - boot.kernelModules = [ "kvm-intel" "i915" ]; - boot.extraModulePackages = [ ]; + boot.initrd.availableKernelModules = ["xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" "i915"]; + boot.initrd.kernelModules = []; + boot.kernelParams = ["intel_pstate=disable"]; + boot.kernelModules = ["kvm-intel" "i915"]; + boot.extraModulePackages = []; boot.initrd.luks.devices."nixos".device = "/dev/disk/by-uuid/ee06e049-e738-4f1f-84ab-e8066e0f1640"; - fileSystems."/" = - { device = "/dev/disk/by-uuid/97c3403a-fdad-4dc8-a103-a666d5fd8d6c"; - fsType = "btrfs"; - options = [ "subvol=root" "compress=zstd" ]; - }; + fileSystems."/" = { + device = "/dev/disk/by-uuid/97c3403a-fdad-4dc8-a103-a666d5fd8d6c"; + fsType = "btrfs"; + options = ["subvol=root" "compress=zstd"]; + }; - fileSystems."/home" = - { device = "/dev/disk/by-uuid/97c3403a-fdad-4dc8-a103-a666d5fd8d6c"; - fsType = "btrfs"; - options = [ "subvol=home" "compress=zstd"]; - }; + fileSystems."/home" = { + device = "/dev/disk/by-uuid/97c3403a-fdad-4dc8-a103-a666d5fd8d6c"; + fsType = "btrfs"; + options = ["subvol=home" "compress=zstd"]; + }; - fileSystems."/nix" = - { device = "/dev/disk/by-uuid/97c3403a-fdad-4dc8-a103-a666d5fd8d6c"; - fsType = "btrfs"; - options = [ "subvol=nix" "compress=zstd"]; - }; + fileSystems."/nix" = { + device = "/dev/disk/by-uuid/97c3403a-fdad-4dc8-a103-a666d5fd8d6c"; + fsType = "btrfs"; + options = ["subvol=nix" "compress=zstd"]; + }; - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/B77A-53B1"; - fsType = "vfat"; - }; + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/B77A-53B1"; + fsType = "vfat"; + }; - swapDevices = [ ]; + swapDevices = []; # 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 @@ -60,5 +64,5 @@ ]; }; virtualisation.docker.enable = true; - users.extraGroups.docker.members = [ "ephase" ]; + users.extraGroups.docker.members = ["ephase"]; } diff --git a/hosts/luci/home-config.nix b/hosts/luci/home-config.nix index 7b9558f..2d28771 100644 --- a/hosts/luci/home-config.nix +++ b/hosts/luci/home-config.nix @@ -1,4 +1,4 @@ -{ ... }: { +{...}: { config.modules = { application = { gnupg.enable = true; diff --git a/hosts/luci/includes/home-manager.nix b/hosts/luci/includes/home-manager.nix index 78957fc..c42afbd 100644 --- a/hosts/luci/includes/home-manager.nix +++ b/hosts/luci/includes/home-manager.nix @@ -1,5 +1,4 @@ -{ ... }: -{ +{...}: { ## Specific host home manager configuration wayland.windowManager.sway.config = { input = { diff --git a/hosts/luci/nixos-config.nix b/hosts/luci/nixos-config.nix index 159340a..37eb6c9 100644 --- a/hosts/luci/nixos-config.nix +++ b/hosts/luci/nixos-config.nix @@ -1,4 +1,4 @@ -{ ... }: { +{...}: { config.modules.desktop.sway.enable = true; config.modules.gaming.steam.enable = false; config.modules.hardware.laptop.enable = true; diff --git a/hosts/morty/hardware-configuration.nix b/hosts/morty/hardware-configuration.nix index d2ccc01..57e6c39 100644 --- a/hosts/morty/hardware-configuration.nix +++ b/hosts/morty/hardware-configuration.nix @@ -1,45 +1,49 @@ # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: - { - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; + config, + lib, + pkgs, + modulesPath, + ... +}: { + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; - boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "usbhid" "sd_mod" "i915" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-intel" "i915" ]; - boot.extraModulePackages = [ ]; - boot.kernelParams = ["fbcon=rotate:1" "video=eDP-1:panel_orientation=right_side_up" "intel_pstate=disable" ]; + boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "nvme" "usb_storage" "usbhid" "sd_mod" "i915"]; + boot.initrd.kernelModules = []; + boot.kernelModules = ["kvm-intel" "i915"]; + boot.extraModulePackages = []; + boot.kernelParams = ["fbcon=rotate:1" "video=eDP-1:panel_orientation=right_side_up" "intel_pstate=disable"]; boot.loader.systemd-boot.consoleMode = "max"; - fileSystems."/" = - { device = "/dev/disk/by-uuid/d28d59b0-a44d-4b17-9338-2ca69a1efca7"; - fsType = "btrfs"; - options = [ "subvol=root" "compress=zstd"]; - }; + fileSystems."/" = { + device = "/dev/disk/by-uuid/d28d59b0-a44d-4b17-9338-2ca69a1efca7"; + fsType = "btrfs"; + options = ["subvol=root" "compress=zstd"]; + }; boot.initrd.luks.devices."nixos".device = "/dev/disk/by-uuid/ad4fa799-214c-4e5e-996a-8776e010fb2f"; - fileSystems."/nix" = - { device = "/dev/disk/by-uuid/d28d59b0-a44d-4b17-9338-2ca69a1efca7"; - fsType = "btrfs"; - options = [ "subvol=nix" "compress=zstd" ]; - }; + fileSystems."/nix" = { + device = "/dev/disk/by-uuid/d28d59b0-a44d-4b17-9338-2ca69a1efca7"; + fsType = "btrfs"; + options = ["subvol=nix" "compress=zstd"]; + }; - fileSystems."/home" = - { device = "/dev/disk/by-uuid/d28d59b0-a44d-4b17-9338-2ca69a1efca7"; - fsType = "btrfs"; - options = [ "subvol=home" "compress=zstd" ]; - }; + fileSystems."/home" = { + device = "/dev/disk/by-uuid/d28d59b0-a44d-4b17-9338-2ca69a1efca7"; + fsType = "btrfs"; + options = ["subvol=home" "compress=zstd"]; + }; - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/E83D-CDFE"; - fsType = "vfat"; - }; + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/E83D-CDFE"; + fsType = "vfat"; + }; - swapDevices = [ ]; + swapDevices = []; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; diff --git a/hosts/morty/home-config.nix b/hosts/morty/home-config.nix index 690d3ad..5fff91e 100644 --- a/hosts/morty/home-config.nix +++ b/hosts/morty/home-config.nix @@ -1,4 +1,4 @@ -{ inputs, ... }: { +{inputs, ...}: { config.modules = { email = { enable = true; diff --git a/hosts/morty/includes/home-manager.nix b/hosts/morty/includes/home-manager.nix index 9643c77..aedd064 100644 --- a/hosts/morty/includes/home-manager.nix +++ b/hosts/morty/includes/home-manager.nix @@ -1,7 +1,5 @@ -{ ... }: -{ - home.file.".config/xkb/symbols/gpdwinmax".text = - '' +{...}: { + home.file.".config/xkb/symbols/gpdwinmax".text = '' default partial alphanumeric_keys xkb_symbols "us-intl-winmax" { name[group1] = "GPD Win Max us-inlt"; diff --git a/hosts/morty/nixos-config.nix b/hosts/morty/nixos-config.nix index e824f72..b6d69ab 100644 --- a/hosts/morty/nixos-config.nix +++ b/hosts/morty/nixos-config.nix @@ -1,4 +1,4 @@ -{ ... }: { +{...}: { config.modules.desktop.sway.enable = true; config.modules.gaming.steam.enable = true; config.modules.hardware.laptop = { diff --git a/hosts/mrmeeseeks/hardware-configuration.nix b/hosts/mrmeeseeks/hardware-configuration.nix index 72fd750..a85045d 100644 --- a/hosts/mrmeeseeks/hardware-configuration.nix +++ b/hosts/mrmeeseeks/hardware-configuration.nix @@ -1,61 +1,65 @@ # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: - { - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; + config, + lib, + pkgs, + modulesPath, + ... +}: { + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; - boot.initrd.availableKernelModules = [ + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" - "usb_storage" - "sd_mod" + "usb_storage" + "sd_mod" "amdgpu" ]; - boot.initrd.kernelModules = [ + boot.initrd.kernelModules = [ "dm-cache-default" ]; - boot.kernelModules = [ - "kvm-amd" - "amdgpu" - ]; + boot.kernelModules = [ + "kvm-amd" + "amdgpu" + ]; boot.kernelParams = [ "amdgpu.ppfeaturemask=0xffffffff" ]; - - boot.extraModulePackages = [ ]; + + boot.extraModulePackages = []; boot.initrd.luks.devices."nixos".device = "/dev/disk/by-uuid/ea7fa60d-35e5-48b8-95d7-142f37b262cd"; boot.initrd.luks.devices."nixos".preLVM = true; - fileSystems."/" = - { device = "/dev/disk/by-uuid/9d1e5022-0265-4ce7-824e-282ee550d52d"; - fsType = "btrfs"; - options = [ "subvol=@root" "compress=zstd"]; - }; + fileSystems."/" = { + device = "/dev/disk/by-uuid/9d1e5022-0265-4ce7-824e-282ee550d52d"; + fsType = "btrfs"; + options = ["subvol=@root" "compress=zstd"]; + }; - fileSystems."/home" = - { device = "/dev/disk/by-uuid/9d1e5022-0265-4ce7-824e-282ee550d52d"; - fsType = "btrfs"; - options = [ "subvol=@home" "compress=zstd"]; - }; + fileSystems."/home" = { + device = "/dev/disk/by-uuid/9d1e5022-0265-4ce7-824e-282ee550d52d"; + fsType = "btrfs"; + options = ["subvol=@home" "compress=zstd"]; + }; - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/F027-F53F"; - fsType = "vfat"; - }; + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/F027-F53F"; + fsType = "vfat"; + }; - fileSystems."/mnt/gamelib" = - { device = "/dev/mapper/tank-gamelib"; + fileSystems."/mnt/gamelib" = { + device = "/dev/mapper/tank-gamelib"; fsType = "ext4"; }; - swapDevices = [ ]; + swapDevices = []; # 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 @@ -66,7 +70,7 @@ # networking.interfaces.wlp37s0.useDHCP = lib.mkDefault true; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - + hardware.cpu.amd.updateMicrocode = true; hardware.graphics = { enable32Bit = true; diff --git a/hosts/mrmeeseeks/home-config.nix b/hosts/mrmeeseeks/home-config.nix index d00ab09..78d763b 100644 --- a/hosts/mrmeeseeks/home-config.nix +++ b/hosts/mrmeeseeks/home-config.nix @@ -1,4 +1,4 @@ -{ inputs, ... }: { +{inputs, ...}: { config.modules = { application = { gnupg = { diff --git a/hosts/mrmeeseeks/includes/home-manager.nix b/hosts/mrmeeseeks/includes/home-manager.nix index e911320..0e4213a 100644 --- a/hosts/mrmeeseeks/includes/home-manager.nix +++ b/hosts/mrmeeseeks/includes/home-manager.nix @@ -3,14 +3,14 @@ _: { wayland.windowManager.sway.config.output = { "Iiyama North America PL2792UH 1166310803122" = { max_render_time = "5"; - mode = "3840x2160@60Hz"; + mode = "3840x2160@60Hz"; position = "1235,0"; scale = "1.75"; bg = "~/medias/images/wallpapers/desktop.jpg center #000000"; }; "Iiyama North America PL2792UH 1176923201598" = { max_render_time = "5"; - mode = "3840x2160@60Hz"; + mode = "3840x2160@60Hz"; position = "0,0"; scale = "1.75"; transform = "270"; diff --git a/hosts/mrmeeseeks/nixos-config.nix b/hosts/mrmeeseeks/nixos-config.nix index 2ed041a..5019604 100644 --- a/hosts/mrmeeseeks/nixos-config.nix +++ b/hosts/mrmeeseeks/nixos-config.nix @@ -1,4 +1,4 @@ -{ ... }: { +{...}: { config.modules.desktop.sway.enable = true; config.modules.gaming.steam = { enable = true; diff --git a/hosts/rick/home-config.nix b/hosts/rick/home-config.nix index ee3013b..6fc8d29 100644 --- a/hosts/rick/home-config.nix +++ b/hosts/rick/home-config.nix @@ -1,4 +1,8 @@ -{ pkgs, inputs, ... }: { +{ + pkgs, + inputs, + ... +}: { config.modules = { application = { gnupg.enable = true; diff --git a/hosts/rick/includes/home-manager.nix b/hosts/rick/includes/home-manager.nix index 8fd595c..68c8483 100644 --- a/hosts/rick/includes/home-manager.nix +++ b/hosts/rick/includes/home-manager.nix @@ -1,11 +1,10 @@ -_: -{ +_: { wayland.windowManager.sway.config.output = { "eDP-1" = { scale = "1.4"; }; "HDMI-A-1" = { - disable = ""; + disable = ""; }; }; wayland.windowManager.sway.config.input = { @@ -15,7 +14,7 @@ _: }; }; programs.zsh.loginExtra = '' - #notmutch + # notmuch export NOTMUCH_CONFIG="$HOME/.config/notmuch/config" # export PATH=~/.local/bin:$PATH # export XDG_DATA_HOME=$HOME/.local/share diff --git a/hosts/work/home-config.nix b/hosts/work/home-config.nix index 733c542..262c650 100644 --- a/hosts/work/home-config.nix +++ b/hosts/work/home-config.nix @@ -1,4 +1,8 @@ -{ pkgs, inputs, ... }: { +{ + pkgs, + inputs, + ... +}: { config.modules = { application = { zathura.enable = true; diff --git a/hosts/work/includes/home-manager.nix b/hosts/work/includes/home-manager.nix index 92fc843..93a8cee 100644 --- a/hosts/work/includes/home-manager.nix +++ b/hosts/work/includes/home-manager.nix @@ -1,24 +1,27 @@ -{ pkgs, config, ... }: { - home.packages = with pkgs; [ - dejavu_fonts - font-awesome - lato - liberation_ttf - libertine - libnotify - nerd-fonts.fira-code - nerd-fonts.fira-mono - noto-fonts-emoji - noto-fonts-cjk-sans - slurp - wl-clipboard - (config.lib.nixGL.wrap ungoogled-chromium) - (config.lib.nixGL.wrap slack) - ]; - targets.genericLinux.enable = true; - xdg.mime.enable = true; - wayland.windowManager.sway.config.input = { + pkgs, + config, + ... +}: { + home.packages = with pkgs; [ + dejavu_fonts + font-awesome + lato + liberation_ttf + libertine + libnotify + nerd-fonts.fira-code + nerd-fonts.fira-mono + noto-fonts-emoji + noto-fonts-cjk-sans + slurp + wl-clipboard + (config.lib.nixGL.wrap ungoogled-chromium) + (config.lib.nixGL.wrap slack) + ]; + targets.genericLinux.enable = true; + xdg.mime.enable = true; + wayland.windowManager.sway.config.input = { "1:1:AT_Translated_Set_2_keyboard" = { xkb_layout = "us"; xkb_variant = "altgr-intl"; diff --git a/modules/home-manager/accounts/dav/default.nix b/modules/home-manager/accounts/dav/default.nix index ddb3f4a..93de47e 100644 --- a/modules/home-manager/accounts/dav/default.nix +++ b/modules/home-manager/accounts/dav/default.nix @@ -1,23 +1,26 @@ -{ lib, config, inputs, pkgs, ... }: -with lib; -let +{ + lib, + config, + inputs, + pkgs, + ... +}: +with lib; let cfg = config.modules.dav; secretsDirectory = "${(builtins.toString inputs.nix-private)}/secrets"; vdirsyncerConf = { enable = true; auth = "basic"; }; -in -{ +in { options.modules.dav = { enable = mkEnableOption "enable personal Caldav / CardDav"; }; config = mkIf cfg.enable { - sops = { secrets = { "${inputs.nix-private.dav.personal.secret.key}" = { - sopsFile = "${secretsDirectory}/${inputs.nix-private.dav.personal.secret.file}"; + sopsFile = "${secretsDirectory}/${inputs.nix-private.dav.personal.secret.file}"; }; }; }; @@ -34,20 +37,22 @@ in "${config.sops.secrets."${inputs.nix-private.dav.personal.secret.key}".path}" ]; }; - vdirsyncer = vdirsyncerConf // { - metadata = [ - "color" - "displayname" - ]; - itemTypes = [ - "VTODO" - "VEVENT" - ]; - collections = [ - "from a" - "from b" - ]; - }; + vdirsyncer = + vdirsyncerConf + // { + metadata = [ + "color" + "displayname" + ]; + itemTypes = [ + "VTODO" + "VEVENT" + ]; + collections = [ + "from a" + "from b" + ]; + }; khal = { enable = true; type = "discover"; @@ -70,11 +75,13 @@ in type = "filesystem"; fileExt = ".vcf"; }; - vdirsyncer = vdirsyncerConf // { - metadata = [ - "displayname" - ]; - }; + vdirsyncer = + vdirsyncerConf + // { + metadata = [ + "displayname" + ]; + }; khal = { enable = true; color = "#26A269"; @@ -113,7 +120,7 @@ in general = { default_action = "list"; editor = ["nvim" "-i" "NONE"]; - merge_editor = [ "nvim" "-d" ]; + merge_editor = ["nvim" "-d"]; }; }; }; diff --git a/modules/home-manager/accounts/email/default.nix b/modules/home-manager/accounts/email/default.nix index e746ad8..e86498b 100644 --- a/modules/home-manager/accounts/email/default.nix +++ b/modules/home-manager/accounts/email/default.nix @@ -1,10 +1,14 @@ -{ lib, config, pkgs, inputs, ... }: -with lib; -let +{ + lib, + config, + pkgs, + inputs, + ... +}: +with lib; let cfg = config.modules.email; secretsDirectory = "${(builtins.toString inputs.nix-private)}/secrets"; -in -{ +in { options.modules.email = { enable = mkEnableOption "Enable email accounts configuration"; @@ -23,11 +27,14 @@ in config = mkIf cfg.enable { sops = let - secretList = lib.mapAttrs' ( name: value: - nameValuePair ( value.secret.key ) ({ - sopsFile = "${secretsDirectory}/${value.secret.file}"; - }) - ) cfg.accountConfigs; + secretList = + lib.mapAttrs' ( + name: value: + nameValuePair (value.secret.key) { + sopsFile = "${secretsDirectory}/${value.secret.file}"; + } + ) + cfg.accountConfigs; in { secrets = secretList; }; @@ -55,28 +62,32 @@ in showDefaultMailbox = false; }; }; - accountsList = lib.mapAttrs ( name: value: lib.recursiveUpdate defaultSetting value.config ) cfg.accountConfigs; + accountsList = lib.mapAttrs (name: value: lib.recursiveUpdate defaultSetting value.config) cfg.accountConfigs; in { maildirBasePath = "mail"; - accounts = lib.recursiveUpdate accountsList { "${cfg.primary}".primary = true; }; + accounts = lib.recursiveUpdate accountsList {"${cfg.primary}".primary = true;}; }; programs.afew = let mailMoverRules = lib.mergeAttrsList ( lib.attrsets.mapAttrsToList ( n: v: - if lib.hasAttrByPath ["afew" "mailMover"] v then - v.afew.mailMover - else {} - ) cfg.accountConfigs); + if lib.hasAttrByPath ["afew" "mailMover"] v + then v.afew.mailMover + else {} + ) + cfg.accountConfigs + ); mailFilterRules = lib.flatten ( lib.attrsets.mapAttrsToList ( n: v: - if lib.hasAttrByPath ["afew" "filters"] v then - v.afew.filters - else [] - ) cfg.accountConfigs); - in { + if lib.hasAttrByPath ["afew" "filters"] v + then v.afew.filters + else [] + ) + cfg.accountConfigs + ); + in { enable = true; extraConfig = '' [FolderNameFilter] @@ -96,16 +107,20 @@ in ''; }; programs.neomutt = let - accountMacros = lib.imap1 ( - i: - elem: elem // { - map = ["index" "pager"]; - key = ""; - }) ( + accountMacros = + lib.imap1 ( + i: elem: + elem + // { + map = ["index" "pager"]; + key = ""; + } + ) ( lib.attrsets.mapAttrsToList ( - n: c: - { "action" = "source ~/.config/neomutt/${n}Unread:${c.config.address}";} - ) cfg.accountConfigs); + n: c: {"action" = "source ~/.config/neomutt/${n}Unread:${c.config.address}";} + ) + cfg.accountConfigs + ); in { enable = true; unmailboxes = true; @@ -136,94 +151,224 @@ in envelope_from = "yes"; use_envelope_from = "no"; my_status = "' %o/%m  | %l 󰉉 | %f %* Sort: %s-%S Pos: %P '"; - my_pager = "'  %F |  %s %* Pos: %P '"; + my_pager = "'  %F |  %s %* Pos: %P '"; compose_format = "' COMPOSE  %a | 󰉉 %l'"; query_command = "'${pkgs.khard}/bin/khard email --parsable --search-in-source-files %s'"; virtual_spoolfile = "yes"; mail_check_stats = "yes"; mh_purge = "yes"; - mailcap_path= "${config.xdg.configHome}/neomutt/mailcap"; + mailcap_path = "${config.xdg.configHome}/neomutt/mailcap"; }; extraConfig = '' - ${(builtins.readFile ./files/theme.muttrc)} - set reverse_name - charset-hook ^iso-8859-1$ cp1252 - ignore * + ${(builtins.readFile ./files/theme.muttrc)} + set reverse_name + charset-hook ^iso-8859-1$ cp1252 + ignore * - unignore from date subject to cc bcc tags user-agent x-mailer + unignore from date subject to cc bcc tags user-agent x-mailer - # Attachment - auto_view text/x-vcard text/html text/enriched text/calendar - alternative_order text/html text/enriched text/plain text/* + # Attachment + auto_view text/x-vcard text/html text/enriched text/calendar + alternative_order text/html text/enriched text/plain text/* - tag-transforms "attachment" "󰁦" \ - "encrypted" "󱧈" \ - "signed" "󱅞" \ - "unread" "" \ - "replied" "" - tag-formats "attachment" "GA" \ - "encrypted" "GE" \ - "signed" "GS" \ - "unread" "GU" \ - "replied" "GR" + tag-transforms "attachment" "󰁦" \ + "encrypted" "󱧈" \ + "signed" "󱅞" \ + "unread" "" \ + "replied" "" + tag-formats "attachment" "GA" \ + "encrypted" "GE" \ + "signed" "GS" \ + "unread" "GU" \ + "replied" "GR" - ${lib.concatStrings (lib.attrsets.mapAttrsToList ( _: v: if lib.hasAttrByPath [ "neomuttHooks" ] v then v.neomuttHooks else "" ) cfg.accountConfigs)} - # manually source first account instead of use home-manager parameter because - # of $my_pager expansion does not work as this variable is not already set - source ${config.xdg.configHome}/neomutt/${cfg.primary} + ${lib.concatStrings (lib.attrsets.mapAttrsToList (_: v: + if lib.hasAttrByPath ["neomuttHooks"] v + then v.neomuttHooks + else "") + cfg.accountConfigs)} + # manually source first account instead of use home-manager parameter because + # of $my_pager expansion does not work as this variable is not already set + source ${config.xdg.configHome}/neomutt/${cfg.primary} ''; binds = [ - { map = [ "attach" "browser" "index" "pager" ]; key = "g"; action = "noop"; } - { map = [ "attach" "browser" "index" "pager" ]; key = "G"; action = "noop"; } - { map = [ "index" ]; key = "q"; action = "noop";} - { map = [ "pager" ]; key = "Q"; action = "noop";} - { map = [ "attach" "browser" "index" ]; key = "gg"; action = "first-entry";} - { map = [ "attach" "browser" "index" ]; key = "G"; action = "last-entry";} - { map = [ "pager" ]; key = "gg"; action = "top"; } - { map = [ "pager" ]; key = "G"; action = "bottom"; } - { map = [ "pager" ]; key = "k"; action = "previous-line"; } - { map = [ "pager" ]; key = "j"; action = "next-line"; } + { + map = ["attach" "browser" "index" "pager"]; + key = "g"; + action = "noop"; + } + { + map = ["attach" "browser" "index" "pager"]; + key = "G"; + action = "noop"; + } + { + map = ["index"]; + key = "q"; + action = "noop"; + } + { + map = ["pager"]; + key = "Q"; + action = "noop"; + } + { + map = ["attach" "browser" "index"]; + key = "gg"; + action = "first-entry"; + } + { + map = ["attach" "browser" "index"]; + key = "G"; + action = "last-entry"; + } + { + map = ["pager"]; + key = "gg"; + action = "top"; + } + { + map = ["pager"]; + key = "G"; + action = "bottom"; + } + { + map = ["pager"]; + key = "k"; + action = "previous-line"; + } + { + map = ["pager"]; + key = "j"; + action = "next-line"; + } # Scrolling - { map = [ "attach" "browser" "pager" "index" ]; key = "\\CF"; action = "next-page";} - { map = [ "attach" "browser" "pager" "index" ]; key = "\\CB"; action = "previous-page";} - { map = [ "attach" "browser" "pager" "index" ]; key = "\\Cu"; action = "half-up";} - { map = [ "attach" "browser" "pager" "index" ]; key = "\\Cd"; action = "half-down";} - { map = [ "browser" "pager" ]; key = "\\Ce"; action = "next-line";} - { map = [ "browser" "pager" ]; key = "\\Cy"; action = "previous-line";} - { map = [ "index" ]; key = "\\Ce"; action = "next-line";} - { map = [ "index" ]; key = "\\Cy"; action = "previous-line";} + { + map = ["attach" "browser" "pager" "index"]; + key = "\\CF"; + action = "next-page"; + } + { + map = ["attach" "browser" "pager" "index"]; + key = "\\CB"; + action = "previous-page"; + } + { + map = ["attach" "browser" "pager" "index"]; + key = "\\Cu"; + action = "half-up"; + } + { + map = ["attach" "browser" "pager" "index"]; + key = "\\Cd"; + action = "half-down"; + } + { + map = ["browser" "pager"]; + key = "\\Ce"; + action = "next-line"; + } + { + map = ["browser" "pager"]; + key = "\\Cy"; + action = "previous-line"; + } + { + map = ["index"]; + key = "\\Ce"; + action = "next-line"; + } + { + map = ["index"]; + key = "\\Cy"; + action = "previous-line"; + } # Reply - { map =[ "pager" "index" ]; key = "R"; action = "group-reply";} + { + map = ["pager" "index"]; + key = "R"; + action = "group-reply"; + } # sidebar - { map = [ "index" "pager" ]; key = ""; action = "sidebar-toggle-visible";} - { map = [ "index" "pager" ]; key = "{"; action = "sidebar-prev";} - { map = [ "index" "pager" ]; key = "}"; action = "sidebar-next";} - { map = [ "index" "pager" ]; key = "|"; action = "sidebar-open";} + { + map = ["index" "pager"]; + key = ""; + action = "sidebar-toggle-visible"; + } + { + map = ["index" "pager"]; + key = "{"; + action = "sidebar-prev"; + } + { + map = ["index" "pager"]; + key = "}"; + action = "sidebar-next"; + } + { + map = ["index" "pager"]; + key = "|"; + action = "sidebar-open"; + } # open virtual folder - { map = [ "index" "pager" ]; key = "X"; action = "noop";} - { map = [ "index" "pager" ]; key = "X"; action = "change-vfolder";} + { + map = ["index" "pager"]; + key = "X"; + action = "noop"; + } + { + map = ["index" "pager"]; + key = "X"; + action = "change-vfolder"; + } # read entire thread of the current message - { map = [ "index" "pager" ]; key = "+"; action = "entire-thread";} + { + map = ["index" "pager"]; + key = "+"; + action = "entire-thread"; + } # generate virtual folder from query - { map = [ "index" "pager" ]; key = "\\eX"; action = "vfolder-from-query";} + { + map = ["index" "pager"]; + key = "\\eX"; + action = "vfolder-from-query"; + } # generate virtual folder from query with time window - { map = [ "index" "pager" ]; key = "\\CD"; action = "modify-tags";} + { + map = ["index" "pager"]; + key = "\\CD"; + action = "modify-tags"; + } # Editor - { map = [ "editor" ]; key = ""; action = "complete-query";} - { map = [ "editor" ]; key = "^T"; action = "complete";} + { + map = ["editor"]; + key = ""; + action = "complete-query"; + } + { + map = ["editor"]; + key = "^T"; + action = "complete"; + } ]; - macros = [ - { map = [ "pager" ]; key = "\\CB"; action = "${pkgs.urlscan}/bin/urlscan -d -c --color true"; } - ] ++ accountMacros; + macros = + [ + { + map = ["pager"]; + key = "\\CB"; + action = "${pkgs.urlscan}/bin/urlscan -d -c --color true"; + } + ] + ++ accountMacros; }; programs.mbsync = { enable = true; @@ -234,7 +379,7 @@ in }; programs.notmuch = { enable = true; - new.tags = [ "new" ]; + new.tags = ["new"]; hooks.postNew = '' ${pkgs.afew}/bin/afew --tag --new ${pkgs.afew}/bin/afew --move --all diff --git a/modules/home-manager/application/foot/default.nix b/modules/home-manager/application/foot/default.nix index 5807274..0ffe094 100644 --- a/modules/home-manager/application/foot/default.nix +++ b/modules/home-manager/application/foot/default.nix @@ -1,9 +1,11 @@ -{ lib, config, ... }: -with lib; -let - cfg = config.modules.application.foot; -in { + lib, + config, + ... +}: +with lib; let + cfg = config.modules.application.foot; +in { options.modules.application.foot = { enable = mkEnableOption "enable Foot terminal emulator"; @@ -65,7 +67,7 @@ in selection-foreground = "181818"; urls = "b8b8b8"; jump-labels = "181818 f7ca88"; - scrollback-indicator= "181818 b8b8b8"; + scrollback-indicator = "181818 b8b8b8"; }; scrollback = { lines = cfg.scrollback-lines; diff --git a/modules/home-manager/application/gnupg/default.nix b/modules/home-manager/application/gnupg/default.nix index 62a2aab..28c01d6 100644 --- a/modules/home-manager/application/gnupg/default.nix +++ b/modules/home-manager/application/gnupg/default.nix @@ -1,9 +1,12 @@ -{ lib, config, pkgs, ... }: -with lib; -let - cfg = config.modules.application.gnupg; -in { + lib, + config, + pkgs, + ... +}: +with lib; let + cfg = config.modules.application.gnupg; +in { options.modules.application.gnupg = { enable = mkEnableOption "enable GnuPG and related utils"; @@ -20,7 +23,6 @@ in }; }; config = mkIf cfg.enable { - home.packages = with pkgs; [ # pinentry-gnome gcr @@ -46,7 +48,10 @@ in noAllowExternalCache = true; }; - services.ssh-agent.enable = if cfg.enableSshSupport then false else true; + services.ssh-agent.enable = + if cfg.enableSshSupport + then false + else true; programs.password-store = { enable = cfg.pass; }; diff --git a/modules/home-manager/application/imv/default.nix b/modules/home-manager/application/imv/default.nix index 3d791ab..b8ab6e6 100644 --- a/modules/home-manager/application/imv/default.nix +++ b/modules/home-manager/application/imv/default.nix @@ -1,9 +1,12 @@ -{ lib, config, pkgs, ... }: -with lib; -let - cfg = config.modules.application.imv; -in { + lib, + config, + pkgs, + ... +}: +with lib; let + cfg = config.modules.application.imv; +in { options.modules.application.imv = { enable = mkEnableOption "enable IMV image viewer"; @@ -12,14 +15,13 @@ in default = true; description = "install Package, if false relies on distribution packages"; }; - }; config = mkIf cfg.enable { programs.imv = { enable = true; }; xdg.mimeApps.defaultApplications = { - "image/*" = "imv-dir.desktop"; + "image/*" = "imv-dir.desktop"; }; }; } diff --git a/modules/home-manager/application/zathura/default.nix b/modules/home-manager/application/zathura/default.nix index d710830..56922a7 100644 --- a/modules/home-manager/application/zathura/default.nix +++ b/modules/home-manager/application/zathura/default.nix @@ -1,9 +1,11 @@ -{ lib, config, ... }: -with lib; -let - cfg = config.modules.application.zathura; -in { + lib, + config, + ... +}: +with lib; let + cfg = config.modules.application.zathura; +in { options.modules.application.zathura = { enable = mkEnableOption "enable Zathura PDF viewer"; }; @@ -17,7 +19,7 @@ in }; }; xdg.mimeApps.defaultApplications = { - "application/pdf" = "org.pwmt.zathura.desktop"; + "application/pdf" = "org.pwmt.zathura.desktop"; }; }; } diff --git a/modules/home-manager/audio/cmus/default.nix b/modules/home-manager/audio/cmus/default.nix index acec36f..34163ce 100644 --- a/modules/home-manager/audio/cmus/default.nix +++ b/modules/home-manager/audio/cmus/default.nix @@ -1,10 +1,13 @@ -{ lib, config, pkgs, ... }: -with lib; -let - cfg = config.modules.audio.cmus; -in { - options.modules.audio.cmus= { + lib, + config, + pkgs, + ... +}: +with lib; let + cfg = config.modules.audio.cmus; +in { + options.modules.audio.cmus = { enable = mkEnableOption "enable cmus audio player"; }; config = mkIf cfg.enable { diff --git a/modules/home-manager/cli/direnv/default.nix b/modules/home-manager/cli/direnv/default.nix index 7397289..4356ecb 100644 --- a/modules/home-manager/cli/direnv/default.nix +++ b/modules/home-manager/cli/direnv/default.nix @@ -1,9 +1,11 @@ -{ lib, config, ... }: -with lib; -let - cfg = config.modules.cli.direnv; -in { + lib, + config, + ... +}: +with lib; let + cfg = config.modules.cli.direnv; +in { options.modules.cli.direnv = { enable = mkEnableOption "enable direnv"; }; @@ -12,7 +14,7 @@ in programs.direnv = { enable = true; enableZshIntegration = true; - nix-direnv.enable = true; + nix-direnv.enable = true; }; }; } diff --git a/modules/home-manager/cli/ghq/default.nix b/modules/home-manager/cli/ghq/default.nix index d9066b3..31d44da 100644 --- a/modules/home-manager/cli/ghq/default.nix +++ b/modules/home-manager/cli/ghq/default.nix @@ -1,9 +1,12 @@ -{ lib, config, pkgs, ... }: -with lib; -let - cfg = config.modules.cli.ghq; -in { + lib, + config, + pkgs, + ... +}: +with lib; let + cfg = config.modules.cli.ghq; +in { options.modules.cli.ghq = { enable = mkEnableOption "enable ghq"; }; @@ -18,7 +21,7 @@ in root = "~/code"; }; }; - + home.shellAliases = { # thanks jdauliac for the tip g = "cd $(${pkgs.ghq}/bin/ghq root)/$(${pkgs.ghq}/bin/ghq list | ${pkgs.fzf}/bin/fzf)"; diff --git a/modules/home-manager/cli/git/default.nix b/modules/home-manager/cli/git/default.nix index fc1236b..4e9d71e 100644 --- a/modules/home-manager/cli/git/default.nix +++ b/modules/home-manager/cli/git/default.nix @@ -1,9 +1,13 @@ -{ lib, config, pkgs, inputs, ... }: -with lib; -let - cfg = config.modules.cli.git; -in { + lib, + config, + pkgs, + inputs, + ... +}: +with lib; let + cfg = config.modules.cli.git; +in { options.modules.cli.git = { enable = mkEnableOption "enable git"; @@ -40,7 +44,6 @@ in dark = true; line-numbers = true; syntax-theme = "base16-256"; - }; }; package = pkgs.gitFull; diff --git a/modules/home-manager/cli/k8s/default.nix b/modules/home-manager/cli/k8s/default.nix index 7afaf2c..ef40022 100644 --- a/modules/home-manager/cli/k8s/default.nix +++ b/modules/home-manager/cli/k8s/default.nix @@ -1,9 +1,12 @@ -{ lib, config, pkgs, ... }: -with lib; -let - cfg = config.modules.cli.k8s; -in { + lib, + config, + pkgs, + ... +}: +with lib; let + cfg = config.modules.cli.k8s; +in { options.modules.cli.k8s = { enable = mkEnableOption "Install k8s utils"; @@ -15,10 +18,12 @@ in }; config = mkIf cfg.enable { - home.packages = with pkgs; [ - kubectl - kubecm - ] ++ cfg.kubectlPlugins; + home.packages = with pkgs; + [ + kubectl + kubecm + ] + ++ cfg.kubectlPlugins; programs.k9s = { enable = true; }; diff --git a/modules/home-manager/cli/neovim/default.nix b/modules/home-manager/cli/neovim/default.nix index aa5bb6e..71766a2 100644 --- a/modules/home-manager/cli/neovim/default.nix +++ b/modules/home-manager/cli/neovim/default.nix @@ -1,6 +1,10 @@ -{ lib, pkgs, config, ... }: -with lib; -let +{ + lib, + pkgs, + config, + ... +}: +with lib; let cfg = config.modules.cli.neovim; nvim-spell-fr-utf8-dictionary = builtins.fetchurl { url = "https://ftp.nluug.nl/vim/runtime/spell/fr.utf-8.spl"; @@ -14,15 +18,15 @@ let ## Dynamically create LSP servers configurations list regarding ## files in `./files/lsp` lspConfigFiles = lib.mapAttrs' ( - k: _: lib.nameValuePair - ("${config.xdg.configHome}/nvim/lsp/${k}") - ({ source = ./files/lsp/${k};}) - ) (builtins.readDir ./files/lsp); + k: _: + lib.nameValuePair + "${config.xdg.configHome}/nvim/lsp/${k}" + {source = ./files/lsp/${k};} + ) (builtins.readDir ./files/lsp); ## This variable contains neovim LSP activations lspLuaConfig = lib.attrsets.mapAttrsToList ( - k: v: - "vim.lsp.enable('${lib.removeSuffix ".lua" k}')" + k: v: "vim.lsp.enable('${lib.removeSuffix ".lua" k}')" ) (builtins.readDir ./files/lsp); ## Tony plugins to have a proper helm linting. @@ -35,16 +39,17 @@ let ref = "main"; }; }; -in -{ +in { options.modules.cli.neovim = { enable = mkEnableOption "enable Neovim text editor"; }; config = mkIf cfg.enable { - home.file = lspConfigFiles // { - "${config.xdg.configHome}/nvim/spell/fr.utf-8.spl".source = nvim-spell-fr-utf8-dictionary; - "${config.xdg.configHome}/nvim/spell/fr.utf-8.sug".source = nvim-spell-fr-utf8-suggestions; - }; + home.file = + lspConfigFiles + // { + "${config.xdg.configHome}/nvim/spell/fr.utf-8.spl".source = nvim-spell-fr-utf8-dictionary; + "${config.xdg.configHome}/nvim/spell/fr.utf-8.sug".source = nvim-spell-fr-utf8-suggestions; + }; programs.neovim = { enable = true; @@ -79,9 +84,8 @@ in (builtins.readFile ./files/options.lua) + (builtins.readFile ./files/keybindings.lua) + '' - ${ lib.concatStringsSep "\n" lspLuaConfig} - '' - ; + ${lib.concatStringsSep "\n" lspLuaConfig} + ''; plugins = with pkgs.vimPlugins; [ { plugin = nvim-autopairs; @@ -93,39 +97,39 @@ in { plugin = catppuccin-nvim; type = "lua"; - config = (builtins.readFile ./files/plugins/theme.lua); + config = builtins.readFile ./files/plugins/theme.lua; } { plugin = blink-cmp; type = "lua"; - config = (builtins.readFile ./files/plugins/blink-cmp.lua); + config = builtins.readFile ./files/plugins/blink-cmp.lua; } blink-emoji-nvim blink-cmp-dictionary { plugin = conform-nvim; type = "lua"; - config = (builtins.readFile ./files/plugins/conform.lua); + config = builtins.readFile ./files/plugins/conform.lua; } { plugin = dropbar-nvim; type = "lua"; - config = (builtins.readFile ./files/plugins/dropbar.lua); + config = builtins.readFile ./files/plugins/dropbar.lua; } { plugin = fzf-lua; type = "lua"; - config = (builtins.readFile ./files/plugins/fzf-lua.lua); + config = builtins.readFile ./files/plugins/fzf-lua.lua; } { plugin = gitsigns-nvim; type = "lua"; - config = (builtins.readFile ./files/plugins/gitsign.lua); + config = builtins.readFile ./files/plugins/gitsign.lua; } { plugin = indent-blankline-nvim; type = "lua"; - config ='' + config = '' require("ibl").setup{ indent = { char = "│"}, } @@ -134,34 +138,35 @@ in { plugin = lualine-nvim; type = "lua"; - config = (builtins.readFile ./files/plugins/lualine.lua); + config = builtins.readFile ./files/plugins/lualine.lua; } { - plugin = neo-tree-nvim; - type = "lua"; - config = (builtins.readFile ./files/plugins/neotree.lua); + plugin = neo-tree-nvim; + type = "lua"; + config = builtins.readFile ./files/plugins/neotree.lua; } nui-nvim { plugin = nvim-web-devicons; type = "lua"; - config='' + config = '' require('nvim-web-devicons').setup {} ''; } { plugin = nvim-lint; type = "lua"; - config = ( builtins.readFile ./files/plugins/nvim-lint.lua); + config = (builtins.readFile ./files/plugins/nvim-lint.lua); } { plugin = nvim-sops; type = "lua"; - config = (builtins.readFile ./files/plugins/nvim-sops.lua); + config = builtins.readFile ./files/plugins/nvim-sops.lua; } plenary-nvim { - plugin = (nvim-treesitter.withPlugins (p: [ + plugin = ( + nvim-treesitter.withPlugins (p: [ p.bash p.c p.cpp @@ -187,23 +192,22 @@ in ]) ); type = "lua"; - config = ( builtins.readFile ./files/plugins/treesitter.lua); + config = (builtins.readFile ./files/plugins/treesitter.lua); } { plugin = nvim-treesitter-context; type = "lua"; - config = ( builtins.readFile ./files/plugins/treesitter_context.lua); - + config = (builtins.readFile ./files/plugins/treesitter_context.lua); } { plugin = which-key-nvim; type = "lua"; - config = ( builtins.readFile ./files/plugins/whichkey.lua ); + config = (builtins.readFile ./files/plugins/whichkey.lua); } { - plugin = nvim-k8s-lsp ; + plugin = nvim-k8s-lsp; type = "lua"; - config = ( builtins.readFile ./files/plugins/nvim-k8s-lsp.lua ); + config = (builtins.readFile ./files/plugins/nvim-k8s-lsp.lua); } { plugin = helm-ls-nvim; diff --git a/modules/home-manager/cli/starship/default.nix b/modules/home-manager/cli/starship/default.nix index cc8ff84..d75087f 100644 --- a/modules/home-manager/cli/starship/default.nix +++ b/modules/home-manager/cli/starship/default.nix @@ -1,9 +1,11 @@ -{ lib, config, ... }: -with lib; -let - cfg = config.modules.cli.starship; -in { + lib, + config, + ... +}: +with lib; let + cfg = config.modules.cli.starship; +in { options.modules.cli.starship = { enable = mkEnableOption "enable starship prompt"; }; diff --git a/modules/home-manager/cli/tmux/default.nix b/modules/home-manager/cli/tmux/default.nix index 1ff3293..28b4bd5 100644 --- a/modules/home-manager/cli/tmux/default.nix +++ b/modules/home-manager/cli/tmux/default.nix @@ -1,10 +1,13 @@ - -{ lib, config, pkgs, inputs, ... }: -with lib; -let - cfg = config.modules.cli.tmux; -in { + lib, + config, + pkgs, + inputs, + ... +}: +with lib; let + cfg = config.modules.cli.tmux; +in { options.modules.cli.tmux = { enable = mkEnableOption "enable Tmux"; extraConfig = mkOption { @@ -29,63 +32,64 @@ in mouse = true; prefix = "C-a"; terminal = "tmux-256color"; - extraConfig = '' - set -g detach-on-destroy off - set -g display-time 1500 + extraConfig = + '' + set -g detach-on-destroy off + set -g display-time 1500 - bind -n -N "Select pane to the left of the active pane" M-h select-pane -L - bind -n -N "Select pane below the active pane" M-j select-pane -D - bind -n -N "Select pane above the active pane" M-k select-pane -U - bind -n -N "Select pane to the right of the active pane" M-l select-pane -R + bind -n -N "Select pane to the left of the active pane" M-h select-pane -L + bind -n -N "Select pane below the active pane" M-j select-pane -D + bind -n -N "Select pane above the active pane" M-k select-pane -U + bind -n -N "Select pane to the right of the active pane" M-l select-pane -R - bind -n -r -N "Resize the pane left by 5" M-H resize-pane -L 5 - bind -n -r -N "Resize the pane down by 5" M-J resize-pane -D 5 - bind -n -r -N "Resize the pane up by 5" M-K resize-pane -U 5 - bind -n -r -N "Resize the pane right by 5" M-L resize-pane -R 5 - bind -n M-n split-window -h -c "#{pane_current_path}" - bind -n M-N split-window -v -c "#{pane_current_path}" + bind -n -r -N "Resize the pane left by 5" M-H resize-pane -L 5 + bind -n -r -N "Resize the pane down by 5" M-J resize-pane -D 5 + bind -n -r -N "Resize the pane up by 5" M-K resize-pane -U 5 + bind -n -r -N "Resize the pane right by 5" M-L resize-pane -R 5 + bind -n M-n split-window -h -c "#{pane_current_path}" + bind -n M-N split-window -v -c "#{pane_current_path}" - # define sessions with Alt+F{1..4} for general purpose sessions - bind -n M-F1 if 'tmux has-session -t 1' {switch-client -t 1} {display-popup -E -E 'create-tmux-session -i 1'} - bind -n M-F2 if 'tmux has-session -t 2' {switch-client -t 2} {display-popup -E -E 'create-tmux-session -i 2'} - bind -n M-F3 if 'tmux has-session -t 3' {switch-client -t 3} {display-popup -E -E 'create-tmux-session -i 3'} - bind -n M-F4 if 'tmux has-session -t 4' {switch-client -t 4} {display-popup -E -E 'create-tmux-session -i 4'} + # define sessions with Alt+F{1..4} for general purpose sessions + bind -n M-F1 if 'tmux has-session -t 1' {switch-client -t 1} {display-popup -E -E 'create-tmux-session -i 1'} + bind -n M-F2 if 'tmux has-session -t 2' {switch-client -t 2} {display-popup -E -E 'create-tmux-session -i 2'} + bind -n M-F3 if 'tmux has-session -t 3' {switch-client -t 3} {display-popup -E -E 'create-tmux-session -i 3'} + bind -n M-F4 if 'tmux has-session -t 4' {switch-client -t 4} {display-popup -E -E 'create-tmux-session -i 4'} - # change window with Alt+{1..5} - bind -n -N "Goto window 1" M-1 select-window -T -t 1 - bind -n -N "Goto window 2" M-2 select-window -T -t 2 - bind -n -N "Goto window 3" M-3 select-window -T -t 3 - bind -n -N "Goto window 4" M-4 select-window -T -t 4 - bind -n -N "Goto window 5" M-5 select-window -T -t 5 + # change window with Alt+{1..5} + bind -n -N "Goto window 1" M-1 select-window -T -t 1 + bind -n -N "Goto window 2" M-2 select-window -T -t 2 + bind -n -N "Goto window 3" M-3 select-window -T -t 3 + bind -n -N "Goto window 4" M-4 select-window -T -t 4 + bind -n -N "Goto window 5" M-5 select-window -T -t 5 - # Theme - set -g status-interval 2 - setw -g automatic-rename on # rename window to reflect current program - set -g renumber-windows on # renumber windows when a window is closed - set -g set-titles on - set -g mode-style bg=colour18,fg=colour7 - set -g set-titles-string "#T" - set -g status-bg colour0 - set -g status-fg colour7 - set -g message-style bg=colour19,fg=colour7 + # Theme + set -g status-interval 2 + setw -g automatic-rename on # rename window to reflect current program + set -g renumber-windows on # renumber windows when a window is closed + set -g set-titles on + set -g mode-style bg=colour18,fg=colour7 + set -g set-titles-string "#T" + set -g status-bg colour0 + set -g status-fg colour7 + set -g message-style bg=colour19,fg=colour7 - setw -g window-status-current-format '#[fg=colour18,bg=colour11] #I\ - #[bg=colour19,fg=colour7,bold] #W\ - #{?window_active,󰎂 ,}#{?window_marked_flag,󰃃 ,}#{?window_activity_flag, ,}#{?window_silence_flag,󰝟 ,}#{?window_zoomed_flag,󱀅 ,}' + setw -g window-status-current-format '#[fg=colour18,bg=colour11] #I\ + #[bg=colour19,fg=colour7,bold] #W\ + #{?window_active,󰎂 ,}#{?window_marked_flag,󰃃 ,}#{?window_activity_flag, ,}#{?window_silence_flag,󰝟 ,}#{?window_zoomed_flag,󱀅 ,}' - set -g pane-border-style fg=colour19 - set -g pane-active-border-style fg=colour4 + set -g pane-border-style fg=colour19 + set -g pane-active-border-style fg=colour4 - setw -g window-status-format '#[bg=color12,fg=colour19] #I\ - #[bg=colour18,fg=colour7,dim] #W\ - #{?window_last_flag, ,}#{?window_marked_flag,󰃃 ,}#{?window_activity_flag, ,}#{?window_silence_flag,󰝟 ,}#{?window_zoomed_flag,󱀅 ,}#{?window_bell_flag,#[bg=colour1]#[fg=colour15]#[none] ,}' - setw -g window-status-bell-style bg=colour18,fg=colour7 - set -g status-left-length 100 - set -g status-left '#[bg=colour0, fg=colour6]  #S ' - set -g status-right ' ' - '' - + inputs.nix-private.tmux.nix - + cfg.extraConfig; + setw -g window-status-format '#[bg=color12,fg=colour19] #I\ + #[bg=colour18,fg=colour7,dim] #W\ + #{?window_last_flag, ,}#{?window_marked_flag,󰃃 ,}#{?window_activity_flag, ,}#{?window_silence_flag,󰝟 ,}#{?window_zoomed_flag,󱀅 ,}#{?window_bell_flag,#[bg=colour1]#[fg=colour15]#[none] ,}' + setw -g window-status-bell-style bg=colour18,fg=colour7 + set -g status-left-length 100 + set -g status-left '#[bg=colour0, fg=colour6]  #S ' + set -g status-right ' ' + '' + + inputs.nix-private.tmux.nix + + cfg.extraConfig; plugins = with pkgs; [ tmuxPlugins.tmux-fzf ]; diff --git a/modules/home-manager/cli/utils/default.nix b/modules/home-manager/cli/utils/default.nix index 3532416..8783d4f 100644 --- a/modules/home-manager/cli/utils/default.nix +++ b/modules/home-manager/cli/utils/default.nix @@ -1,14 +1,16 @@ -{ lib, config, pkgs, ... }: -with lib; -let - cfg = config.modules.cli.utils; -in { + lib, + config, + pkgs, + ... +}: +with lib; let + cfg = config.modules.cli.utils; +in { options.modules.cli.utils = { enable = mkEnableOption "Install cli utils"; }; config = mkIf cfg.enable { - programs.bat = { enable = true; config = { @@ -21,7 +23,6 @@ in }; programs.fd = { enable = true; - }; programs.fzf = { enable = true; diff --git a/modules/home-manager/cli/vifm/default.nix b/modules/home-manager/cli/vifm/default.nix index c499ca6..73d5708 100644 --- a/modules/home-manager/cli/vifm/default.nix +++ b/modules/home-manager/cli/vifm/default.nix @@ -1,16 +1,19 @@ -{ lib, config, pkgs, ... }: -with lib; -let - cfg = config.modules.cli.vifm; -in { + lib, + config, + pkgs, + ... +}: +with lib; let + cfg = config.modules.cli.vifm; +in { options.modules.cli.vifm = { enable = mkEnableOption "enable Vifm file browser"; }; config = mkIf cfg.enable { home.packages = with pkgs; [ vifm - chafa # Preview images + chafa # Preview images poppler_utils # Preview PDF file ]; programs.zsh = { diff --git a/modules/home-manager/cli/zellij/default.nix b/modules/home-manager/cli/zellij/default.nix index 944ede7..a742c2d 100644 --- a/modules/home-manager/cli/zellij/default.nix +++ b/modules/home-manager/cli/zellij/default.nix @@ -1,9 +1,11 @@ -{ lib, config, ... }: -with lib; -let - cfg = config.modules.cli.zellij; -in { + lib, + config, + ... +}: +with lib; let + cfg = config.modules.cli.zellij; +in { options.modules.cli.zellij = { enable = mkEnableOption "enable Zellij"; }; diff --git a/modules/home-manager/cli/zsh/default.nix b/modules/home-manager/cli/zsh/default.nix index c9b145a..086e298 100644 --- a/modules/home-manager/cli/zsh/default.nix +++ b/modules/home-manager/cli/zsh/default.nix @@ -1,9 +1,12 @@ -{ lib, config, pkgs, ... }: -with lib; -let - cfg = config.modules.cli.zsh; -in { + lib, + config, + pkgs, + ... +}: +with lib; let + cfg = config.modules.cli.zsh; +in { options.modules.cli.zsh = { enable = mkEnableOption "enable Zsh configuration"; }; @@ -17,7 +20,7 @@ in ignoreAllDups = true; save = 10000; share = true; - path = "${config.xdg.dataHome }/zsh/history"; + path = "${config.xdg.dataHome}/zsh/history"; }; historySubstringSearch = { enable = true; @@ -26,7 +29,7 @@ in }; syntaxHighlighting = { enable = true; - highlighters = [ "brackets" "main" "pattern" ]; + highlighters = ["brackets" "main" "pattern"]; styles = { arithmetic-expansion = "fg=#ba8baf"; assign = "fg=#7cafc2"; @@ -98,15 +101,16 @@ in compinit -C ''; plugins = [ - { - name = "base16-shell"; - src = pkgs.fetchFromGitHub { - owner = "chriskempson"; - repo = "base16-shell"; - rev = "588691ba71b47e75793ed9edfcfaa058326a6f41"; - hash = "sha256-X89FsG9QICDw3jZvOCB/KsPBVOLUeE7xN3VCtf0DD3E="; + { + name = "base16-shell"; + src = pkgs.fetchFromGitHub { + owner = "chriskempson"; + repo = "base16-shell"; + rev = "588691ba71b47e75793ed9edfcfaa058326a6f41"; + hash = "sha256-X89FsG9QICDw3jZvOCB/KsPBVOLUeE7xN3VCtf0DD3E="; }; - }]; + } + ]; localVariables = { BASE16_THEME = "${config.xdg.configHome}/zsh/plugins/base16"; # Make ESC key more reactive to go to normal mode diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index ff73a9f..9959026 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -1,5 +1,4 @@ -{ ... }: -{ +{...}: { imports = [ ./application/foot ./application/gnupg diff --git a/modules/home-manager/desktop/sway/default.nix b/modules/home-manager/desktop/sway/default.nix index 84a6a88..25d030b 100644 --- a/modules/home-manager/desktop/sway/default.nix +++ b/modules/home-manager/desktop/sway/default.nix @@ -1,9 +1,12 @@ -{ lib, config, pkgs, ... }: -with lib; -let - cfg = config.modules.desktop.sway; -in { + lib, + config, + pkgs, + ... +}: +with lib; let + cfg = config.modules.desktop.sway; +in { options.modules.desktop.sway = { enable = mkEnableOption "enable Sway Windows Manager"; @@ -72,7 +75,6 @@ in }; cpuThermal = { - thermalZone = mkOption { type = types.nullOr types.int; default = null; @@ -117,7 +119,6 @@ in ./includes/waybar.nix ]; config = mkIf cfg.enable { - programs.fuzzel.enable = true; home.packages = with pkgs; [ @@ -181,11 +182,11 @@ in QT_SCALE_FACTOR_ROUNDING_POLICY = "RoundPreferFloor"; }; - qt = { - enable = true; + qt = { + enable = true; platformTheme.name = "adwaita"; style.name = "adwaita-dark"; - }; + }; xdg = { enable = true; mimeApps.enable = true; @@ -211,8 +212,8 @@ in config = { sway = { default = [ - "wlr" - "gtk" + "wlr" + "gtk" ]; }; }; @@ -223,7 +224,7 @@ in # choose the right screen. This is a workarount to not have to configure # it manually. home.file = mkIf cfg.xdg.useDistributionPortals { - "${config.xdg.configHome}/xdg-desktop-portal-wlr/config".text = '' + "${config.xdg.configHome}/xdg-desktop-portal-wlr/config".text = '' [screencast] max_fps=30 chooser_type=simple diff --git a/modules/home-manager/desktop/sway/includes/fuzzel.nix b/modules/home-manager/desktop/sway/includes/fuzzel.nix index 3f1f6d7..28011c5 100644 --- a/modules/home-manager/desktop/sway/includes/fuzzel.nix +++ b/modules/home-manager/desktop/sway/includes/fuzzel.nix @@ -1,6 +1,9 @@ -{ config, lib, ... }: -with lib; { + config, + lib, + ... +}: +with lib; { config = mkIf config.modules.desktop.sway.enable { programs.fuzzel = { settings = { @@ -25,5 +28,5 @@ with lib; }; }; }; - }; + }; } diff --git a/modules/home-manager/desktop/sway/includes/kanshi.nix b/modules/home-manager/desktop/sway/includes/kanshi.nix index 8376511..61cc764 100644 --- a/modules/home-manager/desktop/sway/includes/kanshi.nix +++ b/modules/home-manager/desktop/sway/includes/kanshi.nix @@ -1,58 +1,60 @@ -{ config, lib, ... }: -with lib; { + config, + lib, + ... +}: +with lib; { config = mkIf config.modules.desktop.sway.enable { services.kanshi = { - enable = config.modules.desktop.sway.kanshi ; + enable = config.modules.desktop.sway.kanshi; settings = [ { - profile.name = "standalone"; profile.outputs = [ - { - criteria = "eDP-1"; - scale = 1.33; - status = "enable"; - } + { + criteria = "eDP-1"; + scale = 1.33; + status = "enable"; + } ]; } { profile.name = "home"; profile.outputs = [ - { - criteria = "Iiyama North America PL2792UH 1166310803122"; - mode = "3840x2160"; - position = "1235,0"; - scale = 1.75; - } - { - criteria = "Iiyama North America PL2792UH 1176923201598"; - mode = "3840x2160"; - position = "0,0"; - transform = "90"; - scale = 1.75; - } - { - criteria = "eDP-1"; - status = "disable"; - } + { + criteria = "Iiyama North America PL2792UH 1166310803122"; + mode = "3840x2160"; + position = "1235,0"; + scale = 1.75; + } + { + criteria = "Iiyama North America PL2792UH 1176923201598"; + mode = "3840x2160"; + position = "0,0"; + transform = "90"; + scale = 1.75; + } + { + criteria = "eDP-1"; + status = "disable"; + } ]; } { profile.name = "work"; profile.outputs = [ - { - criteria = "Iiyama North America PL2792QN 1179214201663"; - mode = "2560x1440"; - position = "1450,0"; - scale = 1.15; - } - { - criteria = "BOE 0x0A95 Unknown"; - mode = "1920x1080"; - position = "0,0"; - scale = 1.325; - } + { + criteria = "Iiyama North America PL2792QN 1179214201663"; + mode = "2560x1440"; + position = "1450,0"; + scale = 1.15; + } + { + criteria = "BOE 0x0A95 Unknown"; + mode = "1920x1080"; + position = "0,0"; + scale = 1.325; + } ]; } ]; diff --git a/modules/home-manager/desktop/sway/includes/mako.nix b/modules/home-manager/desktop/sway/includes/mako.nix index b098010..0f47323 100644 --- a/modules/home-manager/desktop/sway/includes/mako.nix +++ b/modules/home-manager/desktop/sway/includes/mako.nix @@ -1,17 +1,20 @@ -{ config, pkgs, lib, ... }: -with lib; -let - cfg = config.modules.desktop.sway; -in { + config, + pkgs, + lib, + ... +}: +with lib; let + cfg = config.modules.desktop.sway; +in { config = mkIf config.modules.desktop.sway.enable { systemd.user.services.mako = { Service = { ExecStart = "${pkgs.mako}/bin/mako"; }; Install = { - After = [ "sway-session.target" ]; - WantedBy = [ "sway-session.target" ]; + After = ["sway-session.target"]; + WantedBy = ["sway-session.target"]; }; }; services.mako = { @@ -39,10 +42,10 @@ in border-size = 1; default-timeout = 7000; group-by = "app-name"; - format= "%b"; + format = "%b"; }; "app-name=cmus grouped" = { - format = "%b"; + format = "%b"; }; }; }; diff --git a/modules/home-manager/desktop/sway/includes/sway.nix b/modules/home-manager/desktop/sway/includes/sway.nix index 4f0874c..5bc17a3 100644 --- a/modules/home-manager/desktop/sway/includes/sway.nix +++ b/modules/home-manager/desktop/sway/includes/sway.nix @@ -1,13 +1,16 @@ -{ config, pkgs, lib, ... }: -with lib; -let - cfg = config.modules.desktop.sway; -in { + config, + pkgs, + lib, + ... +}: +with lib; let + cfg = config.modules.desktop.sway; +in { config = mkIf config.modules.desktop.sway.enable { wayland.windowManager.sway = { package = config.lib.nixGL.wrap pkgs.sway; - enable = true; + enable = true; wrapperFeatures.gtk = true; systemd.enable = true; config = { @@ -17,7 +20,7 @@ in down = "j"; up = "k"; right = "l"; - bars= []; + bars = []; input = { "4617:27904:MNT_Research_MNT_Reform_Keyboard_2.0_US/ST" = { xkb_layout = "us"; @@ -34,11 +37,16 @@ in }; keybindings = let mod = config.wayland.windowManager.sway.config.modifier; - inherit (config.wayland.windowManager.sway.config) - left down up right terminal; - in - { - # navigate only with direction or workspace + inherit + (config.wayland.windowManager.sway.config) + left + down + up + right + terminal + ; + in { + # navigate only with direction or workspace "${mod}+${left}" = "focus left"; "${mod}+${down}" = "focus down"; "${mod}+${up}" = "focus up"; @@ -53,7 +61,7 @@ in "${mod}+8" = "workspace $ws8"; "${mod}+9" = "workspace $ws9"; "${mod}+0" = "workspace $ws0"; - # move with Shift and direction + # move with Shift and direction "${mod}+Shift+${left}" = "move left"; "${mod}+Shift+${down}" = "move down"; "${mod}+Shift+${up}" = "move up"; @@ -72,12 +80,15 @@ in "${mod}+Ctrl+${left}" = "move workspace to output left"; "${mod}+Return" = "exec ${terminal}"; "${mod}+d" = "exec ${pkgs.fuzzel}/bin/fuzzel"; - # manage windows manager actions with Alt + # manage windows manager actions with Alt "${mod}+Alt+k" = "kill"; "${mod}+Alt+c" = "reload"; "${mod}+Alt+Backspace" = "exec swaynag -t warning -m 'Exit sway?' -B 'Yes' 'swaymsg exit'"; - "${mod}+Alt+l" = if cfg.swaylock.useNullPackage then "exec swaylock" else "exec ${pkgs.swaylock}/bin/swaylock"; - # Manage windows placement + "${mod}+Alt+l" = + if cfg.swaylock.useNullPackage + then "exec swaylock" + else "exec ${pkgs.swaylock}/bin/swaylock"; + # Manage windows placement "${mod}+b" = "splith"; "${mod}+v" = "splitv"; "${mod}+s" = "layout stacking"; @@ -93,7 +104,7 @@ in "${mod}+Shift+p" = "exec screencapt --region screen"; "${mod}+Alt+p" = "mode screenshot"; "${mod}+Alt+r" = "mode screenrecord"; - # Media stuff + # Media stuff "${mod}+F1" = "exec ${pkgs.brightnessctl}/bin/brightnessctl s 1%-"; "${mod}+F2" = "exec ${pkgs.brightnessctl}/bin/brightnessctl s +1%"; "${mod}+F3" = "exec ${pkgs.wireplumber}/bin/wpctl set-volume @DEFAULT_SINK@ 5%-"; @@ -105,44 +116,47 @@ in "${mod}+shift+n" = "exec makoctl dismiss -a"; "${mod}+alt+n" = "mode notification"; }; - modes = - let - inherit (config.wayland.windowManager.sway.config) - left down up right; + modes = let + inherit + (config.wayland.windowManager.sway.config) + left + down + up + right + ; in { "resize" = { - "${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"; + "${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"; }; "notification" = { "r" = "exec ${pkgs.mako}/bin/makoctl restore"; "Escape" = "mode default"; }; "screenshot" = { - "s" = "exec screencapt --region screen; mode default"; - "Shift+s" = "exec screencapt --region screen -f; mode default"; - "r" = "exec screencapt --region region; mode default"; - "Shift+r" = "exec screencapt --region region -f; mode default"; - "w" = "exec screencapt --region window; mode default"; - "Shift+w" = "exec screencapt --region window -f; mode default"; - "Return" = "mode default"; - "Escape" = "mode default"; + "s" = "exec screencapt --region screen; mode default"; + "Shift+s" = "exec screencapt --region screen -f; mode default"; + "r" = "exec screencapt --region region; mode default"; + "Shift+r" = "exec screencapt --region region -f; mode default"; + "w" = "exec screencapt --region window; mode default"; + "Shift+w" = "exec screencapt --region window -f; mode default"; + "Return" = "mode default"; + "Escape" = "mode default"; }; "screenrecord" = { - "s" = "exec screencapt video --region screen; mode default"; - "Shift+s" = "exec screencapt --region video screen -a; mde default"; - "r" = "exec screencapt video --region region; mode default"; - "Shift+r" = "exec screencapt video --region region -a; mode default"; - "w" = "exec screencapt video --region window -f ; mode default"; - "Shift+w" = "exec screencapt --region video window -a; mode default"; - "Return" = "mode default"; - "Escape" = "mode default"; + "s" = "exec screencapt video --region screen; mode default"; + "Shift+s" = "exec screencapt --region video screen -a; mde default"; + "r" = "exec screencapt video --region region; mode default"; + "Shift+r" = "exec screencapt video --region region -a; mode default"; + "w" = "exec screencapt video --region window -f ; mode default"; + "Shift+w" = "exec screencapt --region video window -a; mode default"; + "Return" = "mode default"; + "Escape" = "mode default"; }; - }; colors = { focused = { @@ -171,7 +185,7 @@ in background = "#900000"; text = "#cccccc"; indicator = "#900000"; - childBorder = "#900000" ; + childBorder = "#900000"; }; #focused_tab_title = { # boder = "#2f343a"; @@ -183,32 +197,33 @@ in border = 1; titlebar = false; commands = [ - { - command = "inhibit_idle fullscreen"; - criteria = { - title = "^.*"; - }; - } - { - command = "inhibit_idle fullscreen"; - criteria = { - app_id = "^.*"; - }; - } - { - command = "resize set 70ppt 70ppt, border pixel 2"; - criteria = { - title = "^Open .*$"; - }; - }]; + { + command = "inhibit_idle fullscreen"; + criteria = { + title = "^.*"; + }; + } + { + command = "inhibit_idle fullscreen"; + criteria = { + app_id = "^.*"; + }; + } + { + command = "resize set 70ppt 70ppt, border pixel 2"; + criteria = { + title = "^Open .*$"; + }; + } + ]; }; floating = { border = 2; titlebar = false; criteria = [ - { - title = "^Open .*$"; - } + { + title = "^Open .*$"; + } ]; }; gaps = { diff --git a/modules/home-manager/desktop/sway/includes/swayidle.nix b/modules/home-manager/desktop/sway/includes/swayidle.nix index 577621c..483bab0 100644 --- a/modules/home-manager/desktop/sway/includes/swayidle.nix +++ b/modules/home-manager/desktop/sway/includes/swayidle.nix @@ -1,31 +1,43 @@ -{ config, lib, pkgs, ... }: -with lib; -let +{ + config, + lib, + pkgs, + ... +}: +with lib; let cfg = config.modules.desktop.sway; -in - { - config = mkIf config.modules.desktop.sway.enable { +in { + config = mkIf config.modules.desktop.sway.enable { services.swayidle = { enable = true; timeouts = [ { timeout = 300; - command = if cfg.swaylock.useNullPackage then ''/usr/bin/swaylock -f'' else ''${pkgs.swaylock}/bin/swaylock -f''; + command = + if cfg.swaylock.useNullPackage + then ''/usr/bin/swaylock -f'' + else ''${pkgs.swaylock}/bin/swaylock -f''; } { timeout = 600; command = ''${pkgs.sway}/bin/swaymsg "output * power off"''; - resumeCommand =''${pkgs.sway}/bin/swaymsg "output * power on"''; + resumeCommand = ''${pkgs.sway}/bin/swaymsg "output * power on"''; } ]; events = [ { event = "before-sleep"; - command = if cfg.swaylock.useNullPackage then ''/usr/bin/swaylock -f'' else ''${pkgs.swaylock}/bin/swaylock -f''; + command = + if cfg.swaylock.useNullPackage + then ''/usr/bin/swaylock -f'' + else ''${pkgs.swaylock}/bin/swaylock -f''; } { event = "lock"; - command = if cfg.swaylock.useNullPackage then ''usr/bin/swaylock -f'' else ''${pkgs.swaylock}/bin/swaylock -f''; + command = + if cfg.swaylock.useNullPackage + then ''usr/bin/swaylock -f'' + else ''${pkgs.swaylock}/bin/swaylock -f''; } ]; }; diff --git a/modules/home-manager/desktop/sway/includes/swaylock.nix b/modules/home-manager/desktop/sway/includes/swaylock.nix index b0340ef..d2d9abe 100644 --- a/modules/home-manager/desktop/sway/includes/swaylock.nix +++ b/modules/home-manager/desktop/sway/includes/swaylock.nix @@ -1,15 +1,24 @@ -{ config, lib, pkgs, ... }: -with lib; -let - cfg = config.modules.desktop.sway; -in { + config, + lib, + pkgs, + ... +}: +with lib; let + cfg = config.modules.desktop.sway; +in { config = mkIf config.modules.desktop.sway.enable { programs.swaylock = { - package = if cfg.swaylock.useNullPackage then null else pkgs.swaylock; + package = + if cfg.swaylock.useNullPackage + then null + else pkgs.swaylock; enable = true; settings = { - image = if cfg.wallpapers.lockscreen != "" then "${cfg.wallpapers.lockscreen}" else false; + image = + if cfg.wallpapers.lockscreen != "" + then "${cfg.wallpapers.lockscreen}" + else false; scaling = "center"; color = "000000"; indicator-radius = 70; diff --git a/modules/home-manager/desktop/sway/includes/waybar.nix b/modules/home-manager/desktop/sway/includes/waybar.nix index 0c9bc96..159dc50 100644 --- a/modules/home-manager/desktop/sway/includes/waybar.nix +++ b/modules/home-manager/desktop/sway/includes/waybar.nix @@ -1,9 +1,12 @@ -{lib, config, pkgs, ...}: -with lib; -let - cfg = config.modules.desktop.sway; -in { + lib, + config, + pkgs, + ... +}: +with lib; let + cfg = config.modules.desktop.sway; +in { config = mkIf cfg.enable { programs.waybar = { enable = true; @@ -23,41 +26,45 @@ in "sway/workspaces" "sway/mode" ]; - modules-right = [ - "network" - "custom/sep" - ] ++ ( - if cfg.waybar.laptop then [ + modules-right = + [ + "network" + "custom/sep" + ] + ++ ( + if cfg.waybar.laptop + then [ "backlight" "battery" "custom/sep" ] else [ ] - ) ++ - [ - - "memory" - "cpu" - "temperature" - "custom/sep" - ] ++ ( - if cfg.waybar.gpuThermal.enable then [ + ) + ++ [ + "memory" + "cpu" + "temperature" + "custom/sep" + ] + ++ ( + if cfg.waybar.gpuThermal.enable + then [ "temperature#gpu" "custom/sep" ] else [ ] - ) ++ - [ - "pulseaudio#input" - "pulseaudio#output" - "custom/sep" - "clock" - "custom/sep" - "privacy" - "tray" - ]; + ) + ++ [ + "pulseaudio#input" + "pulseaudio#output" + "custom/sep" + "clock" + "custom/sep" + "privacy" + "tray" + ]; "clock" = { "format-alt" = "{:%Y-%m-%d}"; "timezone" = "Europe/Paris"; @@ -65,7 +72,7 @@ in }; "cpu" = { "format" = "{usage}% {icon}"; - "format-icons" = [ "" ]; + "format-icons" = [""]; "states" = { "critical" = 90; "warning" = 70; @@ -77,19 +84,19 @@ in "tooltip" = false; }; "custom/screenrecord" = { - "format" = "  [rec.] "; - "interval" = 1; - "exec" = "echo '{\"class\": \"recording\"}'"; - "exec-if" = "${pkgs.procps}/bin/pgrep wl-screenrec"; + "format" = "  [rec.] "; + "interval" = 1; + "exec" = "echo '{\"class\": \"recording\"}'"; + "exec-if" = "${pkgs.procps}/bin/pgrep wl-screenrec"; "on-click" = "exec ${pkgs.coreutils}/bin/kill -s SIGINT $(${pkgs.procps}/bin/pgrep wl-screenrec)"; "tooltype" = false; }; "idle_inhibitor" = { - "format" = "{icon}"; - "format-icons" = { - "activated" = ""; - "deactivated" = ""; - }; + "format" = "{icon}"; + "format-icons" = { + "activated" = ""; + "deactivated" = ""; + }; }; "memory" = { "format" = "{used:0.0f}/{total:0.0f}G "; @@ -107,11 +114,11 @@ in "format-wifi" = "{signalStrength}%  "; "tooltip" = false; }; - "privacy"= { + "privacy" = { "icon-spacing" = 6; "icon-size" = 11; "transition-duration" = 250; - "modules"= [ + "modules" = [ { "type" = "screenshare"; "tooltip" = false; @@ -149,19 +156,22 @@ in "tooltip" = false; }; "sway/mode" = { - "format" = "{}"; + "format" = "{}"; }; "sway/workspace" = { - "disable-scroll" = true; + "disable-scroll" = true; }; "temperature" = { "critical-threshold" = 80; "format" = " {temperatureC}°C  "; - "thermal-zone" = mkIf ( cfg.waybar.cpuThermal.thermalZone != null ) + "thermal-zone" = + mkIf (cfg.waybar.cpuThermal.thermalZone != null) cfg.waybar.cpuThermal.thermalZone; - "hwmon-path-abs" = mkIf ( cfg.waybar.cpuThermal.hwmonPathAbs != "" ) + "hwmon-path-abs" = + mkIf (cfg.waybar.cpuThermal.hwmonPathAbs != "") "${cfg.waybar.cpuThermal.hwmonPathAbs}"; - "input-filename" = mkIf ( cfg.waybar.cpuThermal.inputFilename != "" ) + "input-filename" = + mkIf (cfg.waybar.cpuThermal.inputFilename != "") "${cfg.waybar.cpuThermal.inputFilename}"; }; "temperature#gpu" = { diff --git a/modules/home-manager/gaming/lutris/default.nix b/modules/home-manager/gaming/lutris/default.nix index 3718e71..09c539c 100644 --- a/modules/home-manager/gaming/lutris/default.nix +++ b/modules/home-manager/gaming/lutris/default.nix @@ -1,15 +1,18 @@ -{ lib, config, pkgs, ... }: -with lib; -let - cfg = config.modules.gaming.lutris; -in { + lib, + config, + pkgs, + ... +}: +with lib; let + cfg = config.modules.gaming.lutris; +in { options.modules.gaming.lutris = { enable = mkEnableOption "enable Lutris Gaming preservation platform"; }; config = mkIf cfg.enable { home.packages = with pkgs; [ - ( lutris.override { + (lutris.override { extraLibraries = pkgs: [ wine xorg.libXcursor diff --git a/modules/home-manager/video/kdenlive/default.nix b/modules/home-manager/video/kdenlive/default.nix index d84021a..fd80c48 100644 --- a/modules/home-manager/video/kdenlive/default.nix +++ b/modules/home-manager/video/kdenlive/default.nix @@ -1,9 +1,12 @@ -{ pkgs, lib, config, ... }: -with lib; -let - cfg = config.modules.video.kdenlive; -in { + pkgs, + lib, + config, + ... +}: +with lib; let + cfg = config.modules.video.kdenlive; +in { options.modules.video.kdenlive = { enable = mkEnableOption "enable Kdenlive video editor"; }; diff --git a/modules/home-manager/video/mpv/default.nix b/modules/home-manager/video/mpv/default.nix index f208476..263645b 100644 --- a/modules/home-manager/video/mpv/default.nix +++ b/modules/home-manager/video/mpv/default.nix @@ -1,9 +1,11 @@ -{ lib, config, ... }: -with lib; -let - cfg = config.modules.video.mpv; -in { + lib, + config, + ... +}: +with lib; let + cfg = config.modules.video.mpv; +in { options.modules.video.mpv = { enable = mkEnableOption "enable MPV video player"; }; diff --git a/modules/home-manager/web/firefox/conf/doh.nix b/modules/home-manager/web/firefox/conf/doh.nix index 73f526a..9634029 100644 --- a/modules/home-manager/web/firefox/conf/doh.nix +++ b/modules/home-manager/web/firefox/conf/doh.nix @@ -1,7 +1,7 @@ { -# DNS over HTTP (DoH), aka. Trusted Recursive Resolver (TRR) -# (https://wiki.mozilla.org/Trusted_Recursive_Resolver), uses a server run by -# Cloudflare to resolve hostnames, even when the system uses another (normal) DNS -# server. This setting disables it and sets the mode to explicit opt-out (5). + # DNS over HTTP (DoH), aka. Trusted Recursive Resolver (TRR) + # (https://wiki.mozilla.org/Trusted_Recursive_Resolver), uses a server run by + # Cloudflare to resolve hostnames, even when the system uses another (normal) DNS + # server. This setting disables it and sets the mode to explicit opt-out (5). "network.trr.mode" = 5; } diff --git a/modules/home-manager/web/firefox/conf/drm.nix b/modules/home-manager/web/firefox/conf/drm.nix index 94b210c..03e7078 100644 --- a/modules/home-manager/web/firefox/conf/drm.nix +++ b/modules/home-manager/web/firefox/conf/drm.nix @@ -1,12 +1,12 @@ { -# Disables playback of DRM-controlled HTML5 content -# if enabled, automatically downloads the Widevine Content Decryption Module -# provided by Google Inc. Details -# (https://support.mozilla.org/en-US/kb/enable-drm#w_opt-out-of-cdm-playback-uninstall-cdms-and-stop-all-cdm-downloads) + # Disables playback of DRM-controlled HTML5 content + # if enabled, automatically downloads the Widevine Content Decryption Module + # provided by Google Inc. Details + # (https://support.mozilla.org/en-US/kb/enable-drm#w_opt-out-of-cdm-playback-uninstall-cdms-and-stop-all-cdm-downloads) "media.eme.enabled" = false; -# Disables the Widevine Content Decryption Module provided by Google Inc. -# Used for the playback of DRM-controlled HTML5 content Details -# (https://support.mozilla.org/en-US/kb/enable-drm#w_disable-the-google-widevine-cdm-without-uninstalling) + # Disables the Widevine Content Decryption Module provided by Google Inc. + # Used for the playback of DRM-controlled HTML5 content Details + # (https://support.mozilla.org/en-US/kb/enable-drm#w_disable-the-google-widevine-cdm-without-uninstalling) "media.gmp-widevinecdm.enabled" = false; } diff --git a/modules/home-manager/web/firefox/conf/experiments.nix b/modules/home-manager/web/firefox/conf/experiments.nix index 27d435a..4f06710 100644 --- a/modules/home-manager/web/firefox/conf/experiments.nix +++ b/modules/home-manager/web/firefox/conf/experiments.nix @@ -1,18 +1,17 @@ { - -# Disable shield studies -# Mozilla shield studies (https://wiki.mozilla.org/Firefox/Shield) is a feature -# which allows mozilla to remotely install experimental addons. + # Disable shield studies + # Mozilla shield studies (https://wiki.mozilla.org/Firefox/Shield) is a feature + # which allows mozilla to remotely install experimental addons. "app.normandy.enabled" = false; "app.normandy.api_url" = ""; "app.shield.optoutstudies.enabled" = false; "extensions.shield-recipe-client.enabled" = false; "extensions.shield-recipe-client.api_url" = ""; -# Disable experiments -# Telemetry Experiments (https://wiki.mozilla.org/Telemetry/Experiments) is a -# feature that allows Firefox to automatically download and run specially-designed -# restartless addons based on certain conditions. + # Disable experiments + # Telemetry Experiments (https://wiki.mozilla.org/Telemetry/Experiments) is a + # feature that allows Firefox to automatically download and run specially-designed + # restartless addons based on certain conditions. "experiments.enabled" = false; "experiments.manifest.uri" = ""; "experiments.supported" = false; diff --git a/modules/home-manager/web/firefox/conf/extensions.nix b/modules/home-manager/web/firefox/conf/extensions.nix index 94957a0..03d8b2d 100644 --- a/modules/home-manager/web/firefox/conf/extensions.nix +++ b/modules/home-manager/web/firefox/conf/extensions.nix @@ -1,24 +1,24 @@ { -# Firefox sends data about installed addons as metadata updates -# (https://blog.mozilla.org/addons/how-to-opt-out-of-add-on-metadata-updates/), so -# Mozilla is able to recommend you other addons. + # Firefox sends data about installed addons as metadata updates + # (https://blog.mozilla.org/addons/how-to-opt-out-of-add-on-metadata-updates/), so + # Mozilla is able to recommend you other addons. "extensions.getAddons.cache.enabled" = false; -# Disable about:addons' Get Add-ons panel -# The start page with recommended addons uses google analytics. + # Disable about:addons' Get Add-ons panel + # The start page with recommended addons uses google analytics. "extensions.getAddons.showPane" = false; "extensions.webservice.discoverURL" = ""; -# disable pocket extension - "extensions.pocket.enabled" = false; + # disable pocket extension + "extensions.pocket.enabled" = false; -# disable extensions recommendations + # disable extensions recommendations "extensions.htmlaboutaddons.recommendations.enabled" = false; -# Automatically activate extensions + # Automatically activate extensions "extensions.autoDisableScopes" = 0; -# Deacticate extensions auto-update + # Deacticate extensions auto-update "extensions.update.enabled" = false; "extensions.update.autoUpdateDefault" = false; } diff --git a/modules/home-manager/web/firefox/conf/preferences.nix b/modules/home-manager/web/firefox/conf/preferences.nix index 5c58f7d..0c40f07 100644 --- a/modules/home-manager/web/firefox/conf/preferences.nix +++ b/modules/home-manager/web/firefox/conf/preferences.nix @@ -1,53 +1,50 @@ { - "browser.sessionstore.enabled" = true; "browser.sessionstore.restore_hidden_tabs" = true; "browser.sessionstore.restore_pinned_tabs_on_demand" = true; "browser.sessionstore.resume_after_os_start" = true; -# use blank page for new tabs + # use blank page for new tabs "browser.newtabpage.enabled" = false; -# Disable preloading of the new tab page. -# By default Firefox preloads the new tab page (with website thumbnails) in the -# background before it is even opened. + # Disable preloading of the new tab page. + # By default Firefox preloads the new tab page (with website thumbnails) in the + # background before it is even opened. "browser.newtab.preload" = false; - -# Disable check for captive portal. -# By default, Firefox checks for the presence of a captive portal on every -# startup. This involves traffic to Akamai -# (https://support.mozilla.org/questions/1169302). + # Disable check for captive portal. + # By default, Firefox checks for the presence of a captive portal on every + # startup. This involves traffic to Akamai + # (https://support.mozilla.org/questions/1169302). "network.captive-portal-service.enabled" = false; - -# Disable Javascript in PDF viewer -# Disables executing of JavaScript in the PDF form viewer. It is possible that -# some PDFs are not rendered correctly due to missing functions. + # Disable Javascript in PDF viewer + # Disables executing of JavaScript in the PDF form viewer. It is possible that + # some PDFs are not rendered correctly due to missing functions. "pdfjs.enableScripting" = true; -# Allow fullscreen in Firefox windows + # Allow fullscreen in Firefox windows "full-screen-api.ignore-widgets" = true; -# About:config show warning - "browser.aboutConfig.showWarning" = false; + # About:config show warning + "browser.aboutConfig.showWarning" = false; -# avoid some useless recommendations - "extensions.htmlaboutaddons.recommendations.enabled" = false; - "extensions.recommendations.themeRecommendationUrl" = ""; + # avoid some useless recommendations + "extensions.htmlaboutaddons.recommendations.enabled" = false; + "extensions.recommendations.themeRecommendationUrl" = ""; -# Do not send FF build ID for site in startup page - "browser.startup.homepage_override.mstone" = "ignore"; + # Do not send FF build ID for site in startup page + "browser.startup.homepage_override.mstone" = "ignore"; - "browser.aboutHomeSnippets.updateUrl" = ""; + "browser.aboutHomeSnippets.updateUrl" = ""; -# Restore session when restart - "browser.sessionstore.resume_session_once" = true; + # Restore session when restart + "browser.sessionstore.resume_session_once" = true; -# Disable translation - "browser.translations.enabled" = false; + # Disable translation + "browser.translations.enabled" = false; -# disable AI shit + # disable AI shit "browser.ml.chat.enabled" = false; "browser.ml.chat.shortcuts" = false; "browser.ml.chat.sidebar" = false; diff --git a/modules/home-manager/web/firefox/conf/privacy.nix b/modules/home-manager/web/firefox/conf/privacy.nix index 3b4d987..0c8c28c 100644 --- a/modules/home-manager/web/firefox/conf/privacy.nix +++ b/modules/home-manager/web/firefox/conf/privacy.nix @@ -1,108 +1,107 @@ { -# Disable access to device sensor data -# Disallow websites to access sensor data (ambient light, motion, device -# orientation and proximity data). + # Disable access to device sensor data + # Disallow websites to access sensor data (ambient light, motion, device + # orientation and proximity data). "device.sensors.ambientLight.enabled" = false; "device.sensors.enabled" = false; "device.sensors.motion.enabled" = false; "device.sensors.orientation.enabled" = false; "device.sensors.proximity.enabled" = false; -# Using a popular useragent string -# (https://techblog.willshouse.com/2012/01/03/most-common-user-agents/) avoids -# attracting attention i.e. with an Iceweasel UA. (keep blank to use the default) + # Using a popular useragent string + # (https://techblog.willshouse.com/2012/01/03/most-common-user-agents/) avoids + # attracting attention i.e. with an Iceweasel UA. (keep blank to use the default) -# Block Cookies -# Block 3rd-Party cookies or even all cookies. + # Block Cookies + # Block 3rd-Party cookies or even all cookies. "network.cookie.cookieBehavior" = 5; -# Block Referer -# Firefox tells a website, from which site you're coming (the so called RefControl -# (http://kb.mozillazine.org/Network.http.sendRefererHeader">referer). You can -# find more detailed settings in this ghacks -# article or install the referer). You can + # find more detailed settings in this ghacks + # article or install the IndexedDB is a way, -# websites can store structured data. This can be IndexedDB is a way, + # websites can store structured data. This can be fingerprinting with WebGL. Another -# issue is, that websites can fingerprinting with WebGL. Another + # issue is, that websites can