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 = {
nixpkgs,
nixpkgs-unstable,
nixos-unstable,
home-manager,
emacs-overlay,
nur,
nix-index-database,
disko,
...
} @ inputs: let
outputs =
{ nixpkgs
, nixpkgs-unstable
, nixos-unstable
, home-manager
, emacs-overlay
, nur
, nix-index-database
, disko
, ...
} @ inputs:
let
system = "x86_64-linux";
unstable-os = import nixos-unstable pkgs-args;
unstable-os-overlay = _final: _prev: {
@ -84,8 +85,8 @@
emacs-overlay.overlay
];
pkgs-args = {
system = system;
overlays = overlays;
inherit system;
inherit overlays;
config = {
allowUnfree = true;
};
@ -108,9 +109,10 @@
inherit inputs;
inherit system;
};
in {
in
{
formatter = {
${system} = pkgs.alejandra;
${system} = pkgs.nixpkgs-fmt;
};
diskoConfigurations = {
nixos-pulse = import ./systems/nixos-pulse/disko.nix;
@ -123,11 +125,13 @@
[
./users/tester.nix
{
_module = {inherit args;};
_module = { inherit args; };
targets.genericLinux.enable = true;
programs.bash.enable = true;
programs.zsh.enable = true;
programs.home-manager.enable = true;
programs = {
bash.enable = true;
zsh.enable = true;
home-manager.enable = true;
};
}
]
++ hmModules;
@ -139,7 +143,7 @@
[
./users/tristand.nix
{
_module = {inherit args;};
_module = { inherit args; };
xsession.enable = true;
}
]
@ -152,7 +156,7 @@
[
./systems/nixos-pulse
{
_module = {inherit args;};
_module = { inherit args; };
nix.registry.nixpkgs.flake = nixpkgs;
nixpkgs.pkgs = pkgs;

View file

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

View file

@ -1,8 +1,7 @@
{
config,
lib,
pkgs,
...
{ config
, lib
, pkgs
, ...
}: {
programs.firefox = {
enable = true;
@ -67,7 +66,7 @@
search = {
force = true;
default = "DuckDuckGo";
order = ["DuckDuckGo" "Nix Packages" "Nix Options" "NixOS Wiki"];
order = [ "DuckDuckGo" "Nix Packages" "Nix Options" "NixOS Wiki" ];
engines = {
"DuckDuckGo".metaData = {
@ -92,7 +91,7 @@
icon = "/run/current-system/sw/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = ["@np"];
definedAliases = [ "@np" ];
};
"Nix Options" = {
urls = [
@ -113,7 +112,7 @@
icon = "/run/current-system/sw/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = ["@no"];
definedAliases = [ "@no" ];
};
"Home-Manager Options" = {
urls = [
@ -130,7 +129,7 @@
icon = "/run/current-system/sw/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = ["@ho"];
definedAliases = [ "@ho" ];
};
"NixOS Wiki" = {
@ -141,7 +140,7 @@
];
iconUpdateURL = "https://nixos.wiki/favicon.png";
updateInterval = 24 * 60 * 60 * 1000;
definedAliases = ["@nw"];
definedAliases = [ "@nw" ];
};
"Bing".metaData.hidden = true;
@ -165,7 +164,7 @@
}
{
name = "wikipedia";
tags = ["wiki"];
tags = [ "wiki" ];
keyword = "wiki";
url = "https://en.wikipedia.org/wiki/Special:Search?search=%s&go=Go";
}
@ -182,7 +181,7 @@
}
{
name = "wiki";
tags = ["wiki" "nix"];
tags = [ "wiki" "nix" ];
url = "https://nixos.wiki/";
}
{

View file

@ -6,23 +6,23 @@
"kaccess"."Toggle Screen Reader On and Off" = "Meta+Alt+S";
"kcm_touchpad"."Disable Touchpad" = "Touchpad Off";
"kcm_touchpad"."Enable Touchpad" = "Touchpad On";
"kcm_touchpad"."Toggle Touchpad" = ["Touchpad Toggle" "Meta+Ctrl+Zenkaku Hankaku"];
"kcm_touchpad"."Toggle Touchpad" = [ "Touchpad Toggle" "Meta+Ctrl+Zenkaku Hankaku" ];
"kded5"."Show System Activity" = "Ctrl+Esc";
"kded5"."display" = ["Display" "Meta+P"];
"kded5"."display" = [ "Display" "Meta+P" ];
"kmix"."decrease_microphone_volume" = "Microphone Volume Down";
"kmix"."decrease_volume" = "Volume Down";
"kmix"."increase_microphone_volume" = "Microphone Volume Up";
"kmix"."increase_volume" = "Volume Up";
"kmix"."mic_mute" = ["Microphone Mute" "Meta+Volume Mute"];
"kmix"."mic_mute" = [ "Microphone Mute" "Meta+Volume Mute" ];
"kmix"."mute" = "Volume Mute";
"ksmserver"."Lock Session" = ["Meta+L" "Screensaver"];
"ksmserver"."Lock Session" = [ "Meta+L" "Screensaver" ];
"ksmserver"."Log Out" = "Ctrl+Alt+Del";
"kwin"."Activate Window Demanding Attention" = "Meta+Ctrl+A";
"kwin"."ClearLastMouseMark" = "Meta+Shift+F12";
"kwin"."ClearMouseMarks" = "Meta+Shift+F11";
"kwin"."Edit Tiles" = "Meta+T";
"kwin"."Expose" = "Ctrl+F9";
"kwin"."ExposeAll" = ["Ctrl+F10" "Launch (C)"];
"kwin"."ExposeAll" = [ "Ctrl+F10" "Launch (C)" ];
"kwin"."ExposeClass" = "Ctrl+F7";
"kwin"."Invert" = "Meta+Ctrl+I";
"kwin"."InvertWindow" = "Meta+Ctrl+U";
@ -62,7 +62,7 @@
"kwin"."Window to Next Screen" = "Meta+Shift+Right";
"kwin"."Window to Previous Screen" = "Meta+Shift+Left";
"kwin"."view_actual_size" = "Meta+0";
"kwin"."view_zoom_in" = ["Meta++" "Meta+="];
"kwin"."view_zoom_in" = [ "Meta++" "Meta+=" ];
"kwin"."view_zoom_out" = "Meta+-";
"mediacontrol"."nextmedia" = "Media Next";
"mediacontrol"."pausemedia" = "Media Pause";
@ -72,8 +72,8 @@
"org.kde.dolphin.desktop"."_launch" = "Meta+E";
"org.kde.konsole.desktop"."_launch" = "Ctrl+Alt+T";
"org.kde.krunner.desktop"."RunClipboard" = "Alt+Shift+F2";
"org.kde.krunner.desktop"."_launch" = ["Alt+Space" "Alt+F2" "Search"];
"org.kde.plasma.emojier.desktop"."_launch" = ["Meta+." "Meta+Ctrl+Alt+Shift+Space"];
"org.kde.krunner.desktop"."_launch" = [ "Alt+Space" "Alt+F2" "Search" ];
"org.kde.plasma.emojier.desktop"."_launch" = [ "Meta+." "Meta+Ctrl+Alt+Shift+Space" ];
"org.kde.spectacle.desktop"."ActiveWindowScreenShot" = "Meta+Print";
"org.kde.spectacle.desktop"."FullScreenScreenShot" = "Shift+Print";
"org.kde.spectacle.desktop"."RectangularRegionScreenShot" = "Meta+Shift+Print";

View file

@ -1,13 +1,12 @@
{
config,
lib,
pkgs,
...
{ config
, lib
, pkgs
, ...
}: {
dconf.settings = {
"org/virt-manager/virt-manager/connections" = {
autoconnect = ["qemu:///system"];
uris = ["qemu:///system"];
autoconnect = [ "qemu:///system" ];
uris = [ "qemu:///system" ];
};
};

View file

@ -1,7 +1,6 @@
{
config,
pkgs,
...
{ config
, pkgs
, ...
}: {
nix = {
gc = {
@ -16,8 +15,6 @@
'';
};
services.fwupd.enable = true;
# locale
time.timeZone = "Europe/Berlin";
@ -55,27 +52,29 @@
vim # fallback ed
];
# nix convenience
services.envfs.enable = true;
programs.nix-ld.dev.enable = true;
programs.command-not-found.enable = false;
programs.nix-index-database.comma.enable = true;
###################
programs = {
nix-ld.dev.enable = true;
command-not-found.enable = false;
nix-index-database.comma.enable = true;
programs.fish.enable = true;
programs.gnupg.agent = {
fish.enable = true;
gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
};
services.openssh.enable = true;
services = {
fwupd.enable = true;
# For SMB ####
services.gvfs.enable = true;
services.avahi.enable = true;
services.avahi.nssmdns = true;
envfs.enable = true;
openssh.enable = 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'';
##############
}

View file

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

View file

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

View file

@ -1,8 +1,7 @@
{
config,
lib,
pkgs,
...
{ config
, lib
, pkgs
, ...
}: {
environment.systemPackages = with pkgs.unstable-os; [
virtiofsd
@ -29,7 +28,7 @@
qemu = {
package = pkgs.qemu_kvm;
ovmf.enable = true;
ovmf.packages = [pkgs.OVMFFull.fd];
ovmf.packages = [ pkgs.OVMFFull.fd ];
swtpm.enable = true;
runAsRoot = false;
};

View file

@ -1,11 +1,10 @@
{
config,
lib,
pkgs,
modulesPath,
system,
inputs,
...
{ config
, lib
, pkgs
, modulesPath
, system
, inputs
, ...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
@ -31,17 +30,17 @@
};
initrd = {
availableKernelModules = ["amdgpu" "nvme" "xhci_pci" "uas" "usbhid" "usb_storage" "sd_mod"];
kernelModules = [];
availableKernelModules = [ "amdgpu" "nvme" "xhci_pci" "uas" "usbhid" "usb_storage" "sd_mod" ];
kernelModules = [ ];
systemd.enable = true;
};
kernelModules = ["kvm-amd" "amdgpu"];
extraModulePackages = [];
kernelModules = [ "kvm-amd" "amdgpu" ];
extraModulePackages = [ ];
};
services.btrfs.autoScrub.enable = true;
services.xserver.videoDrivers = ["amdgpu"];
services.xserver.videoDrivers = [ "amdgpu" ];
networking = {
hostName = "nixos-pulse";
@ -70,11 +69,29 @@
};
};
systemd = {
services = {
# This manually configures the automatically created network-adresses service to be more flexible
# regarding booting without the the device being available on boot
# It prevents slow timeouts & errors on boot while preserving Plug & Play ability
systemd.services.network-addresses-enp5s0f4u1u1c2.unitConfig.ConditionPathExists = "/sys/class/net/enp5s0f4u1u1c2";
systemd.services.network-addresses-enp5s0f4u1u1c2.unitConfig.BindsTo = lib.mkForce null;
network-addresses-enp5s0f4u1u1c2.unitConfig = {
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 = ''
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"
@ -82,13 +99,6 @@
# energy saving stuff
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 = {
tuxedo-control-center = {
@ -107,9 +117,5 @@
cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
};
systemd.tmpfiles.rules = [
"L+ /opt/rocm/hip - - - - ${pkgs.hip}"
];
zramSwap.enable = true;
}

View file

@ -18,9 +18,9 @@
content = {
type = "luks";
name = "crypted_0";
extraOpenArgs = ["--allow-discards"];
extraOpenArgs = [ "--allow-discards" ];
passwordFile = "/tmp/secret.key";
additionalKeyFiles = [];
additionalKeyFiles = [ ];
# content is empty here as the btrfs partition will be created via extraArgs of the cryptroot_1 partition def
};
};
@ -29,9 +29,9 @@
content = {
type = "luks";
name = "crypted_swap_0";
extraOpenArgs = ["--allow-discards"];
extraOpenArgs = [ "--allow-discards" ];
passwordFile = "/tmp/secret.key";
additionalKeyFiles = [];
additionalKeyFiles = [ ];
content = {
type = "swap";
};
@ -65,9 +65,9 @@
content = {
type = "luks";
name = "crypted_1";
extraOpenArgs = ["--allow-discards"];
extraOpenArgs = [ "--allow-discards" ];
passwordFile = "/tmp/secret.key";
additionalKeyFiles = [];
additionalKeyFiles = [ ];
content = {
# this partiton needs to be in the last parent part alphabetically to ensure the referenced /crypted_0 dev already exists
type = "btrfs";
@ -79,18 +79,18 @@
"/dev/mapper/crypted_0"
];
subvolumes = {
"/_active" = {};
"/_active" = { };
"/_active/root" = {
mountpoint = "/";
mountOptions = ["compress=zstd" "noatime"];
mountOptions = [ "compress=zstd" "noatime" ];
};
"/_active/home" = {
mountpoint = "/home";
mountOptions = ["compress=zstd" "relatime"];
mountOptions = [ "compress=zstd" "relatime" ];
};
"/_active/nix" = {
mountpoint = "/nix";
mountOptions = ["compress=zstd" "noatime"];
mountOptions = [ "compress=zstd" "noatime" ];
};
};
};
@ -101,9 +101,9 @@
content = {
type = "luks";
name = "crypted_swap_1";
extraOpenArgs = ["--allow-discards"];
extraOpenArgs = [ "--allow-discards" ];
passwordFile = "/tmp/secret.key";
additionalKeyFiles = [];
additionalKeyFiles = [ ];
content = {
type = "swap";
resumeDevice = true;

View file

@ -1,14 +1,13 @@
{
pkgs,
config,
inputs,
system,
...
{ pkgs
, config
, inputs
, system
, ...
}: {
users.users.tester = {
isNormalUser = true;
description = "Testa Test";
extraGroups = ["docker" "networkmanager" "wheel" "libvirtd" "qemu-libvirtd"];
extraGroups = [ "docker" "networkmanager" "wheel" "libvirtd" "qemu-libvirtd" ];
shell = pkgs.fish;
home = "/home/tester";
hashedPassword = "$6$YJT50/Za3FSFQuNT$0orD1URwoURoRKO9sIAsUiIHxOtEOjmPXn5Mp7vAmIYlgVmI629qS7YPUInmztEtEorRpkSMbV3.fCy9NQhKX.";
@ -16,7 +15,7 @@
users.users.tristand = {
isNormalUser = true;
description = "Tristan Druyen";
extraGroups = ["docker" "networkmanager" "wheel" "libvirtd" "qemu-libvirtd"];
extraGroups = [ "docker" "networkmanager" "wheel" "libvirtd" "qemu-libvirtd" ];
shell = pkgs.fish;
home = "/home/tristand";
hashedPassword = "$6$Wj.XY8JgH5EWuog4$HnbtPJXDEqKXFrzkPVEjih3PytcpBCrkfL7TAwkXd0IFced7kGMlZNliNsAqQ3XqfyUzAYiiKTIqoPVJEk.s..";

View file

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

View file

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