Another reformatting & refactor

- fix all statix lints
- format with nixpkgs-fmt instead of alejandro
This commit is contained in:
Tristan D. 2023-10-17 14:12:26 +02:00
parent 8c7c84c129
commit 4539cc5b75
Signed by: tristan
SSH key fingerprint: SHA256:U7y6eMb7CQDaTHv9XoX6/BaQnPqyxxKc+Xnfcefi6rY
14 changed files with 454 additions and 437 deletions

View file

@ -58,17 +58,18 @@
}; };
}; };
outputs = { outputs =
nixpkgs, { nixpkgs
nixpkgs-unstable, , nixpkgs-unstable
nixos-unstable, , nixos-unstable
home-manager, , home-manager
emacs-overlay, , emacs-overlay
nur, , nur
nix-index-database, , nix-index-database
disko, , disko
... , ...
} @ inputs: let } @ inputs:
let
system = "x86_64-linux"; system = "x86_64-linux";
unstable-os = import nixos-unstable pkgs-args; unstable-os = import nixos-unstable pkgs-args;
unstable-os-overlay = _final: _prev: { unstable-os-overlay = _final: _prev: {
@ -84,8 +85,8 @@
emacs-overlay.overlay emacs-overlay.overlay
]; ];
pkgs-args = { pkgs-args = {
system = system; inherit system;
overlays = overlays; inherit overlays;
config = { config = {
allowUnfree = true; allowUnfree = true;
}; };
@ -108,9 +109,10 @@
inherit inputs; inherit inputs;
inherit system; inherit system;
}; };
in { in
{
formatter = { formatter = {
${system} = pkgs.alejandra; ${system} = pkgs.nixpkgs-fmt;
}; };
diskoConfigurations = { diskoConfigurations = {
nixos-pulse = import ./systems/nixos-pulse/disko.nix; nixos-pulse = import ./systems/nixos-pulse/disko.nix;
@ -125,9 +127,11 @@
{ {
_module = { inherit args; }; _module = { inherit args; };
targets.genericLinux.enable = true; targets.genericLinux.enable = true;
programs.bash.enable = true; programs = {
programs.zsh.enable = true; bash.enable = true;
programs.home-manager.enable = true; zsh.enable = true;
home-manager.enable = true;
};
} }
] ]
++ hmModules; ++ hmModules;

View file

@ -1,10 +1,10 @@
{ { lib
lib, , pkgs
pkgs, , config
config, , inputs
inputs, , ...
... }:
}: let let
doomemacsSrc = builtins.fetchGit { doomemacsSrc = builtins.fetchGit {
url = "https://github.com/doomemacs/doomemacs"; url = "https://github.com/doomemacs/doomemacs";
ref = "master"; ref = "master";
@ -14,12 +14,14 @@
personalDoomConfSrc = builtins.fetchGit { personalDoomConfSrc = builtins.fetchGit {
url = "https://git.vlt81.de/tristan/doom"; url = "https://git.vlt81.de/tristan/doom";
ref = "main"; ref = "main";
rev = "e6d22f794c68a5f3ac56861e7e2ed6642cdef16a"; rev = "c6558ab65f106628a3bdb890df935bb7965edd95";
}; };
in { in
{
xdg.enable = true; xdg.enable = true;
programs.alacritty = { programs = {
alacritty = {
enable = true; enable = true;
settings = { settings = {
window.opacity = 0.88; window.opacity = 0.88;
@ -30,12 +32,12 @@ in {
}; };
}; };
programs.starship = { starship = {
enable = true; enable = true;
package = pkgs.unstable-pkgs.starship; package = pkgs.unstable-pkgs.starship;
}; };
programs.fish = { fish = {
enable = true; enable = true;
package = pkgs.unstable-pkgs.fish; package = pkgs.unstable-pkgs.fish;
@ -55,7 +57,7 @@ in {
}; };
}; };
programs.git = { git = {
enable = true; enable = true;
userName = "Tristan Druyen"; userName = "Tristan Druyen";
userEmail = "tristan@vault81.de"; userEmail = "tristan@vault81.de";
@ -72,12 +74,12 @@ in {
package = pkgs.unstable-pkgs.git; package = pkgs.unstable-pkgs.git;
}; };
programs.nix-index = { nix-index = {
enable = true; enable = true;
enableFishIntegration = true; enableFishIntegration = true;
}; };
programs.ssh = { ssh = {
enable = true; enable = true;
package = pkgs.unstable-pkgs.openssh; package = pkgs.unstable-pkgs.openssh;
@ -103,26 +105,29 @@ in {
}; };
}; };
programs.gpg = { gpg = {
enable = true; enable = true;
package = pkgs.unstable-pkgs.gnupg; package = pkgs.unstable-pkgs.gnupg;
}; };
};
services.gpg-agent = { services = {
gpg-agent = {
enable = true; enable = true;
enableExtraSocket = true; enableExtraSocket = true;
enableSshSupport = true; enableSshSupport = true;
}; };
services.lorri.enable = true; lorri.enable = true;
services.emacs = { emacs = {
enable = true; enable = true;
defaultEditor = true; defaultEditor = true;
package = pkgs.unstable-pkgs.emacs-unstable-pgtk; package = pkgs.unstable-pkgs.emacs-unstable-pgtk;
}; };
};
home = { home = {
activation.installDoomEmacs = lib.hm.dag.entryAfter [ "writeBoundary" ] '' activation.installDoomEmacs = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
@ -157,15 +162,17 @@ in {
gcc gcc
imagemagick imagemagick
libtool libtool
nil
nixpkgs-fmt
pandoc pandoc
python311Full python311Full
rcm rcm
(lib.mkIf (config.services.gpg-agent.enable) (lib.mkIf config.services.gpg-agent.enable
pinentry-emacs) pinentry-emacs)
(ripgrep.override { withPCRE2 = true; }) (ripgrep.override { withPCRE2 = true; })
nil
shellcheck shellcheck
shfmt shfmt
statix
texlive.combined.scheme-full texlive.combined.scheme-full
tokei tokei
wget wget

View file

@ -1,8 +1,7 @@
{ { config
config, , lib
lib, , pkgs
pkgs, , ...
...
}: { }: {
programs.firefox = { programs.firefox = {
enable = true; enable = true;

View file

@ -1,8 +1,7 @@
{ { config
config, , lib
lib, , pkgs
pkgs, , ...
...
}: { }: {
dconf.settings = { dconf.settings = {
"org/virt-manager/virt-manager/connections" = { "org/virt-manager/virt-manager/connections" = {

View file

@ -1,7 +1,6 @@
{ { config
config, , pkgs
pkgs, , ...
...
}: { }: {
nix = { nix = {
gc = { gc = {
@ -16,8 +15,6 @@
''; '';
}; };
services.fwupd.enable = true;
# locale # locale
time.timeZone = "Europe/Berlin"; time.timeZone = "Europe/Berlin";
@ -55,27 +52,29 @@
vim # fallback ed vim # fallback ed
]; ];
# nix convenience programs = {
services.envfs.enable = true; nix-ld.dev.enable = true;
programs.nix-ld.dev.enable = true; command-not-found.enable = false;
programs.command-not-found.enable = false; nix-index-database.comma.enable = true;
programs.nix-index-database.comma.enable = true;
###################
programs.fish.enable = true; fish.enable = true;
programs.gnupg.agent = { gnupg.agent = {
enable = true; enable = true;
enableSSHSupport = true; enableSSHSupport = true;
}; };
};
services.openssh.enable = true; services = {
fwupd.enable = true;
# For SMB #### envfs.enable = true;
services.gvfs.enable = true;
services.avahi.enable = true; openssh.enable = true;
services.avahi.nssmdns = true;
gvfs.enable = true;
avahi.enable = true;
avahi.nssmdns = true;
};
# netbios dns
networking.firewall.extraCommands = ''iptables -t raw -A OUTPUT -p udp -m udp --dport 137 -j CT --helper netbios-ns''; networking.firewall.extraCommands = ''iptables -t raw -A OUTPUT -p udp -m udp --dport 137 -j CT --helper netbios-ns'';
##############
} }

View file

@ -1,8 +1,7 @@
{ { config
config, , lib
lib, , pkgs
pkgs, , ...
...
}: { }: {
programs.dconf.enable = true; programs.dconf.enable = true;
@ -26,8 +25,8 @@
(nerdfonts.override { fonts = [ "FiraCode" "DroidSansMono" "NerdFontsSymbolsOnly" ]; }) (nerdfonts.override { fonts = [ "FiraCode" "DroidSansMono" "NerdFontsSymbolsOnly" ]; })
]; ];
# Desktop env services = {
services.xserver = { xserver = {
enable = true; enable = true;
layout = "us"; layout = "us";
xkbVariant = "alt-intl"; xkbVariant = "alt-intl";
@ -45,13 +44,7 @@
# }; # };
}; };
}; };
######################### pipewire = {
## audio
sound.enable = true;
hardware.bluetooth.enable = true;
hardware.pulseaudio.enable = false;
services.pipewire = {
enable = true; enable = true;
alsa.enable = true; alsa.enable = true;
alsa.support32Bit = true; alsa.support32Bit = true;
@ -62,14 +55,21 @@
## printing ## printing
services.printing.enable = true; printing = {
services.printing.drivers = with pkgs; [ enable = true;
drivers = with pkgs; [
gutenprint gutenprint
gutenprintBin gutenprintBin
hplipWithPlugin hplipWithPlugin
brlaser brlaser
brgenml1cupswrapper brgenml1cupswrapper
]; ];
};
};
## audio
sound.enable = true;
hardware.bluetooth.enable = true;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
cifs-utils cifs-utils

View file

@ -1,8 +1,7 @@
{ { config
config, , lib
lib, , pkgs
pkgs, , ...
...
}: { }: {
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
networking.nameservers = [ networking.nameservers = [
@ -12,7 +11,8 @@
"2a07:a8c1::#921984.dns.nextdns.io" "2a07:a8c1::#921984.dns.nextdns.io"
]; ];
services.resolved = { services = {
resolved = {
enable = true; enable = true;
dnssec = "true"; dnssec = "true";
domains = [ "~." ]; domains = [ "~." ];
@ -22,12 +22,13 @@
''; '';
}; };
services.tailscale = { tailscale = {
enable = true; enable = true;
useRoutingFeatures = "both"; useRoutingFeatures = "both";
}; };
services.mozillavpn = { mozillavpn = {
enable = true; enable = true;
}; };
};
} }

View file

@ -1,8 +1,7 @@
{ { config
config, , lib
lib, , pkgs
pkgs, , ...
...
}: { }: {
environment.systemPackages = with pkgs.unstable-os; [ environment.systemPackages = with pkgs.unstable-os; [
virtiofsd virtiofsd

View file

@ -1,11 +1,10 @@
{ { config
config, , lib
lib, , pkgs
pkgs, , modulesPath
modulesPath, , system
system, , inputs
inputs, , ...
...
}: { }: {
imports = [ imports = [
(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
@ -70,11 +69,29 @@
}; };
}; };
systemd = {
services = {
# This manually configures the automatically created network-adresses service to be more flexible # This manually configures the automatically created network-adresses service to be more flexible
# regarding booting without the the device being available on boot # regarding booting without the the device being available on boot
# It prevents slow timeouts & errors on boot while preserving Plug & Play ability # It prevents slow timeouts & errors on boot while preserving Plug & Play ability
systemd.services.network-addresses-enp5s0f4u1u1c2.unitConfig.ConditionPathExists = "/sys/class/net/enp5s0f4u1u1c2"; network-addresses-enp5s0f4u1u1c2.unitConfig = {
systemd.services.network-addresses-enp5s0f4u1u1c2.unitConfig.BindsTo = lib.mkForce null; ConditionPathExists = "/sys/class/net/enp5s0f4u1u1c2";
BindsTo = lib.mkForce null;
};
powertop.postStart = ''
HIDDEVICES=$(ls /sys/bus/usb/drivers/usbhid | grep -oE '^[0-9]+-[0-9\.]+' | sort -u)
for i in $HIDDEVICES; do
echo -n "Enabling " | cat - /sys/bus/usb/devices/$i/product
echo 'on' > /sys/bus/usb/devices/$i/power/control
done
'';
};
tmpfiles.rules = [
"L+ /opt/rocm/hip - - - - ${pkgs.hip}"
];
};
services.udev.extraRules = '' services.udev.extraRules = ''
ACTION=="add", KERNEL=="enp5s0f4u1u1c2", TAG+="systemd", ENV{SYSTEMD_WANTS}="network-addresses-enp5s0f4u1u1c2.service" ACTION=="add", KERNEL=="enp5s0f4u1u1c2", TAG+="systemd", ENV{SYSTEMD_WANTS}="network-addresses-enp5s0f4u1u1c2.service"
ACTION=="remove", KERNEL=="enp5s0f4u1u1c2", RUN+="${pkgs.systemd}/bin/systemctl stop network-addresses-enp5s0f4u1u1c2.service" ACTION=="remove", KERNEL=="enp5s0f4u1u1c2", RUN+="${pkgs.systemd}/bin/systemctl stop network-addresses-enp5s0f4u1u1c2.service"
@ -82,13 +99,6 @@
# energy saving stuff # energy saving stuff
powerManagement.powertop.enable = true; powerManagement.powertop.enable = true;
systemd.services.powertop.postStart = ''
HIDDEVICES=$(ls /sys/bus/usb/drivers/usbhid | grep -oE '^[0-9]+-[0-9\.]+' | sort -u)
for i in $HIDDEVICES; do
echo -n "Enabling " | cat - /sys/bus/usb/devices/$i/product
echo 'on' > /sys/bus/usb/devices/$i/power/control
done
'';
hardware = { hardware = {
tuxedo-control-center = { tuxedo-control-center = {
@ -107,9 +117,5 @@
cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}; };
systemd.tmpfiles.rules = [
"L+ /opt/rocm/hip - - - - ${pkgs.hip}"
];
zramSwap.enable = true; zramSwap.enable = true;
} }

View file

@ -1,9 +1,8 @@
{ { pkgs
pkgs, , config
config, , inputs
inputs, , system
system, , ...
...
}: { }: {
users.users.tester = { users.users.tester = {
isNormalUser = true; isNormalUser = true;

View file

@ -1,16 +1,17 @@
{ { pkgs
pkgs, , config
config, , inputs
inputs, , system
system, , ...
... }:
}: let let
wallpaper = inputs.nix-wallpaper.packages.${pkgs.system}.default.override { wallpaper = inputs.nix-wallpaper.packages.${pkgs.system}.default.override {
logoSize = 24; logoSize = 24;
preset = "gruvbox-dark-rainbow"; preset = "gruvbox-dark-rainbow";
}; };
wallpaperPath = "${wallpaper}/share/wallpapers/nixos-wallpaper.png"; wallpaperPath = "${wallpaper}/share/wallpapers/nixos-wallpaper.png";
in { in
{
imports = [ imports = [
../home-mods/dev ../home-mods/dev
../home-mods/firefox ../home-mods/firefox
@ -18,11 +19,12 @@ in {
../home-mods/virt ../home-mods/virt
]; ];
home.file.".background".source = wallpaperPath; home = {
home.username = "tester"; file.".background".source = wallpaperPath;
home.homeDirectory = "/home/tester"; username = "tester";
homeDirectory = "/home/tester";
home.packages = with pkgs.unstable-pkgs; [ packages = with pkgs.unstable-pkgs; [
bitwarden bitwarden
brave brave
btop btop
@ -39,10 +41,10 @@ in {
rustdesk rustdesk
tutanota-desktop tutanota-desktop
signal-desktop signal-desktop
statix
thunderbird thunderbird
zellij zellij
]; ];
home.stateVersion = "23.05"; stateVersion = "23.05";
};
} }

View file

@ -1,16 +1,17 @@
{ { pkgs
pkgs, , config
config, , inputs
inputs, , system
system, , ...
... }:
}: let let
wallpaper = inputs.nix-wallpaper.packages.${pkgs.system}.default.override { wallpaper = inputs.nix-wallpaper.packages.${pkgs.system}.default.override {
logoSize = 24; logoSize = 24;
preset = "gruvbox-dark-rainbow"; preset = "gruvbox-dark-rainbow";
}; };
wallpaperPath = "${wallpaper}/share/wallpapers/nixos-wallpaper.png"; wallpaperPath = "${wallpaper}/share/wallpapers/nixos-wallpaper.png";
in { in
{
imports = [ imports = [
../home-mods/dev ../home-mods/dev
../home-mods/firefox ../home-mods/firefox
@ -18,11 +19,12 @@ in {
../home-mods/virt ../home-mods/virt
]; ];
home.file.".background".source = wallpaperPath; home = {
home.username = "tristand"; file.".background".source = wallpaperPath;
home.homeDirectory = "/home/tristand"; username = "tristand";
homeDirectory = "/home/tristand";
home.packages = with pkgs.unstable-pkgs; [ packages = with pkgs.unstable-pkgs; [
bitwarden bitwarden
brave brave
btop btop
@ -39,10 +41,10 @@ in {
rustdesk rustdesk
tutanota-desktop tutanota-desktop
signal-desktop signal-desktop
statix
thunderbird thunderbird
zellij zellij
]; ];
home.stateVersion = "23.05"; stateVersion = "23.05";
};
} }