2025-07-20 17:46:39 +02:00
|
|
|
{ config, pkgs, ... }:
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
imports =
|
|
|
|
|
[ ./hardware-configuration.nix ];
|
2025-07-23 13:16:55 +02:00
|
|
|
|
|
|
|
|
boot = {
|
|
|
|
|
loader.systemd-boot.enable = true;
|
|
|
|
|
loader.efi.canTouchEfiVariables = true;
|
|
|
|
|
initrd = {
|
|
|
|
|
enable = true;
|
|
|
|
|
luks.devices."luks-654125f4-7b26-408d-b1b5-d31648ec8770".device = "/dev/disk/by-uuid/654125f4-7b26-408d-b1b5-d31648ec8770";
|
|
|
|
|
verbose = false;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
plymouth = {
|
|
|
|
|
enable = true;
|
|
|
|
|
theme = "rings";
|
|
|
|
|
themePackages = with pkgs; [
|
|
|
|
|
# By default we would install all themes
|
|
|
|
|
(adi1090x-plymouth-themes.override {
|
|
|
|
|
selected_themes = [ "rings" ];
|
|
|
|
|
})
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
consoleLogLevel = 3;
|
|
|
|
|
kernelParams = [
|
|
|
|
|
"quiet"
|
|
|
|
|
"splash"
|
|
|
|
|
"boot.shell_on_fail"
|
|
|
|
|
"udev.log_priority=3"
|
|
|
|
|
"rd.systemd.show_status=auto"
|
|
|
|
|
"mem_sleep_default=s2idle"
|
|
|
|
|
];
|
|
|
|
|
loader.timeout = 0;
|
|
|
|
|
#resumeDevice = "/dev/disk/by-uuid/c49249b9-0d68-44af-97e0-e399c8409408";
|
|
|
|
|
};
|
2025-07-20 17:46:39 +02:00
|
|
|
|
|
|
|
|
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
|
|
|
|
|
|
|
|
|
networking.hostName = "electra";
|
|
|
|
|
networking.networkmanager.enable = true;
|
|
|
|
|
|
2025-07-23 13:16:55 +02:00
|
|
|
time.timeZone = "Europe/Stockholm";
|
|
|
|
|
i18n.defaultLocale = "en_US.UTF-8";
|
|
|
|
|
|
|
|
|
|
i18n.extraLocaleSettings = {
|
|
|
|
|
LC_ADDRESS = "sv_SE.UTF-8";
|
|
|
|
|
LC_IDENTIFICATION = "sv_SE.UTF-8";
|
|
|
|
|
LC_MEASUREMENT = "sv_SE.UTF-8";
|
|
|
|
|
LC_MONETARY = "sv_SE.UTF-8";
|
|
|
|
|
LC_NAME = "sv_SE.UTF-8";
|
|
|
|
|
LC_NUMERIC = "sv_SE.UTF-8";
|
|
|
|
|
LC_PAPER = "sv_SE.UTF-8";
|
|
|
|
|
LC_TELEPHONE = "sv_SE.UTF-8";
|
|
|
|
|
LC_TIME = "sv_SE.UTF-8";
|
2025-07-20 17:46:39 +02:00
|
|
|
};
|
2025-07-23 13:16:55 +02:00
|
|
|
|
|
|
|
|
nix.settings.auto-optimise-store = true;
|
|
|
|
|
nix.gc = {
|
|
|
|
|
automatic = true;
|
|
|
|
|
dates = "weekly";
|
|
|
|
|
options = "--delete-older-than 7d";
|
2025-07-20 17:46:39 +02:00
|
|
|
};
|
|
|
|
|
|
2025-07-23 13:16:55 +02:00
|
|
|
console.keyMap = "sv-latin1";
|
|
|
|
|
|
|
|
|
|
services= {
|
|
|
|
|
printing.enable = true;
|
|
|
|
|
fwupd.enable = true;
|
|
|
|
|
thermald.enable = true;
|
|
|
|
|
pulseaudio.enable = false;
|
|
|
|
|
gnome.gnome-keyring.enable = true;
|
|
|
|
|
pipewire = {
|
|
|
|
|
enable = true;
|
|
|
|
|
alsa.enable = true;
|
|
|
|
|
pulse.enable = true;
|
|
|
|
|
jack.enable = true;
|
|
|
|
|
};
|
|
|
|
|
power-profiles-daemon.enable = true;
|
|
|
|
|
displayManager = {
|
|
|
|
|
gdm.enable = true;
|
|
|
|
|
gdm.wayland = true;
|
|
|
|
|
};
|
|
|
|
|
desktopManager.gnome.enable = true;
|
|
|
|
|
xserver.xkb.layout = "se";
|
2025-07-20 17:46:39 +02:00
|
|
|
};
|
|
|
|
|
|
2025-07-23 13:16:55 +02:00
|
|
|
programs = {
|
|
|
|
|
dconf.enable = true;
|
|
|
|
|
fish.enable = true;
|
|
|
|
|
steam = {
|
|
|
|
|
enable = true;
|
|
|
|
|
remotePlay.openFirewall = true;
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-07-20 17:46:39 +02:00
|
|
|
|
|
|
|
|
environment.systemPackages = with pkgs; [
|
2025-07-23 13:16:55 +02:00
|
|
|
# NIX Tools
|
|
|
|
|
vulnix
|
|
|
|
|
|
|
|
|
|
# CLI tools
|
2025-07-20 17:46:39 +02:00
|
|
|
git
|
|
|
|
|
wget
|
|
|
|
|
curl
|
|
|
|
|
btop
|
|
|
|
|
ripgrep
|
2025-07-23 13:16:55 +02:00
|
|
|
bat
|
2025-07-20 17:46:39 +02:00
|
|
|
fd
|
|
|
|
|
eza
|
2025-07-23 13:16:55 +02:00
|
|
|
bash
|
|
|
|
|
|
|
|
|
|
# Chat
|
|
|
|
|
discord
|
|
|
|
|
signal-desktop
|
|
|
|
|
|
|
|
|
|
# Browser
|
|
|
|
|
firefox
|
|
|
|
|
|
|
|
|
|
# Development
|
|
|
|
|
vscode
|
|
|
|
|
devenv
|
|
|
|
|
direnv
|
|
|
|
|
|
|
|
|
|
# Virtualization
|
|
|
|
|
podman
|
|
|
|
|
|
|
|
|
|
# GNOME tweaks and extensions
|
|
|
|
|
gnome-tweaks
|
|
|
|
|
dconf-editor
|
|
|
|
|
gnomeExtensions.ddterm
|
|
|
|
|
gnomeExtensions.unpanel
|
|
|
|
|
|
|
|
|
|
# Other
|
|
|
|
|
syncthing
|
|
|
|
|
steam
|
|
|
|
|
obsidian
|
2025-07-20 17:46:39 +02:00
|
|
|
];
|
|
|
|
|
|
|
|
|
|
virtualisation.podman = {
|
|
|
|
|
enable = true;
|
|
|
|
|
dockerCompat = true;
|
|
|
|
|
defaultNetwork.settings.dns_enabled = true;
|
|
|
|
|
};
|
|
|
|
|
|
2025-07-23 13:16:55 +02:00
|
|
|
users.users.alisceon = {
|
|
|
|
|
isNormalUser = true;
|
|
|
|
|
extraGroups = [ "wheel" "networkmanager" "podman" ];
|
|
|
|
|
shell = pkgs.fish;
|
|
|
|
|
};
|
2025-07-20 17:46:39 +02:00
|
|
|
|
2025-07-23 13:16:55 +02:00
|
|
|
security.sudo.wheelNeedsPassword = false;
|
2025-07-20 17:46:39 +02:00
|
|
|
|
2025-07-23 13:16:55 +02:00
|
|
|
environment.shells = with pkgs; [
|
|
|
|
|
fish
|
|
|
|
|
bash
|
|
|
|
|
];
|
2025-07-20 17:46:39 +02:00
|
|
|
|
|
|
|
|
system.stateVersion = "24.05";
|
|
|
|
|
}
|