more homeModules

This commit is contained in:
Vinzenz Schroeter 2025-09-14 13:36:45 +02:00
parent ff0c287624
commit 1b3b7cf607
16 changed files with 158 additions and 154 deletions

View file

@ -103,13 +103,16 @@
nixosConfigurations = forDevice ( nixosConfigurations = forDevice (
device: system: device: system:
let let
specialArgs = { commonSpecialArgs = {
inherit device; inherit device;
inherit (self) nixosModules; vinzenzHomeModules = self.homeModules;
}; };
in in
nixpkgs.lib.nixosSystem { nixpkgs.lib.nixosSystem {
inherit system specialArgs; inherit system;
specialArgs = commonSpecialArgs // {
vinzenzNixosModules = self.nixosModules;
};
modules = [ modules = [
{ {
networking.hostName = device; networking.hostName = device;
@ -143,12 +146,21 @@
] ]
++ (nixpkgs.lib.optionals (builtins.elem device homeDevices) [ ++ (nixpkgs.lib.optionals (builtins.elem device homeDevices) [
{ {
home-manager.extraSpecialArgs = specialArgs; home-manager = {
extraSpecialArgs = commonSpecialArgs;
useGlobalPkgs = true;
useUserPackages = true;
};
time.timeZone = "Europe/Berlin"; time.timeZone = "Europe/Berlin";
home-manager.sharedModules = [ home-manager.sharedModules = [
{ home.stateVersion = "22.11"; }
self.homeModules.adwaita self.homeModules.adwaita
self.homeModules.git
self.homeModules.templates
self.homeModules.zsh-basics
self.homeModules.nano
]; ];
} }
@ -158,7 +170,8 @@
self.nixosModules.kdeconnect self.nixosModules.kdeconnect
self.nixosModules.en-de self.nixosModules.en-de
self.nixosModules.gnome self.nixosModules.gnome
./modules/home-manager.nix self.nixosModules.modern-desktop
self.nixosModules.nix-ld
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
servicepoint-simulator.nixosModules.default servicepoint-simulator.nixosModules.default

13
homeModules/git.nix Normal file
View file

@ -0,0 +1,13 @@
{
programs = {
git = {
enable = true;
extraConfig.init.defaultBranch = "main";
};
gh = {
enable = true;
gitCredentialHelper.enable = true;
};
};
}

9
homeModules/nano.nix Normal file
View file

@ -0,0 +1,9 @@
{
home = {
sessionVariables.EDITOR = "nano";
file.".nanorc".text = ''
set linenumbers
set mouse
'';
};
}

12
homeModules/templates.nix Normal file
View file

@ -0,0 +1,12 @@
{
home.file = {
"Templates/Empty file".text = "";
"Templates/Empty bash script".text = ''
#!/usr/bin/env bash
# abort on error, undefined variables
set -eu
# print commands before execution
set -x
'';
};
}

View file

@ -0,0 +1,13 @@
{
programs = {
command-not-found.enable = true;
dircolors.enable = true;
zsh = {
enable = true;
syntaxHighlighting.enable = true;
autosuggestion.enable = true;
enableVteIntegration = true;
};
};
}

View file

@ -1,73 +1,7 @@
{ pkgs, ... }: { pkgs, ... }:
{ {
config = { config = {
services = { programs.firefox.enable = true;
xserver.enable = true;
libinput.enable = true;
flatpak.enable = true;
fstrim.enable = true;
earlyoom = {
enable = true;
freeMemThreshold = 5;
};
};
# Enable sound with pipewire.
security.rtkit.enable = true;
services = {
pulseaudio.enable = false;
pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
#jack.enable = true;
};
};
programs = {
firefox = {
enable = true;
languagePacks = [
"en-US"
"de"
];
};
nix-ld = {
enable = true;
libraries = with pkgs; [
stdenv.cc.cc
zlib
zstd
curl
openssl
attr
libssh
bzip2
libxml2
acl
libsodium
util-linux
xz
systemd
];
};
appimage = {
enable = true;
binfmt = true;
};
xwayland.enable = true;
};
systemd = {
# save some boot time because nothing actually requires network connectivity
services.NetworkManager-wait-online.enable = false;
# prevent stuck units from preventing shutdown (default is 120s)
extraConfig = ''
DefaultTimeoutStopSec=10s
'';
};
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
lm_sensors lm_sensors
@ -93,10 +27,5 @@
enable = true; enable = true;
enableGraphical = true; enableGraphical = true;
}; };
system.autoUpgrade = {
allowReboot = false;
operation = "boot";
};
}; };
} }

View file

@ -1,61 +0,0 @@
_: {
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
sharedModules = [
# set stateVersion
{ home.stateVersion = "22.11"; }
# make nano the default editor
{
home = {
sessionVariables.EDITOR = "nano";
file.".nanorc".text = ''
set linenumbers
set mouse
'';
};
}
# command line niceness
{
programs = {
command-not-found.enable = true;
dircolors.enable = true;
zsh = {
enable = true;
syntaxHighlighting.enable = true;
autosuggestion.enable = true;
enableVteIntegration = true;
};
};
}
# common git config
{
programs = {
git = {
enable = true;
extraConfig.init.defaultBranch = "main";
};
gh = {
enable = true;
gitCredentialHelper.enable = true;
};
};
}
# Templates
{
home.file = {
"Templates/Empty file".text = "";
"Templates/Empty bash script".text = ''
#!/usr/bin/env bash
# abort on error, undefined variables
set -eu
# print commands before execution
set -x
'';
};
}
];
};
}

View file

@ -1,6 +1,6 @@
{ pkgs, nixosModules, ... }: { pkgs, vinzenzNixosModules, ... }:
{ {
imports = [ nixosModules.allowed-unfree-list ]; imports = [ vinzenzNixosModules.allowed-unfree-list ];
config = { config = {
hardware.graphics = { hardware.graphics = {

View file

@ -1,10 +1,10 @@
{ nixosModules, ... }: { vinzenzNixosModules, ... }:
{ {
imports = [ imports = [
./configuration.nix ./configuration.nix
./hardware.nix ./hardware.nix
nixosModules.podman vinzenzNixosModules.podman
./forgejo-runner.nix ./forgejo-runner.nix
]; ];
} }

View file

@ -1,4 +1,4 @@
{ nixosModules, ... }: { vinzenzNixosModules, ... }:
{ {
imports = [ imports = [
./configuration.nix ./configuration.nix
@ -6,7 +6,7 @@
../../modules/gnome.nix ../../modules/gnome.nix
../../modules/gaming.nix ../../modules/gaming.nix
nixosModules.steam vinzenzNixosModules.steam
../../modules/desktop-environment.nix ../../modules/desktop-environment.nix
../../modules/desktop-hardware.nix ../../modules/desktop-hardware.nix

View file

@ -1,4 +1,4 @@
{ nixosModules, ... }: { vinzenzNixosModules, ... }:
{ {
imports = [ imports = [
./configuration.nix ./configuration.nix
@ -6,9 +6,9 @@
../../modules/gnome.nix ../../modules/gnome.nix
../../modules/gaming.nix ../../modules/gaming.nix
nixosModules.steam vinzenzNixosModules.steam
nixosModules.printing vinzenzNixosModules.printing
nixosModules.podman vinzenzNixosModules.podman
../../modules/desktop-environment.nix ../../modules/desktop-environment.nix
../../modules/desktop-hardware.nix ../../modules/desktop-hardware.nix

View file

@ -1,4 +1,4 @@
{ nixosModules, ... }: { vinzenzNixosModules, ... }:
{ {
imports = [ imports = [
./configuration.nix ./configuration.nix
@ -6,9 +6,9 @@
../../modules/gnome.nix ../../modules/gnome.nix
../../modules/gaming.nix ../../modules/gaming.nix
nixosModules.steam vinzenzNixosModules.steam
nixosModules.printing vinzenzNixosModules.printing
nixosModules.podman vinzenzNixosModules.podman
#../../modules/niri.nix #../../modules/niri.nix
../../modules/desktop-environment.nix ../../modules/desktop-environment.nix
../../modules/desktop-hardware.nix ../../modules/desktop-hardware.nix

View file

@ -16,4 +16,9 @@
LC_TIME = "de_DE.UTF-8"; LC_TIME = "de_DE.UTF-8";
}; };
}; };
programs.firefox.languagePacks = [
"en-US"
"de"
];
} }

View file

@ -0,0 +1,49 @@
{
services = {
xserver.enable = true;
libinput.enable = true;
flatpak.enable = true;
fstrim.enable = true;
earlyoom = {
enable = true;
freeMemThreshold = 5;
};
};
# Enable sound with pipewire.
security.rtkit.enable = true;
services = {
pulseaudio.enable = false;
pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
#jack.enable = true;
};
};
systemd = {
# save some boot time because nothing actually requires network connectivity
services.NetworkManager-wait-online.enable = false;
# prevent stuck units from preventing shutdown (default is 120s)
extraConfig = ''
DefaultTimeoutStopSec=10s
'';
};
programs = {
xwayland.enable = true;
appimage = {
enable = true;
binfmt = true;
};
};
system.autoUpgrade = {
allowReboot = false;
operation = "boot";
};
}

22
nixosModules/nix-ld.nix Normal file
View file

@ -0,0 +1,22 @@
{ pkgs, ... }:
{
programs.nix-ld = {
enable = true;
libraries = with pkgs; [
stdenv.cc.cc
zlib
zstd
curl
openssl
attr
libssh
bzip2
libxml2
acl
libsodium
util-linux
xz
systemd
];
};
}

View file

@ -1,6 +1,6 @@
{ nixosModules, ... }: { vinzenzNixosModules, ... }:
{ {
imports = [ nixosModules.allowed-unfree-list ]; imports = [ vinzenzNixosModules.allowed-unfree-list ];
hardware.steam-hardware.enable = true; hardware.steam-hardware.enable = true;