formatting

This commit is contained in:
MFlossmann 2024-07-03 00:38:20 +02:00
parent 64fcff10aa
commit 48387d08e3
14 changed files with 129 additions and 111 deletions

View file

@ -1,17 +1,19 @@
# Edit this configuration file to define what should be installed on # Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page # your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help). # and in the NixOS manual (accessible by running nixos-help).
{ config, pkgs, inputs, ... }:
{ {
imports = config,
[ # Include the results of the hardware scan. pkgs,
./hardware-configuration.nix inputs,
inputs.home-manager.nixosModules.default ...
]; }: {
imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix
inputs.home-manager.nixosModules.default
];
nix.settings.experimental-features = [ "nix-command" "flakes" ]; nix.settings.experimental-features = ["nix-command" "flakes"];
# Bootloader. # Bootloader.
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
@ -87,15 +89,15 @@
users.users.prunebutt = { users.users.prunebutt = {
isNormalUser = true; isNormalUser = true;
description = "prunebutt"; description = "prunebutt";
extraGroups = [ "networkmanager" "wheel" ]; extraGroups = ["networkmanager" "wheel"];
packages = with pkgs; [ packages = with pkgs; [
firefox firefox
# thunderbird # thunderbird
]; ];
}; };
home-manager = { home-manager = {
extraSpecialArgs = { inherit inputs; }; extraSpecialArgs = {inherit inputs;};
users = { users = {
"prunebutt" = import ./home.nix; "prunebutt" = import ./home.nix;
}; };
@ -138,5 +140,4 @@
# Before changing this value read the documentation for this option # Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "23.11"; # Did you read the comment? system.stateVersion = "23.11"; # Did you read the comment?
} }

View file

@ -1,6 +1,8 @@
{ config, pkgs, ... }:
{ {
config,
pkgs,
...
}: {
# Home Manager needs a bit of information about you and the paths it should # Home Manager needs a bit of information about you and the paths it should
# manage. # manage.
home.username = "prunebutt"; home.username = "prunebutt";
@ -38,11 +40,10 @@
]; ];
programs.zsh.enable = true; programs.zsh.enable = true;
programs.neovim.enable = true; programs.neovim.enable = true;
programs.neovim.defaultEditor = true; programs.neovim.defaultEditor = true;
# Home Manager is pretty good at managing dotfiles. The primary way to manage # Home Manager is pretty good at managing dotfiles. The primary way to manage
# plain files is through 'home.file'. # plain files is through 'home.file'.
home.file = { home.file = {

View file

@ -1,11 +1,20 @@
{ config, pkgs, lib, inputs, outputs, system, helperLib, ... }: { {
imports = config,
[ # Include the results of the hardware scan. pkgs,
./hardware-configuration.nix lib,
outputs.nixosModules.default inputs,
]; outputs,
system,
helperLib,
...
}: {
imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix
outputs.nixosModules.default
];
nix.settings.experimental-features = [ "nix-command" "flakes" ]; nix.settings.experimental-features = ["nix-command" "flakes"];
# Bootloader. # Bootloader.
boot.loader = { boot.loader = {
@ -24,7 +33,6 @@
services.displayManager.defaultSession = "plasma"; services.displayManager.defaultSession = "plasma";
programs.ssh.askPassword = lib.mkForce "${pkgs.kdePackages.ksshaskpass.out}/bin/ksshaskpass"; programs.ssh.askPassword = lib.mkForce "${pkgs.kdePackages.ksshaskpass.out}/bin/ksshaskpass";
myNixOS = { myNixOS = {
bundles.general-desktop.enable = true; bundles.general-desktop.enable = true;
@ -67,13 +75,12 @@
services.xserver.videoDrivers = ["nvidia"]; services.xserver.videoDrivers = ["nvidia"];
hardware.nvidia = { hardware.nvidia = {
# Modesetting is required. # Modesetting is required.
modesetting.enable = true; modesetting.enable = true;
# Nvidia power management. Experimental, and can cause sleep/suspend to fail. # Nvidia power management. Experimental, and can cause sleep/suspend to fail.
# Enable this if you have graphical corruption issues or application crashes after waking # Enable this if you have graphical corruption issues or application crashes after waking
# up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead # up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead
# of just the bare essentials. # of just the bare essentials.
powerManagement.enable = true; powerManagement.enable = true;
@ -83,15 +90,15 @@
# Use the NVidia open source kernel module (not to be confused with the # Use the NVidia open source kernel module (not to be confused with the
# independent third-party "nouveau" open source driver). # independent third-party "nouveau" open source driver).
# Support is limited to the Turing and later architectures. Full list of # Support is limited to the Turing and later architectures. Full list of
# supported GPUs is at: # supported GPUs is at:
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus # https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
# Only available from driver 515.43.04+ # Only available from driver 515.43.04+
# Currently alpha-quality/buggy, so false is currently the recommended setting. # Currently alpha-quality/buggy, so false is currently the recommended setting.
open = false; open = false;
# Enable the Nvidia settings menu, # Enable the Nvidia settings menu,
# accessible via `nvidia-settings`. # accessible via `nvidia-settings`.
nvidiaSettings = true; nvidiaSettings = true;
# Optionally, you may need to select the appropriate driver version for your specific GPU. # Optionally, you may need to select the appropriate driver version for your specific GPU.
@ -104,7 +111,7 @@
}; };
programs.gamemode.enable = true; programs.gamemode.enable = true;
environment.systemPackages = with pkgs; [ protonup ]; environment.systemPackages = with pkgs; [protonup];
environment.sessionVariables = { environment.sessionVariables = {
STEAM_EXTRA_COMPAT_TOOLS_PATHS = "/home/prunebutt/.steam/root/compatibilitytools.d"; STEAM_EXTRA_COMPAT_TOOLS_PATHS = "/home/prunebutt/.steam/root/compatibilitytools.d";
}; };
@ -122,5 +129,4 @@
# Before changing this value read the documentation for this option # Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "23.11"; # Did you read the comment? system.stateVersion = "23.11"; # Did you read the comment?
} }

View file

@ -1,32 +1,36 @@
# Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{ {
imports = config,
[ (modulesPath + "/installer/scan/not-detected.nix") lib,
]; pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ]; boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod"];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [];
boot.kernelModules = [ "kvm-amd" ]; boot.kernelModules = ["kvm-amd"];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [];
fileSystems."/" = fileSystems."/" = {
{ device = "/dev/disk/by-uuid/c849b1d0-f6b0-414b-a2f8-15add0b2b637"; device = "/dev/disk/by-uuid/c849b1d0-f6b0-414b-a2f8-15add0b2b637";
fsType = "btrfs"; fsType = "btrfs";
options = [ "subvol=@" ]; options = ["subvol=@"];
}; };
boot.initrd.luks.devices."luks-2875a668-8d20-46b1-9c37-843c250be560".device = "/dev/disk/by-uuid/2875a668-8d20-46b1-9c37-843c250be560"; boot.initrd.luks.devices."luks-2875a668-8d20-46b1-9c37-843c250be560".device = "/dev/disk/by-uuid/2875a668-8d20-46b1-9c37-843c250be560";
fileSystems."/boot" = fileSystems."/boot" = {
{ device = "/dev/disk/by-uuid/4D76-7705"; device = "/dev/disk/by-uuid/4D76-7705";
fsType = "vfat"; fsType = "vfat";
}; };
swapDevices = [ ]; swapDevices = [];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking # 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 # (the default) this is the recommended approach. When using systemd-networkd it's

View file

@ -1,9 +1,11 @@
{ config, pkgs, ... }:
{ {
config,
pkgs,
...
}: {
# home.username = "prunebutt"; # home.username = "prunebutt";
# home.homeDirectory = "/home/prunebutt"; # home.homeDirectory = "/home/prunebutt";
home = let home = let
user = "prunebutt"; user = "prunebutt";
in { in {
username = "${user}"; username = "${user}";
@ -43,7 +45,7 @@
}; };
programs.zsh.enable = true; programs.zsh.enable = true;
# Let Home Manager install and manage itself. # Let Home Manager install and manage itself.
# programs.home-manager.enable = true; # programs.home-manager.enable = true;
} }

View file

@ -6,7 +6,6 @@
... ...
}: { }: {
imports = [ imports = [
inputs.nixvim.homeManagerModules.nixvim
]; ];
nixpkgs.config = { nixpkgs.config = {
@ -51,7 +50,6 @@
EDITOR = "nvim"; EDITOR = "nvim";
}; };
# programs.neovim.enable = true; programs.neovim.enable = true;
# programs.neovim.defaultEditor = true; programs.neovim.defaultEditor = true;
programs.nixvim.enable = true;
} }

View file

@ -14,7 +14,7 @@
]; ];
programs.firefox = { programs.firefox = {
enable = true; enable = true;
}; };
# TODO: fill this out (and move it in a service, probably) # TODO: fill this out (and move it in a service, probably)

View file

@ -11,5 +11,7 @@
inkscape-with-extensions inkscape-with-extensions
gimp gimp
krita krita
xournalpp
]; ];
} }

View file

@ -1,5 +1,5 @@
{ {
pkgs, pkgs,
system, system,
inputs, inputs,
config, config,
@ -31,13 +31,12 @@
configExtension = config: (lib.mkIf cfg.bundles.${name}.enable config); configExtension = config: (lib.mkIf cfg.bundles.${name}.enable config);
}) })
(helperLib.filesIn ./bundles); (helperLib.filesIn ./bundles);
in { in {
imports = [ imports =
] [
# ++ features ]
++ bundles # ++ features
; ++ bundles;
config = { config = {
myHomeManager = { myHomeManager = {

View file

@ -18,7 +18,7 @@ in {
age = { age = {
# automatically import host SSH keys as age keys # automatically import host SSH keys as age keys
sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; sshKeyPaths = ["/etc/ssh/ssh_host_ed25519_key"];
# this will use an age key that is expected to already be in the filesystem # this will use an age key that is expected to already be in the filesystem
keyFile = "/var/lib/sops-nix/key.txt"; keyFile = "/var/lib/sops-nix/key.txt";
# generate a new key if the key specified above does not exist # generate a new key if the key specified above does not exist
@ -34,4 +34,3 @@ in {
sops sops
]; ];
} }

View file

@ -1,7 +1,7 @@
{ {
lib, lib,
config, config,
inputs, inputs,
outputs, outputs,
helperLib, helperLib,
pkgs, pkgs,
@ -10,7 +10,7 @@
cfg = config.myNixOS; cfg = config.myNixOS;
in { in {
options.myNixOS.home-users = lib.mkOption { options.myNixOS.home-users = lib.mkOption {
type = lib.types.attrsOf ( lib.types.submodule { type = lib.types.attrsOf (lib.types.submodule {
options = { options = {
userConfig = lib.mkOption { userConfig = lib.mkOption {
example = "home.nix"; example = "home.nix";
@ -37,13 +37,13 @@ in {
outputs = inputs.self.outputs; outputs = inputs.self.outputs;
}; };
users = users =
builtins.mapAttrs (name: user: {...}: { builtins.mapAttrs (name: user: {...}: {
imports = [ imports = [
(import user.userConfig) (import user.userConfig)
outputs.homeManagerModules.default outputs.homeManagerModules.default
]; ];
}) })
(config.myNixOS.home-users); (config.myNixOS.home-users);
}; };

View file

@ -1,19 +1,19 @@
{ {
pkgs, pkgs,
config, config,
lib, lib,
inputs, inputs,
outputs, outputs,
helperLib, helperLib,
... ...
}: let }: let
cfg = config.myNixOS; cfg = config.myNixOS;
# Taking all modules in ./features and adding enables to them # Taking all modules in ./features and adding enables to them
features = features =
helperLib.extendModules helperLib.extendModules
(name: { (name: {
extraOptions = { extraOptions = {
myNixOS.${name}.enable = lib.mkEnableOption "enable my ${name} configuration"; myNixOS.${name}.enable = lib.mkEnableOption "enable my ${name} configuration";
}; };
@ -22,7 +22,7 @@
(helperLib.filesIn ./features); (helperLib.filesIn ./features);
# taking all module bundles in ./bundles and adding bundle.enables to them # taking all module bundles in ./bundles and adding bundle.enables to them
bundles = bundles =
helperLib.extendModules helperLib.extendModules
(name: { (name: {
extraOptions = { extraOptions = {
@ -34,7 +34,7 @@
(helperLib.filesIn ./bundles); (helperLib.filesIn ./bundles);
# taking all module services in ./services and adding service.enables to them # taking all module services in ./services and adding service.enables to them
services = services =
helperLib.extendModules helperLib.extendModules
(name: { (name: {
extraOptions = { extraOptions = {
@ -45,14 +45,13 @@
}) })
(helperLib.filesIn ./services); (helperLib.filesIn ./services);
in { in {
imports = imports =
[ [
inputs.home-manager.nixosModules.home-manager inputs.home-manager.nixosModules.home-manager
] ]
++ features ++ features
++ bundles ++ bundles
++ services ++ services;
;
options.myNixOS = { options.myNixOS = {
sharedSettings = { sharedSettings = {
@ -68,7 +67,6 @@ in {
}; };
}; };
config = { config = {
nix.settings.experimental-features = ["nix-command" "flakes"]; nix.settings.experimental-features = ["nix-command" "flakes"];
programs.nix-ld.enable = true; programs.nix-ld.enable = true;
@ -81,7 +79,6 @@ in {
defaultLocale.enable = lib.mkDefault true; defaultLocale.enable = lib.mkDefault true;
}; };
}; };
} }
# imports = [ # imports = [
# ./neo.nix # ./neo.nix
@ -95,3 +92,4 @@ in {
# pipewire.enable = lib.mkDefault true; # pipewire.enable = lib.mkDefault true;
# pipewire.useJack = lib.mkDefault false; # pipewire.useJack = lib.mkDefault false;
# } # }

View file

@ -1,4 +1,9 @@
{ pkgs, lib, config, ...}: { {
pkgs,
lib,
config,
...
}: {
config = { config = {
time.timeZone = lib.mkDefault "Europe/Berlin"; time.timeZone = lib.mkDefault "Europe/Berlin";

View file

@ -4,13 +4,13 @@
lib, lib,
inputs, inputs,
... ...
}: let }: let
webGuiPort = [ 8384 ]; webGuiPort = [8384];
cfg = config; cfg = config;
secretsFile = "../../../secrets/secrets.json"; secretsFile = "../../../secrets/secrets.json";
secretsSet = builtins.fromJSON (builtins.readFile ./${secretsFile}); secretsSet = builtins.fromJSON (builtins.readFile ./${secretsFile});
devices = builtins.attrNames secretsSet.syncthing.devices; devices = builtins.attrNames secretsSet.syncthing.devices;
in { in {
options = { options = {
rootDir = lib.mkOption { rootDir = lib.mkOption {
type = lib.types.path; type = lib.types.path;
@ -29,11 +29,11 @@
overrideFolders = true; overrideFolders = true;
settings = { settings = {
devices = { devices = {
"saintAlphonso" = { id ="LHASNUO-CXALARH-XI3TU4U-OCULV72-HS3HQ35-P4FECIT-UZ5VMSZ-PMCEPQH"; }; "saintAlphonso" = {id = "LHASNUO-CXALARH-XI3TU4U-OCULV72-HS3HQ35-P4FECIT-UZ5VMSZ-PMCEPQH";};
"littleUmbrella" = { id ="BH3OHYP-TGGOSZO-EM6MXRY-YHSBOUO-CQHE7DL-N2LOUFY-TF3LEJ7-FHTGTQI"; }; "littleUmbrella" = {id = "BH3OHYP-TGGOSZO-EM6MXRY-YHSBOUO-CQHE7DL-N2LOUFY-TF3LEJ7-FHTGTQI";};
"pixelRoot" = { id ="PO7U5SE-DYKTOM2-TFDS3BM-A25VK7V-MQ3VPFM-EFX3J4D-B3UDCX4-3XQAIAC"; }; "pixelRoot" = {id = "PO7U5SE-DYKTOM2-TFDS3BM-A25VK7V-MQ3VPFM-EFX3J4D-B3UDCX4-3XQAIAC";};
"pixelDefault" = { id ="HC3CKC7-OUZBLU3-JIKTRYG-DPJE6EC-7POCWNS-6VNOPDU-L7OWYWO-PL332AY"; }; "pixelDefault" = {id = "HC3CKC7-OUZBLU3-JIKTRYG-DPJE6EC-7POCWNS-6VNOPDU-L7OWYWO-PL332AY";};
"pixelGooglor" = { id ="OWDM4I2-O6STMIS-H3EXF65-FSM26K3-5FLQXRN-VOK7JGC-T6H76IR-QAVO3QK"; }; "pixelGooglor" = {id = "OWDM4I2-O6STMIS-H3EXF65-FSM26K3-5FLQXRN-VOK7JGC-T6H76IR-QAVO3QK";};
}; };
folders = { folders = {
@ -41,7 +41,10 @@
label = "KeepassXC"; label = "KeepassXC";
id = "xd4de-mjfcq"; id = "xd4de-mjfcq";
devices = ["littleUmbrella" "pixelRoot" "pixelDefault" "pixelGooglor" "saintAlphonso"]; devices = ["littleUmbrella" "pixelRoot" "pixelDefault" "pixelGooglor" "saintAlphonso"];
versioning = { type = "simple"; params.keep = "5"; }; versioning = {
type = "simple";
params.keep = "5";
};
}; };
}; };
}; };
@ -51,6 +54,6 @@
# 22000 TCP and/or UDP for sync traffic # 22000 TCP and/or UDP for sync traffic
# 21027/UDP for discovery # 21027/UDP for discovery
# source: https://docs.syncthing.net/users/firewall.html # source: https://docs.syncthing.net/users/firewall.html
networking.firewall.allowedTCPPorts = [ 8384 22000 ]; networking.firewall.allowedTCPPorts = [8384 22000];
networking.firewall.allowedUDPPorts = [ 22000 21027 ]; networking.firewall.allowedUDPPorts = [22000 21027];
} }