nixos/hosts/kim/default.nix

115 lines
3 KiB
Nix
Raw Normal View History

2024-05-27 12:20:39 -04:00
# kim
# System configuration for a vm on my desktop
2024-05-17 07:48:51 -04:00
{ inputs, globals, ... }:
2024-05-17 07:48:51 -04:00
with inputs;
inputs.nixpkgs.lib.nixosSystem {
2024-05-17 07:48:51 -04:00
system = "x86_64-linux";
modules = [
globals
lix-module.nixosModules.default
2024-05-17 07:48:51 -04:00
home-manager.nixosModules.home-manager
2024-05-19 19:45:26 -04:00
sops-nix.nixosModules.sops
2024-05-21 11:34:41 -04:00
./hardware-configuration.nix
./audio.nix
../../modules/common
../../modules/nixos
2024-05-17 07:48:51 -04:00
{
2024-05-27 12:37:47 -04:00
home-manager.useGlobalPkgs = true;
2024-05-17 07:48:51 -04:00
# something with overlays, I don't get those yet.
# Hardware
physical = true;
networking.hostName = "kim";
networking.useDHCP = nixpkgs.lib.mkDefault true;
networking.networkmanager.unmanaged = [ "tailscale0" ];
2024-05-17 07:48:51 -04:00
# TODO: identityFile = "/home/${globals.user}/.ssh/id_ed2519";
# TODO: passwordHash = nixpkgs.lib.fileContents ../../password.sha512;
# Theming?
2024-05-19 19:33:20 -04:00
sops = {
defaultSopsFile = ../../secrets/secrets.yaml;
defaultSopsFormat = "yaml";
age.keyFile = "/home/annika/.config/sops/age/keys.txt";
};
# TODO: Temporary, remove eventually!
# networking.networkmanager.enable = true;
time.timeZone = "America/New_York";
nix.settings.experimental-features = [ "nix-command" "flakes" ];
2024-05-25 08:43:28 -04:00
users.users.annika = {
isNormalUser = true;
description = "Annika Merris";
2024-05-24 13:27:28 -04:00
extraGroups = [ "networkmanager" "wheel" "audio" ];
};
nixpkgs.config.allowUnfree = true;
system.stateVersion = "23.11";
home-manager.backupFileExtension = "backup";
hardware.bluetooth.enable = true;
hardware.bluetooth.powerOnBoot = true;
# Enable hardware features
audio.enable = true;
2024-05-25 09:03:59 -04:00
gui.enable = true;
2024-05-25 08:43:28 -04:00
services.openssh.enable = true;
services.flatpak.enable = true;
# Apps
discord.enable = true;
element.enable = true;
firefox.enable = true;
2024-05-27 10:21:53 -04:00
kitty.enable = true;
netbird.enable = true;
openrgb.enable = true;
prusa-slicer.enable = true;
2024-05-19 19:33:20 -04:00
spotifyd.enable = true;
2024-05-26 13:07:54 -04:00
thunderbird.enable = true;
2024-05-21 11:50:54 -04:00
# Gaming
steam.enable = true;
# Programming Stuff
nixpkgs-fmt.enable = true;
python3.enable = true;
vscode.enable = true;
# Utilities
# git is not optional
2024-05-28 10:01:49 -04:00
docker.enable = true;
2024-05-27 09:36:51 -04:00
yubikey.enable = true;
2024-07-13 10:38:06 -04:00
kdeconnect.enable = true;
2024-07-15 20:36:54 -04:00
tailscale.enable = true;
2024-05-27 12:37:47 -04:00
# TODO: Move this out
2024-05-28 09:50:29 -04:00
home-manager.users.annika = {
programs = {
2024-05-27 12:37:47 -04:00
direnv = {
enable = true;
enableBashIntegration = true;
nix-direnv.enable = true;
};
2024-07-13 13:16:36 -04:00
bash = {
enable = true;
shellAliases = {
s = "kitten ssh";
la = "ls -a";
ll = "ls -l";
lal = "ls -la";
cls = "clear && ls";
};
};
2024-05-27 12:37:47 -04:00
};
};
2024-07-13 13:19:41 -04:00
nix.gc = {
automatic = true;
randomizedDelaySec = "14m";
options = "--delete-older-than 10d";
};
2024-05-17 07:48:51 -04:00
}
];
}