nixos config
This commit is contained in:
commit
d469a0036f
22 changed files with 686 additions and 0 deletions
65
flake.lock
generated
Normal file
65
flake.lock
generated
Normal file
|
@ -0,0 +1,65 @@
|
|||
{
|
||||
"nodes": {
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1738667255,
|
||||
"narHash": "sha256-sMMQb9NydZqQ/MvvtPp+Ny0W9P0Jk0moU7SrTBlO5Vo=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "7abcf59a365430b36f84eaa452a466b11e469e33",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixos-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1738638143,
|
||||
"narHash": "sha256-ZYMe4c4OCtIUBn5hx15PEGr0+B1cNEpl2dsaLxwY2W0=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "9bdd53f5908453e4d03f395eb1615c3e9a351f70",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "master",
|
||||
"repo": "nixos-hardware",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1738546358,
|
||||
"narHash": "sha256-nLivjIygCiqLp5QcL7l56Tca/elVqM9FG1hGd9ZSsrg=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "c6e957d81b96751a3d5967a0fd73694f303cc914",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"home-manager": "home-manager",
|
||||
"nixos-hardware": "nixos-hardware",
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
91
flake.nix
Normal file
91
flake.nix
Normal file
|
@ -0,0 +1,91 @@
|
|||
{
|
||||
description = "aar0ns flake configuration";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
||||
};
|
||||
|
||||
# c3d2-user-module = {
|
||||
# url = "git+https://gitea.c3d2.de/C3D2/nix-user-module.git";
|
||||
# };
|
||||
# sops-nix = {
|
||||
# url = "github:Mic92/sops-nix";
|
||||
# inputs.nixpkgs.follows = "nixpkgs";
|
||||
# };
|
||||
# };
|
||||
|
||||
outputs = { self, nixpkgs, home-manager, nixos-hardware }:
|
||||
let
|
||||
|
||||
system = "x86_64-linux";
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
};
|
||||
|
||||
base-modules = [
|
||||
./modules/defaults/nix.nix
|
||||
|
||||
home-manager.nixosModules.home-manager
|
||||
./modules/defaults/home-manager.nix
|
||||
];
|
||||
|
||||
in
|
||||
{
|
||||
legacypackages.x86_64-linux = {
|
||||
inherit pkgs;
|
||||
};
|
||||
|
||||
nixosConfigurations = {
|
||||
nussbaum = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
|
||||
modules = base-modules ++ [
|
||||
nixos-hardware.nixosModules.lenovo-thinkpad-t490
|
||||
home-manager.nixosModules.home-manager
|
||||
./modules/defaults/home-manager.nix
|
||||
./modules/systems/t490.nix
|
||||
./modules/defaults/base.nix
|
||||
./modules/defaults/desktop.nix
|
||||
./modules/defaults/fonts.nix
|
||||
./modules/defaults/home-manager.nix
|
||||
./modules/defaults/networking.nix
|
||||
./modules/defaults/users.nix
|
||||
./modules/defaults/virtualization/docker.nix
|
||||
./modules/defaults/virtualization/kvm.nix
|
||||
./modules/defaults/security.nix
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
# lib.mergeAttrs commonAttrs {
|
||||
# modules = [
|
||||
# ./modules/configuration.nix
|
||||
# c3d2-user-module.nixosModule
|
||||
# sops-nix.nixosModules.sops
|
||||
# ];
|
||||
# });
|
||||
|
||||
#mobile = nixpkgs.lib.nixosSystem (lib.mergeAttrs commonAttrs {
|
||||
# modules = [
|
||||
# ./hosts/mobile/configuration.nix
|
||||
# c3d2-user-module.nixosModule
|
||||
# sops-nix.nixosModules.sops
|
||||
# ];
|
||||
#});
|
||||
|
||||
#tower = nixpkgs.lib.nixosSystem (lib.mergeAttrs commonAttrs {
|
||||
# modules = [
|
||||
# ./hosts/tower/configuration.nix
|
||||
# sops-nix.nixosModules.sops
|
||||
# ];
|
||||
#});
|
||||
# };
|
||||
# };
|
||||
#}
|
||||
|
33
modules/defaults/base.nix
Normal file
33
modules/defaults/base.nix
Normal file
|
@ -0,0 +1,33 @@
|
|||
## Some defaults I want for all my systems
|
||||
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
nix-index
|
||||
vim tmux
|
||||
wget curl
|
||||
htop atop iotop iftop
|
||||
file bc
|
||||
babashka rlwrap
|
||||
];
|
||||
|
||||
boot.loader.grub.configurationLimit = 5;
|
||||
boot.loader.systemd-boot.configurationLimit = 5;
|
||||
#boot.loader.grub.copyKernels = false;
|
||||
|
||||
time.timeZone = "Europe/Berlin";
|
||||
i18n.defaultLocale = "de_DE.UTF-8";
|
||||
#i18n.defaultLocale = "en_US.UTF-8";
|
||||
i18n.extraLocaleSettings =
|
||||
{
|
||||
LC_MESSAGES = "en_US.UTF-8";
|
||||
LC_TIME = "de_DE.UTF-8";
|
||||
LANGUAGE = "de";
|
||||
LC_MONETARY = "de_DE.UTF-8";
|
||||
LC_MEASUREMENT = "de_DE.UTF-8";
|
||||
LC_NUMERIC = "de_DE.UTF-8";
|
||||
LANG = "en_US.UTF-8";
|
||||
};
|
||||
|
||||
environment.variables = { EDITOR = "vim"; };
|
||||
}
|
53
modules/defaults/btrfs.nix
Normal file
53
modules/defaults/btrfs.nix
Normal file
|
@ -0,0 +1,53 @@
|
|||
{
|
||||
imports =
|
||||
[
|
||||
|
||||
];
|
||||
|
||||
services.beesd.filesystems = {
|
||||
luks-13b43fe2-5ff0-4e99-8d2a-2b92ff2e0df6 = {
|
||||
spec = "UUID=6886fe4e-ebfc-458c-82e7-a0c4876529c8";
|
||||
hashTableSizeMB = 4096;
|
||||
#workDir ".beeshome";
|
||||
verbosity = "err";
|
||||
#extraOptions = [ "" ];
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
fileSystems."/" =
|
||||
{
|
||||
fsType = "btrfs";
|
||||
options = [ "compress=zstd" ];
|
||||
};
|
||||
|
||||
fileSystems."/nix" = {
|
||||
fsType = "btrfs";
|
||||
options = [ "compress=zstd:10" ];
|
||||
};
|
||||
|
||||
fileSystems."/var" = {
|
||||
fsType = "btrfs";
|
||||
options = [ "compress=zstd:3" ];
|
||||
};
|
||||
|
||||
fileSystems."/var/lib" = {
|
||||
fsType = "btrfs";
|
||||
options = [ "compress=zstd:3" ];
|
||||
};
|
||||
|
||||
fileSystems."/var/log" = {
|
||||
fsType = "btrfs";
|
||||
options = [ "compress=zstd:10" ];
|
||||
};
|
||||
|
||||
fileSystems."/tmp" = {
|
||||
fsType = "btrfs";
|
||||
options = [ "compress=zstd:1" ];
|
||||
};
|
||||
|
||||
fileSystems."/home" = {
|
||||
fsType = "btrfs";
|
||||
options = [ "compress=zstd:5" ];
|
||||
};
|
||||
}
|
55
modules/defaults/desktop.nix
Normal file
55
modules/defaults/desktop.nix
Normal file
|
@ -0,0 +1,55 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
console.useXkbConfig = true;
|
||||
|
||||
# Configure keymap in X11
|
||||
services.xserver.xkb.layout = "de";
|
||||
|
||||
# Configure console keymap
|
||||
# console.keyMap = "de";
|
||||
|
||||
# libinput.enable = true;
|
||||
|
||||
# Desktop Environment KDE
|
||||
services.displayManager.sddm.enable = true;
|
||||
services.xserver.desktopManager.plasma5.enable = true;
|
||||
|
||||
# Enable the X11 windowing system.
|
||||
services.xserver.enable = true;
|
||||
|
||||
# Enable Wayland
|
||||
programs.xwayland.enable = true;
|
||||
|
||||
programs.dconf.enable = true;
|
||||
|
||||
# Enable touchpad support (enabled default in most desktopManager).
|
||||
# services.xserver.libinput.enable = true;
|
||||
|
||||
# Enable CUPS to print documents.
|
||||
services.printing = {
|
||||
enable = true;
|
||||
drivers = with pkgs; [ gutenprint splix ];
|
||||
};
|
||||
|
||||
hardware.sane = {
|
||||
enable = true;
|
||||
# extraBackends = with pkgs; [ hplipWithPlugin ];
|
||||
};
|
||||
|
||||
# c3d2.addKnownHosts = true; # audio for c3d2
|
||||
# c3d2.audioStreaming = true;
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
# If you want to use JACK applications, uncomment this
|
||||
jack.enable = true;
|
||||
};
|
||||
|
||||
hardware.bluetooth.enable = true;
|
||||
services.blueman.enable = true;
|
||||
|
||||
}
|
7
modules/defaults/fonts.nix
Normal file
7
modules/defaults/fonts.nix
Normal file
|
@ -0,0 +1,7 @@
|
|||
{ config, pkgs, nixpkgs, ... }:
|
||||
{
|
||||
fonts.packages = with pkgs; [
|
||||
nerd-fonts.overpass ## required for starship
|
||||
dejavu_fonts
|
||||
];
|
||||
}
|
12
modules/defaults/home-manager.nix
Normal file
12
modules/defaults/home-manager.nix
Normal file
|
@ -0,0 +1,12 @@
|
|||
## Don't forget to use the module `home-manager.nixosModules.home-manager`
|
||||
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
|
||||
nixpkgs.config.permittedInsecurePackages = [
|
||||
"openssl-1.1.1w"
|
||||
];
|
||||
}
|
||||
|
8
modules/defaults/home-manager/admin.nix
Normal file
8
modules/defaults/home-manager/admin.nix
Normal file
|
@ -0,0 +1,8 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
bind.dnsutils fping speedtest-cli
|
||||
traceroute nmap
|
||||
tcpdump mitmproxy
|
||||
];
|
||||
}
|
23
modules/defaults/home-manager/base.nix
Normal file
23
modules/defaults/home-manager/base.nix
Normal file
|
@ -0,0 +1,23 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
networkmanagerapplet
|
||||
|
||||
unzip
|
||||
bat #silver-searcher
|
||||
jq
|
||||
|
||||
libfaketime
|
||||
|
||||
dmenu ## required by clipmenu
|
||||
];
|
||||
|
||||
programs.bash.enable = true;
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
};
|
||||
|
||||
services.clipmenu.enable = true;
|
||||
|
||||
}
|
9
modules/defaults/home-manager/dev/base.nix
Normal file
9
modules/defaults/home-manager/dev/base.nix
Normal file
|
@ -0,0 +1,9 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
gnumake
|
||||
docker-compose
|
||||
|
||||
openssl
|
||||
];
|
||||
}
|
18
modules/defaults/home-manager/dev/git.nix
Normal file
18
modules/defaults/home-manager/dev/git.nix
Normal file
|
@ -0,0 +1,18 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userEmail = "kontakt@aarontrom.de";
|
||||
userName = "Aar0n";
|
||||
ignores = [ "*.swp" ];
|
||||
extraConfig = {
|
||||
pull.rebase = true;
|
||||
init.defaultBranch = "main";
|
||||
};
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
gitAndTools.gitflow
|
||||
circleci-cli
|
||||
];
|
||||
}
|
8
modules/defaults/home-manager/multimedia.nix
Normal file
8
modules/defaults/home-manager/multimedia.nix
Normal file
|
@ -0,0 +1,8 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
pavucontrol mpv yt-dlp vlc mixxx
|
||||
];
|
||||
|
||||
# services.blueman-applet.enable = true;
|
||||
}
|
4
modules/defaults/home-manager/nextcloud.nix
Normal file
4
modules/defaults/home-manager/nextcloud.nix
Normal file
|
@ -0,0 +1,4 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
services.nextcloud-client.enable = true;
|
||||
}
|
26
modules/defaults/home-manager/office.nix
Normal file
26
modules/defaults/home-manager/office.nix
Normal file
|
@ -0,0 +1,26 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
pass
|
||||
libreoffice ding
|
||||
simple-scan xsane gimp imagemagick ffmpeg
|
||||
thunderbird signal-desktop
|
||||
texlive.combined.scheme-full pdftk
|
||||
];
|
||||
|
||||
programs.chromium = {
|
||||
enable = true;
|
||||
extensions = [
|
||||
"naepdomgkenhinolocfifgehidddafch" # browserpass
|
||||
"pkehgijcmpdhfbdbbnkijodmdjhbjlgp" # privacy badger
|
||||
"gcbommkclmclpchllfjekcdonpmejbdp" # https everywhere
|
||||
"cjpalhdlnbpafiamejdnhcphjbkeiagm" # ublock origin
|
||||
"mafpmfcccpbjnhfhjnllmmalhifmlcie" # snowflake
|
||||
"bkdgflcldnnnapblkhphbgpggdiikppg" # duckduckgo essentials
|
||||
];
|
||||
};
|
||||
|
||||
programs.firefox.enable = true;
|
||||
|
||||
programs.browserpass.enable = true;
|
||||
}
|
36
modules/defaults/networking.nix
Normal file
36
modules/defaults/networking.nix
Normal file
|
@ -0,0 +1,36 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
networking.usePredictableInterfaceNames = false;
|
||||
|
||||
networking.networkmanager.enable = true;
|
||||
|
||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||
|
||||
# The global useDHCP flag is deprecated, therefore explicitly set to false here.
|
||||
# Per-interface useDHCP will be mandatory in the future, so this generated config
|
||||
# replicates the default behaviour.
|
||||
networking.useDHCP = false;
|
||||
networking.interfaces.eth0.useDHCP = true;
|
||||
networking.interfaces.wlan0.useDHCP = true;
|
||||
|
||||
# services.openvpn.servers = {
|
||||
# officeVPN = { config = '' config /root/nixos/openvpn/officeVPN.conf ''; };
|
||||
# };
|
||||
|
||||
# Open ports in the firewall.
|
||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||
# Or disable the firewall altogether.
|
||||
# networking.firewall.enable = false;
|
||||
|
||||
# Enable the OpenSSH daemon.
|
||||
services.openssh.enable = true;
|
||||
|
||||
services.avahi = {
|
||||
enable = true;
|
||||
# nssmdns4 = true;
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [ macchanger ];
|
||||
}
|
25
modules/defaults/nix.nix
Normal file
25
modules/defaults/nix.nix
Normal file
|
@ -0,0 +1,25 @@
|
|||
{ config, pkgs, nixpkgs, ... }:
|
||||
|
||||
{
|
||||
boot.tmp.cleanOnBoot = true;
|
||||
|
||||
nix.package = pkgs.nixVersions.git;
|
||||
|
||||
# nix.extraOptions = "experimental-features = nix-command flakes ca-derivations";
|
||||
nix.extraOptions = "experimental-features = nix-command flakes";
|
||||
|
||||
#nix.daemonIONiceLevel = 7;
|
||||
#nix.daemonNiceLevel = 19;
|
||||
|
||||
nix = {
|
||||
settings = {
|
||||
experimental-features = [ "nix-command" "flakes" ];
|
||||
auto-optimise-store = true;
|
||||
};
|
||||
};
|
||||
|
||||
nix.gc = {
|
||||
automatic = true;
|
||||
dates = "weekly";
|
||||
};
|
||||
}
|
42
modules/defaults/security.nix
Normal file
42
modules/defaults/security.nix
Normal file
|
@ -0,0 +1,42 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
libyubikey
|
||||
yubico-pam
|
||||
yubikey-manager
|
||||
yubikey-personalization
|
||||
yubico-piv-tool
|
||||
pcsctools
|
||||
opensc
|
||||
usbutils
|
||||
ssh-to-age
|
||||
age-plugin-yubikey
|
||||
];
|
||||
|
||||
# mutableUsers = false; TODO: blocked by https://github.com/Mic92/sops-nix/pull/680
|
||||
|
||||
programs.adb.enable = true;
|
||||
security.pam.services = {
|
||||
login.u2fAuth = true;
|
||||
sudo.u2fAuth = true;
|
||||
};
|
||||
|
||||
services.pcscd = {
|
||||
enable = false; # dependency of yubikey agent
|
||||
plugins = [ pkgs.libykneomgr ];
|
||||
};
|
||||
services.udev.packages = [ pkgs.yubikey-personalization ];
|
||||
|
||||
programs.gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
enableExtraSocket = true;
|
||||
};
|
||||
}
|
||||
|
87
modules/defaults/users.nix
Normal file
87
modules/defaults/users.nix
Normal file
|
@ -0,0 +1,87 @@
|
|||
{ config, pkgs, ... }:
|
||||
{
|
||||
|
||||
programs.adb.enable = true;
|
||||
services.udev.packages = [
|
||||
pkgs.android-udev-rules
|
||||
];
|
||||
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users.users.aaron = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [ "wheel" "adbusers"]; # Enable ‘sudo’ for the user.
|
||||
|
||||
|
||||
packages = with pkgs; [
|
||||
firefox
|
||||
tree
|
||||
thunderbird
|
||||
element-desktop
|
||||
gajim
|
||||
keepassxc
|
||||
git
|
||||
nextcloud-client
|
||||
# nextcloud27
|
||||
libreoffice
|
||||
signal-desktop
|
||||
gnome-keyring
|
||||
oh-my-git
|
||||
tor
|
||||
tor-browser-bundle-bin
|
||||
inkscape
|
||||
freetube
|
||||
masterpdfeditor4
|
||||
webtorrent_desktop
|
||||
borgbackup
|
||||
kcalc
|
||||
fzf
|
||||
imagemagick
|
||||
gcc
|
||||
calyx-vpn
|
||||
riseup-vpn
|
||||
ungoogled-chromium
|
||||
kopia
|
||||
smplayer
|
||||
libsForQt5.kate
|
||||
usbutils
|
||||
openvpn
|
||||
appflowy
|
||||
libsForQt5.krfb
|
||||
libsForQt5.xdg-desktop-portal-kde
|
||||
vscodium
|
||||
python311Packages.wled
|
||||
python311Packages.pip
|
||||
yubioath-flutter
|
||||
ripgrep
|
||||
];
|
||||
};
|
||||
|
||||
programs.bash.shellAliases = {
|
||||
yay = "sudo nixos-rebuild switch";
|
||||
};
|
||||
|
||||
home-manager.users.aaron = { pkgs, config, ... }: {
|
||||
home.stateVersion = "21.11";
|
||||
imports = [
|
||||
./home-manager/base.nix
|
||||
|
||||
./home-manager/office.nix
|
||||
./home-manager/multimedia.nix
|
||||
./home-manager/nextcloud.nix
|
||||
|
||||
./home-manager/admin.nix
|
||||
./home-manager/dev/base.nix
|
||||
# ./home-manager/dev/nvim-coc.nix
|
||||
./home-manager/dev/git.nix
|
||||
# ./home-manager/dev/embedded.nix
|
||||
# ./home-manager/dev/web.nix
|
||||
# ./home-manager/dev/mobile.nix
|
||||
# ./home-manager/dev/clojure.nix
|
||||
# ./home-manager/dev/rust.nix
|
||||
];
|
||||
};
|
||||
|
||||
programs.extra-container.enable = true;
|
||||
|
||||
# services.pcscd.enable = true;
|
||||
}
|
8
modules/defaults/virtualization/docker.nix
Normal file
8
modules/defaults/virtualization/docker.nix
Normal file
|
@ -0,0 +1,8 @@
|
|||
{ config, pkgs, ... }:
|
||||
{
|
||||
virtualisation.docker.enable = true;
|
||||
|
||||
users.groups.docker = {};
|
||||
|
||||
virtualisation.docker.autoPrune.enable = true;
|
||||
}
|
9
modules/defaults/virtualization/kvm.nix
Normal file
9
modules/defaults/virtualization/kvm.nix
Normal file
|
@ -0,0 +1,9 @@
|
|||
{pkgs, ...}:
|
||||
|
||||
{
|
||||
virtualisation.libvirtd.enable = true;
|
||||
programs.dconf.enable = true;
|
||||
environment.systemPackages = with pkgs; [ virt-manager ];
|
||||
|
||||
users.users."aaron".extraGroups = [ "libvirtd" ];
|
||||
}
|
4
modules/swap.nix
Normal file
4
modules/swap.nix
Normal file
|
@ -0,0 +1,4 @@
|
|||
{ config, pkgs, nixpkgs, ... }:
|
||||
|
||||
{swapDevices.*.randomEncryption.enable = false; #used to be enabled - I set it to false
|
||||
}
|
63
modules/systems/t490.nix
Normal file
63
modules/systems/t490.nix
Normal file
|
@ -0,0 +1,63 @@
|
|||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
system.stateVersion = "23.11";
|
||||
networking.hostName = "nussbaum";
|
||||
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
# ../defaults/fonts.nix
|
||||
];
|
||||
|
||||
# Use the systemd-boot EFI boot loader.
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "sdhci_pci" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
|
||||
boot.initrd.luks.devices."nussbaum".device = "/dev/disk/by-uuid/683a959d-f887-4fe9-9a5c-8c65e39c0647";
|
||||
boot.initrd.luks.devices."swap".device = "/dev/disk/by-uuid/f3dde71d-e12d-487e-81e8-7905d679aebb"; #used to be enabled
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/2279-E1C9";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/6a60a9f9-47d6-4617-a1cd-99cdc5a0f550";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
swapDevices =
|
||||
[ { device = "/dev/disk/by-uuid/1df5f3df-8d38-41df-aac4-999747e5feab"; }
|
||||
];
|
||||
|
||||
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
||||
|
||||
# services.thinkfan.enable = true;
|
||||
boot.extraModprobeConfig = ''
|
||||
options thinkpad_acpi fan_control=1
|
||||
'';
|
||||
# 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
|
||||
# still possible to use this option, but it's recommended to use it in conjunction
|
||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
|
||||
# networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.wlp0s20f3.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.wwan0.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
|
||||
nixpkgs.config.allowUnfree = true; ## required by android-studio
|
||||
}
|
Loading…
Add table
Reference in a new issue