more homeModules
This commit is contained in:
parent
ff0c287624
commit
1b3b7cf607
16 changed files with 158 additions and 154 deletions
23
flake.nix
23
flake.nix
|
@ -103,13 +103,16 @@
|
|||
nixosConfigurations = forDevice (
|
||||
device: system:
|
||||
let
|
||||
specialArgs = {
|
||||
commonSpecialArgs = {
|
||||
inherit device;
|
||||
inherit (self) nixosModules;
|
||||
vinzenzHomeModules = self.homeModules;
|
||||
};
|
||||
in
|
||||
nixpkgs.lib.nixosSystem {
|
||||
inherit system specialArgs;
|
||||
inherit system;
|
||||
specialArgs = commonSpecialArgs // {
|
||||
vinzenzNixosModules = self.nixosModules;
|
||||
};
|
||||
modules = [
|
||||
{
|
||||
networking.hostName = device;
|
||||
|
@ -143,12 +146,21 @@
|
|||
]
|
||||
++ (nixpkgs.lib.optionals (builtins.elem device homeDevices) [
|
||||
{
|
||||
home-manager.extraSpecialArgs = specialArgs;
|
||||
home-manager = {
|
||||
extraSpecialArgs = commonSpecialArgs;
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
};
|
||||
|
||||
time.timeZone = "Europe/Berlin";
|
||||
|
||||
home-manager.sharedModules = [
|
||||
{ home.stateVersion = "22.11"; }
|
||||
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.en-de
|
||||
self.nixosModules.gnome
|
||||
./modules/home-manager.nix
|
||||
self.nixosModules.modern-desktop
|
||||
self.nixosModules.nix-ld
|
||||
|
||||
home-manager.nixosModules.home-manager
|
||||
servicepoint-simulator.nixosModules.default
|
||||
|
|
13
homeModules/git.nix
Normal file
13
homeModules/git.nix
Normal 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
9
homeModules/nano.nix
Normal file
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
home = {
|
||||
sessionVariables.EDITOR = "nano";
|
||||
file.".nanorc".text = ''
|
||||
set linenumbers
|
||||
set mouse
|
||||
'';
|
||||
};
|
||||
}
|
12
homeModules/templates.nix
Normal file
12
homeModules/templates.nix
Normal 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
|
||||
'';
|
||||
};
|
||||
}
|
13
homeModules/zsh-basics.nix
Normal file
13
homeModules/zsh-basics.nix
Normal 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;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,73 +1,7 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
config = {
|
||||
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;
|
||||
};
|
||||
};
|
||||
|
||||
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
|
||||
'';
|
||||
};
|
||||
programs.firefox.enable = true;
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
lm_sensors
|
||||
|
@ -93,10 +27,5 @@
|
|||
enable = true;
|
||||
enableGraphical = true;
|
||||
};
|
||||
|
||||
system.autoUpgrade = {
|
||||
allowReboot = false;
|
||||
operation = "boot";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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
|
||||
'';
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
{ pkgs, nixosModules, ... }:
|
||||
{ pkgs, vinzenzNixosModules, ... }:
|
||||
{
|
||||
imports = [ nixosModules.allowed-unfree-list ];
|
||||
imports = [ vinzenzNixosModules.allowed-unfree-list ];
|
||||
|
||||
config = {
|
||||
hardware.graphics = {
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
{ nixosModules, ... }:
|
||||
{ vinzenzNixosModules, ... }:
|
||||
{
|
||||
imports = [
|
||||
./configuration.nix
|
||||
./hardware.nix
|
||||
|
||||
nixosModules.podman
|
||||
vinzenzNixosModules.podman
|
||||
./forgejo-runner.nix
|
||||
];
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ nixosModules, ... }:
|
||||
{ vinzenzNixosModules, ... }:
|
||||
{
|
||||
imports = [
|
||||
./configuration.nix
|
||||
|
@ -6,7 +6,7 @@
|
|||
|
||||
../../modules/gnome.nix
|
||||
../../modules/gaming.nix
|
||||
nixosModules.steam
|
||||
vinzenzNixosModules.steam
|
||||
../../modules/desktop-environment.nix
|
||||
../../modules/desktop-hardware.nix
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ nixosModules, ... }:
|
||||
{ vinzenzNixosModules, ... }:
|
||||
{
|
||||
imports = [
|
||||
./configuration.nix
|
||||
|
@ -6,9 +6,9 @@
|
|||
|
||||
../../modules/gnome.nix
|
||||
../../modules/gaming.nix
|
||||
nixosModules.steam
|
||||
nixosModules.printing
|
||||
nixosModules.podman
|
||||
vinzenzNixosModules.steam
|
||||
vinzenzNixosModules.printing
|
||||
vinzenzNixosModules.podman
|
||||
../../modules/desktop-environment.nix
|
||||
../../modules/desktop-hardware.nix
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ nixosModules, ... }:
|
||||
{ vinzenzNixosModules, ... }:
|
||||
{
|
||||
imports = [
|
||||
./configuration.nix
|
||||
|
@ -6,9 +6,9 @@
|
|||
|
||||
../../modules/gnome.nix
|
||||
../../modules/gaming.nix
|
||||
nixosModules.steam
|
||||
nixosModules.printing
|
||||
nixosModules.podman
|
||||
vinzenzNixosModules.steam
|
||||
vinzenzNixosModules.printing
|
||||
vinzenzNixosModules.podman
|
||||
#../../modules/niri.nix
|
||||
../../modules/desktop-environment.nix
|
||||
../../modules/desktop-hardware.nix
|
||||
|
|
|
@ -16,4 +16,9 @@
|
|||
LC_TIME = "de_DE.UTF-8";
|
||||
};
|
||||
};
|
||||
|
||||
programs.firefox.languagePacks = [
|
||||
"en-US"
|
||||
"de"
|
||||
];
|
||||
}
|
||||
|
|
49
nixosModules/modern-desktop.nix
Normal file
49
nixosModules/modern-desktop.nix
Normal 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
22
nixosModules/nix-ld.nix
Normal 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
|
||||
];
|
||||
};
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
{ nixosModules, ... }:
|
||||
{ vinzenzNixosModules, ... }:
|
||||
{
|
||||
imports = [ nixosModules.allowed-unfree-list ];
|
||||
imports = [ vinzenzNixosModules.allowed-unfree-list ];
|
||||
|
||||
hardware.steam-hardware.enable = true;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue