System: Cleanup default.nix
This commit is contained in:
@ -46,15 +46,6 @@ with mylib.networking; {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# NOTE: This should be handled by my local DNS
|
|
||||||
# networking.hosts = {
|
|
||||||
# "192.168.86.50" = ["nixinator"];
|
|
||||||
# "192.168.86.4" = ["proxmox"];
|
|
||||||
# "192.168.86.20" = ["truenas"];
|
|
||||||
# "192.168.86.5" = ["opnsense"];
|
|
||||||
# "192.168.86.25" = ["servenix"];
|
|
||||||
# };
|
|
||||||
|
|
||||||
# Enable flakes
|
# Enable flakes
|
||||||
nix = {
|
nix = {
|
||||||
package = pkgs.nixVersions.stable;
|
package = pkgs.nixVersions.stable;
|
||||||
@ -64,18 +55,12 @@ with mylib.networking; {
|
|||||||
|
|
||||||
settings.trusted-users = ["root" "christoph"];
|
settings.trusted-users = ["root" "christoph"];
|
||||||
|
|
||||||
# Keep nix-shell from garbage collection for direnv (keep-outputs + keep-derivations)
|
|
||||||
# NOTE: nix-direnv use nix or use flake should do this automatically
|
|
||||||
# keep-outputs = true
|
|
||||||
# keep-derivations = true
|
|
||||||
|
|
||||||
# Auto garbage-collect and optimize store
|
# Auto garbage-collect and optimize store
|
||||||
# gc.automatic = true; # NOTE: Disabled for "nh clean"
|
# gc.automatic = true; # NOTE: Disabled for "nh clean"
|
||||||
gc.options = "--delete-older-than 5d";
|
gc.options = "--delete-older-than 5d";
|
||||||
settings.auto-optimise-store = true;
|
settings.auto-optimise-store = true;
|
||||||
optimise.automatic = true;
|
optimise.automatic = true;
|
||||||
|
|
||||||
# TODO: I do not understand this
|
|
||||||
# This will add your inputs as registries, making operations with them (such
|
# This will add your inputs as registries, making operations with them (such
|
||||||
# as nix shell nixpkgs#name) consistent with your flake inputs.
|
# as nix shell nixpkgs#name) consistent with your flake inputs.
|
||||||
# (Registry contains flakes)
|
# (Registry contains flakes)
|
||||||
@ -88,9 +73,7 @@ with mylib.networking; {
|
|||||||
# Bootloader/Kernel stuff
|
# Bootloader/Kernel stuff
|
||||||
boot = {
|
boot = {
|
||||||
kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
|
kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
|
||||||
# kernelPackages = pkgs.linuxPackages_zen; # NOTE: Only set for nixinator
|
kernelParams = ["mitigations=off"]; # I don't care
|
||||||
# kernelPackages = pkgs.linuxPackages_latest; # The package set that includes the kernel and modules
|
|
||||||
kernelParams = ["mitigations=off"]; # I don't care about security regarding spectre/meltdown
|
|
||||||
|
|
||||||
# plymouth.enable = true;
|
# plymouth.enable = true;
|
||||||
loader = {
|
loader = {
|
||||||
@ -118,23 +101,13 @@ with mylib.networking; {
|
|||||||
hyprlock = {};
|
hyprlock = {};
|
||||||
};
|
};
|
||||||
|
|
||||||
# TODO: Replace with polkit
|
|
||||||
sudo.enable = true;
|
sudo.enable = true;
|
||||||
sudo.extraRules = [
|
sudo.extraRules = [
|
||||||
{
|
{
|
||||||
users = ["christoph"];
|
users = ["christoph"];
|
||||||
commands = [
|
commands = [
|
||||||
# Launch gamemode without password because it is annoying
|
# We allow running flatpak without password
|
||||||
# {
|
# so flatpaks can be installed from the hm config
|
||||||
# command = "/etc/profiles/per-user/christoph/bin/gamemoderun";
|
|
||||||
# options = [ "SETENV" "NOPASSWD" ];
|
|
||||||
# }
|
|
||||||
# {
|
|
||||||
# command = "${pkgs.gamemode}/libexec/cpugovctl";
|
|
||||||
# options = [ "SETENV" "NOPASSWD" ];
|
|
||||||
# }
|
|
||||||
|
|
||||||
# We allow running flatpak without password so flatpaks can be installed from the hm config (needs sudo)
|
|
||||||
{
|
{
|
||||||
command = "/run/current-system/sw/bin/flatpak";
|
command = "/run/current-system/sw/bin/flatpak";
|
||||||
options = ["SETENV" "NOPASSWD"];
|
options = ["SETENV" "NOPASSWD"];
|
||||||
@ -198,7 +171,7 @@ with mylib.networking; {
|
|||||||
textEditor = "neovide.desktop"; # Helix.desktop
|
textEditor = "neovide.desktop"; # Helix.desktop
|
||||||
videoPlayer = "mpv.desktop";
|
videoPlayer = "mpv.desktop";
|
||||||
imageViewer = "imv.desktop";
|
imageViewer = "imv.desktop";
|
||||||
audioPlayer = "vlc.desktop"; # mov.desktop
|
audioPlayer = "mpv.desktop"; # mov.desktop
|
||||||
in {
|
in {
|
||||||
"inode/directory" = "nnn.desktop";
|
"inode/directory" = "nnn.desktop";
|
||||||
|
|
||||||
@ -245,8 +218,9 @@ with mylib.networking; {
|
|||||||
enableDefaultPackages = true; # Some default fonts for unicode coverage
|
enableDefaultPackages = true; # Some default fonts for unicode coverage
|
||||||
fontDir.enable = true; # Puts fonts to /run/current-system/sw/share/X11/fonts
|
fontDir.enable = true; # Puts fonts to /run/current-system/sw/share/X11/fonts
|
||||||
|
|
||||||
# Font packages go here
|
# Font packages go here.
|
||||||
# NOTE: Don't do this with HomeManager as I need the fonts in the fontdir for flatpak apps
|
# They are installed system-wide so they land in fontdir,
|
||||||
|
# this is required for flatpak to find them.
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
# Monospace fonts
|
# Monospace fonts
|
||||||
(nerdfonts.override {
|
(nerdfonts.override {
|
||||||
@ -262,8 +236,6 @@ with mylib.networking; {
|
|||||||
lxgw-wenkai
|
lxgw-wenkai
|
||||||
];
|
];
|
||||||
|
|
||||||
# TODO: Check if this works
|
|
||||||
# TODO: Conflicts with kde?
|
|
||||||
fontconfig = {
|
fontconfig = {
|
||||||
enable = true;
|
enable = true;
|
||||||
antialias = true;
|
antialias = true;
|
||||||
@ -296,7 +268,8 @@ with mylib.networking; {
|
|||||||
"lp"
|
"lp"
|
||||||
"libvirtd"
|
"libvirtd"
|
||||||
];
|
];
|
||||||
shell = pkgs.fish; # TODO: Is this needed if programs.fish.enable = true?
|
shell = pkgs.fish;
|
||||||
|
|
||||||
# We do this with HomeManager
|
# We do this with HomeManager
|
||||||
# packages = with pkgs; [];
|
# packages = with pkgs; [];
|
||||||
};
|
};
|
||||||
@ -335,25 +308,12 @@ with mylib.networking; {
|
|||||||
# egl-wayland
|
# egl-wayland
|
||||||
];
|
];
|
||||||
|
|
||||||
# NOTE: Gnome
|
# It is preferred to use the module (if it exists) over environment.systemPackages,
|
||||||
# TODO: Identify all the crap
|
# as some extra configs are applied.
|
||||||
# Remove these packages that come by default with GNOME
|
# I would prefer to use HomeManager for some of these but the modules don't exist (yet).
|
||||||
# environment.gnome.excludePackages = with pkgs.gnome; [
|
|
||||||
# # epiphany # gnome webbrowser, could be good with new version
|
|
||||||
# gnome-maps
|
|
||||||
# gnome-contacts
|
|
||||||
# ];
|
|
||||||
|
|
||||||
# NOTE: Plasma
|
|
||||||
# TODO: Identify all the crap
|
|
||||||
# environment.plasma5.excludePackages = with pkgs.libsForQt5; [
|
|
||||||
# ];
|
|
||||||
|
|
||||||
# It is preferred to use the module (if it exists) over environment.systemPackages, as some extra configs are applied.
|
|
||||||
# I would prefer to use HomeManager for some of these but the modules don't exist (yet)
|
|
||||||
programs = {
|
programs = {
|
||||||
adb.enable = true;
|
adb.enable = true;
|
||||||
dconf.enable = true; # NOTE: Also needed for Plasma Wayland (GTK theming)
|
dconf.enable = true;
|
||||||
fish.enable = true;
|
fish.enable = true;
|
||||||
firejail.enable = true; # Use to run app in network namespace (e.g. through vpn)
|
firejail.enable = true; # Use to run app in network namespace (e.g. through vpn)
|
||||||
git.enable = true;
|
git.enable = true;
|
||||||
@ -376,7 +336,6 @@ with mylib.networking; {
|
|||||||
# ausweisapp.openFirewall = true; # Directly set port in firewall
|
# ausweisapp.openFirewall = true; # Directly set port in firewall
|
||||||
};
|
};
|
||||||
|
|
||||||
# sound.enable = false; # Alsa, seems to conflict with PipeWire # NOTE: Deprecated
|
|
||||||
hardware.pulseaudio.enable = false; # Get off my lawn
|
hardware.pulseaudio.enable = false; # Get off my lawn
|
||||||
|
|
||||||
# List services that you want to enable:
|
# List services that you want to enable:
|
||||||
@ -388,9 +347,7 @@ with mylib.networking; {
|
|||||||
alsa.support32Bit = true;
|
alsa.support32Bit = true;
|
||||||
pulse.enable = true;
|
pulse.enable = true;
|
||||||
jack.enable = false;
|
jack.enable = false;
|
||||||
|
wireplumber.enable = true;
|
||||||
wireplumber.enable = true; # Probably the default
|
|
||||||
# media-session.enable = false; # NOTE: Deprecated
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Enable the X11 windowing system.
|
# Enable the X11 windowing system.
|
||||||
@ -416,6 +373,7 @@ with mylib.networking; {
|
|||||||
dell-b1160w # TODO: Broken
|
dell-b1160w # TODO: Broken
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
avahi = {
|
avahi = {
|
||||||
enable = false; # Network printers
|
enable = false; # Network printers
|
||||||
nssmdns4 = true;
|
nssmdns4 = true;
|
||||||
@ -441,13 +399,6 @@ with mylib.networking; {
|
|||||||
enable = true;
|
enable = true;
|
||||||
package = lib.mkForce pkgs.gnome3.gvfs;
|
package = lib.mkForce pkgs.gnome3.gvfs;
|
||||||
};
|
};
|
||||||
# packagekit.enable = true; # KDE Discover/Gnome Software
|
|
||||||
|
|
||||||
# samba = {
|
|
||||||
# package = pkgs.samba4Full;
|
|
||||||
# enable = true;
|
|
||||||
# openFirewall = true;
|
|
||||||
# };
|
|
||||||
|
|
||||||
udev = {
|
udev = {
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
@ -455,10 +406,7 @@ with mylib.networking; {
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
gnome.gnome-keyring.enable = true; # TODO: Is probably also needed for Plasma (some apps require it)
|
gnome.gnome-keyring.enable = true; # Some apps require this
|
||||||
# gnome.sushi.enable = true;
|
|
||||||
# gnome.gnome-settings-daemon.enable = true;
|
|
||||||
# gnome.gnome-online-accounts.enable = true; # Probably Gnome enables this
|
|
||||||
};
|
};
|
||||||
|
|
||||||
virtualisation = {
|
virtualisation = {
|
||||||
@ -484,13 +432,9 @@ with mylib.networking; {
|
|||||||
|
|
||||||
oci-containers.backend = "podman"; # "docker" or "podman"
|
oci-containers.backend = "podman"; # "docker" or "podman"
|
||||||
libvirtd.enable = true;
|
libvirtd.enable = true;
|
||||||
|
|
||||||
# Follow steps from https://nixos.wiki/wiki/WayDroid
|
|
||||||
# waydroid.enable = true;
|
|
||||||
# lxd.enable = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# NOTE: Current system was installed on 22.05, do not change
|
# The current system was installed on 22.05, do not change.
|
||||||
# This value determines the NixOS release from which the default
|
# This value determines the NixOS release from which the default
|
||||||
# settings for stateful data, like file locations and database versions
|
# settings for stateful data, like file locations and database versions
|
||||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||||
|
Reference in New Issue
Block a user