Kieran's opinionated (and probably slightly dumb) nix config

feat: add agenix and desktop packages

Changed files
+306 -33
home-manager
moonlark
secrets
+151 -18
flake.lock
···
{
"nodes": {
-
"bird-nix-lib": {
+
"agenix": {
"inputs": {
+
"darwin": "darwin",
+
"home-manager": "home-manager",
"nixpkgs": "nixpkgs",
"systems": "systems"
},
"locked": {
+
"lastModified": 1720546205,
+
"narHash": "sha256-boCXsjYVxDviyzoEyAk624600f3ZBo/DKtUdvMTpbGY=",
+
"owner": "ryantm",
+
"repo": "agenix",
+
"rev": "de96bd907d5fbc3b14fc33ad37d1b9a3cb15edc6",
+
"type": "github"
+
},
+
"original": {
+
"owner": "ryantm",
+
"repo": "agenix",
+
"type": "github"
+
}
+
},
+
"bird-nix-lib": {
+
"inputs": {
+
"nixpkgs": "nixpkgs_2",
+
"systems": "systems_2"
+
},
+
"locked": {
"lastModified": 1718015582,
"narHash": "sha256-VzK23WKktlJdTcoOh+rXKhSPYRWkl9ShIZh4tB44UV4=",
"owner": "spikespaz",
···
"type": "github"
}
},
+
"darwin": {
+
"inputs": {
+
"nixpkgs": [
+
"agenix",
+
"nixpkgs"
+
]
+
},
+
"locked": {
+
"lastModified": 1700795494,
+
"narHash": "sha256-gzGLZSiOhf155FW7262kdHo2YDeugp3VuIFb4/GGng0=",
+
"owner": "lnl7",
+
"repo": "nix-darwin",
+
"rev": "4b9b83d5a92e8c1fbfd8eb27eda375908c11ec4d",
+
"type": "github"
+
},
+
"original": {
+
"owner": "lnl7",
+
"ref": "master",
+
"repo": "nix-darwin",
+
"type": "github"
+
}
+
},
"disko": {
"inputs": {
"nixpkgs": [
···
]
},
"locked": {
-
"lastModified": 1721612107,
-
"narHash": "sha256-1F2N90WqHV14oIn5RpDfzINj4zMi5gBQOt1BAc34gGM=",
+
"lastModified": 1721735625,
+
"narHash": "sha256-4T0FK0b3Q7Dd7oj79M7GhA9+YqKxxGT0iN+h8yqdP7s=",
"owner": "nix-community",
"repo": "disko",
-
"rev": "2f5df5dcceb8473dd5715c4ae92f9b0d5f87fff9",
+
"rev": "4698b1ef375e9c904037e0b2049aa73d39ac1b2d",
"type": "github"
},
"original": {
···
"type": "github"
}
},
+
"flake-compat": {
+
"flake": false,
+
"locked": {
+
"lastModified": 1696426674,
+
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
+
"owner": "edolstra",
+
"repo": "flake-compat",
+
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
+
"type": "github"
+
},
+
"original": {
+
"owner": "edolstra",
+
"repo": "flake-compat",
+
"type": "github"
+
}
+
},
"hardware": {
"locked": {
-
"lastModified": 1721413321,
-
"narHash": "sha256-0GdiQScDceUrVGbxYpV819LHesK3szHOhJ09e6sgES4=",
+
"lastModified": 1721754224,
+
"narHash": "sha256-JEVfxzZRo+/zdWKBjHpAUG905SDZL9fmoLJxf9b5CGU=",
"owner": "NixOS",
"repo": "nixos-hardware",
-
"rev": "ab165a8a6cd12781d76fe9cbccb9e975d0fb634f",
+
"rev": "405b654893aba16c8014de6a17e84439d3fb8e46",
"type": "github"
},
"original": {
···
"home-manager": {
"inputs": {
"nixpkgs": [
+
"agenix",
+
"nixpkgs"
+
]
+
},
+
"locked": {
+
"lastModified": 1703113217,
+
"narHash": "sha256-7ulcXOk63TIT2lVDSExj7XzFx09LpdSAPtvgtM7yQPE=",
+
"owner": "nix-community",
+
"repo": "home-manager",
+
"rev": "3bfaacf46133c037bb356193bd2f1765d9dc82c1",
+
"type": "github"
+
},
+
"original": {
+
"owner": "nix-community",
+
"repo": "home-manager",
+
"type": "github"
+
}
+
},
+
"home-manager_2": {
+
"inputs": {
+
"nixpkgs": [
"nixpkgs"
]
},
···
"hyprland-protocols": "hyprland-protocols_2",
"hyprland-xdph": "hyprland-xdph",
"hyprlang": "hyprlang_3",
-
"nixpkgs": "nixpkgs_2",
-
"systems": "systems_3"
+
"nixpkgs": "nixpkgs_3",
+
"systems": "systems_4"
},
"locked": {
"lastModified": 1718089837,
···
"hyprland-xdph",
"nixpkgs"
],
-
"systems": "systems_2"
+
"systems": "systems_3"
},
"locked": {
"lastModified": 1708681732,
···
"locked": {
"lastModified": 1721413321,
"narHash": "sha256-0GdiQScDceUrVGbxYpV819LHesK3szHOhJ09e6sgES4=",
-
"owner": "NixOS",
-
"repo": "nixos-hardware",
+
"path": "/nix/store/r4aydq3av3gh49gw7k0wcp3wdxkll0ni-source",
"rev": "ab165a8a6cd12781d76fe9cbccb9e975d0fb634f",
-
"type": "github"
+
"type": "path"
},
"original": {
"id": "nixos-hardware",
···
},
"nixpkgs": {
"locked": {
+
"lastModified": 1703013332,
+
"narHash": "sha256-+tFNwMvlXLbJZXiMHqYq77z/RfmpfpiI3yjL6o/Zo9M=",
+
"owner": "NixOS",
+
"repo": "nixpkgs",
+
"rev": "54aac082a4d9bb5bbc5c4e899603abfb76a3f6d6",
+
"type": "github"
+
},
+
"original": {
+
"owner": "NixOS",
+
"ref": "nixos-unstable",
+
"repo": "nixpkgs",
+
"type": "github"
+
}
+
},
+
"nixpkgs_2": {
+
"locked": {
"lastModified": 1717868076,
"narHash": "sha256-c83Y9t815Wa34khrux81j8K8ET94ESmCuwORSKm2bQY=",
"owner": "nixos",
···
"type": "github"
}
},
-
"nixpkgs_2": {
+
"nixpkgs_3": {
"locked": {
"lastModified": 1697723726,
"narHash": "sha256-SaTWPkI8a5xSHX/rrKzUe+/uVNy6zCGMXgoeMb7T9rg=",
···
"type": "github"
}
},
-
"nixpkgs_3": {
+
"nixpkgs_4": {
"locked": {
"lastModified": 1720535198,
"narHash": "sha256-zwVvxrdIzralnSbcpghA92tWu2DV2lwv89xZc8MTrbg=",
···
},
"root": {
"inputs": {
+
"agenix": "agenix",
"disko": "disko",
"hardware": "hardware",
-
"home-manager": "home-manager",
+
"home-manager": "home-manager_2",
"hyprland-nix": "hyprland-nix",
"nixos-hardware": "nixos-hardware",
-
"nixpkgs": "nixpkgs_3"
+
"nixpkgs": "nixpkgs_4",
+
"spicetify-nix": "spicetify-nix"
+
}
+
},
+
"spicetify-nix": {
+
"inputs": {
+
"flake-compat": "flake-compat",
+
"nixpkgs": [
+
"nixpkgs"
+
]
+
},
+
"locked": {
+
"lastModified": 1721727694,
+
"narHash": "sha256-X3qaEUG5zgJi9G1ceLpjuvlC9euTVNGlnJilfCgWJu4=",
+
"owner": "Gerg-L",
+
"repo": "spicetify-nix",
+
"rev": "597ae057680ac250083166efab806dcc2e47dd6b",
+
"type": "github"
+
},
+
"original": {
+
"owner": "Gerg-L",
+
"repo": "spicetify-nix",
+
"type": "github"
}
},
"systems": {
···
},
"systems_2": {
"locked": {
+
"lastModified": 1681028828,
+
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+
"owner": "nix-systems",
+
"repo": "default",
+
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+
"type": "github"
+
},
+
"original": {
+
"owner": "nix-systems",
+
"repo": "default",
+
"type": "github"
+
}
+
},
+
"systems_3": {
+
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
···
"type": "github"
}
},
-
"systems_3": {
+
"systems_4": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
+10
flake.nix
···
disko.url = "github:nix-community/disko";
disko.inputs.nixpkgs.follows = "nixpkgs";
+
+
# agenix
+
agenix.url = "github:ryantm/agenix";
+
+
spicetify-nix = {
+
url = "github:Gerg-L/spicetify-nix";
+
inputs.nixpkgs.follows = "nixpkgs";
+
};
};
outputs = {
self,
nixpkgs,
+
agenix,
home-manager,
nixos-hardware,
...
···
modules = [
inputs.disko.nixosModules.disko
{ disko.devices.disk.disk1.device = "/dev/vda"; }
+
agenix.nixosModules.default
./moonlark/configuration.nix
];
};
+36 -1
home-manager/home.nix
···
# You can also split up your configuration and import pieces of it here:
# ./nvim.nix
+
+
# spicetify
+
inputs.spicetify-nix.homeManagerModules.default
];
nixpkgs = {
···
# Enable home-manager and git
programs.home-manager.enable = true;
-
programs.git.enable = true;
+
+
# git config
+
programs.git = {
+
enable = true;
+
userName = "Kieran Klukas";
+
userEmail = "92754843+kcoderhtml@users.noreply.github.com";
+
aliases = {
+
c = "commit";
+
p = "push";
+
pl = "pull";
+
};
+
extraConfig = {
+
commit.gpgsign = true;
+
gpg.format = "ssh";
+
gpg.ssh.allowedSignersFile = "~/.ssh/allowedSigners";
+
user.signingKey = "~/.ssh/id_rsa.pub";
+
};
+
};
+
programs.spicetify =
+
let
+
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
+
in
+
{
+
enable = true;
+
enabledExtensions = with spicePkgs.extensions; [
+
adblock
+
hidePodcasts
+
shuffle # shuffle+ (special characters are sanitized out of extension names)
+
];
+
theme = spicePkgs.themes.catppuccin;
+
colorScheme = "macchiato";
+
};
+
# Nicely reload system units when changing configs
systemd.user.startServices = "sd-switch";
+66 -4
moonlark/configuration.nix
···
+
# This is your system's configuration file.
# Use this to configure your system environment (it replaces /etc/nixos/configuration.nix)
{
···
# Import disko's configuration
./disk-config.nix
+
+
# hpyrland config
+
#./hyprland
];
-
+
nixpkgs = {
# Configure your nixpkgs instance
config = {
···
nixPath = lib.mapAttrsToList (n: _: "${n}=flake:${n}") flakeInputs;
};
+
time = {
+
timeZone = "America/New_York";
+
hardwareClockInLocalTime = true;
+
};
+
+
services.automatic-timezoned.enable = true;
+
environment.systemPackages = map lib.lowPrio [
pkgs.curl
+
inputs.agenix.packages.x86_64-linux.default
+
pkgs.wpa_supplicant_gui
+
pkgs.alacritty
+
pkgs.zsh
+
pkgs.swww
+
pkgs.sunwait
+
pkgs.wluma
+
pkgs.brightnessctl
+
pkgs.playerctl
+
pkgs.firefox
+
pkgs.slack
+
pkgs.gnome.nautilus
+
pkgs.gnome.file-roller
+
pkgs.fprintd
pkgs.gitMinimal
+
(pkgs.vscode-with-extensions.override {
+
vscodeExtensions = with pkgs.vscode-extensions; [
+
bbenoist.nix
+
];
+
})
+
pkgs.github-desktop
];
+
services.fprintd.enable = true;
+
+
fonts.packages = with pkgs; [
+
nerdfonts
+
];
+
+
programs.hyprland.enable = true;
+
+
environment.sessionVariables = {
+
XDG_CACHE_HOME = "$HOME/.cache";
+
XDG_CONFIG_HOME = "$HOME/.config";
+
XDG_DATA_HOME = "$HOME/.local/share";
+
XDG_STATE_HOME = "$HOME/.local/state";
+
NIXOS_OZONE_WL = "1";
+
};
+
+
# import the secret
+
age.identityPaths = [ "/home/kierank/.ssh/id_rsa" ];
+
age.secrets.wifi = {
+
file = ../secrets/wifi.age;
+
owner = "kierank";
+
};
+
+
# setup the network
networking = {
hostName = "moonlark";
-
wireless.enable = true;
+
wireless = {
+
environmentFile = config.age.secrets.wifi.path;
+
userControlled.enable = true;
+
enable = true;
+
networks = {
+
"KlukasNet".psk = "@PSK_HOME@";
+
"Everseen".psk = "@PSK_HOTSPOT@";
+
};
+
};
};
-
# TODO: Configure your system-wide user settings (groups, etc), add more users as needed.
users.users = {
kierank = {
···
openssh.authorizedKeys.keys = [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCzEEjvbL/ttqmYoDjxYQmDIq36BabROJoXgQKeh9liBxApwp+2PmgxROzTg42UrRc9pyrkq5kVfxG5hvkqCinhL1fMiowCSEs2L2/Cwi40g5ZU+QwdcwI8a4969kkI46PyB19RHkxg54OUORiIiso/WHGmqQsP+5wbV0+4riSnxwn/JXN4pmnE//stnyAyoiEZkPvBtwJjKb3Ni9n3eNLNs6gnaXrCtaygEZdebikr9kS2g9mM696HvIFgM6cdR/wZ7DcLbG3IdTXuHN7PC3xxL+Y4ek5iMreQIPmuvs4qslbthPGYoYbYLUQiRa9XO5s/ksIj5Z14f7anHE6cuTQVpvNWdGDOigyIVS5qU+4ZF7j+rifzOXVL48gmcAvw/uV68m5Wl/p0qsC/d8vI3GYwEsWG/EzpAlc07l8BU2LxWgN+d7uwBFaJV9VtmUDs5dcslsh8IbzmtC9gq3OLGjklxTfIl6qPiL8U33oc/UwqzvZUrI2BlbagvIZYy6rP+q0= kierank@mockingjay"
];
-
extraGroups = ["wheel" "networkmanager" "audio" "docker"];
+
extraGroups = ["wheel" "networkmanager" "audio" "video" "docker" "plugdev"];
};
root.openssh.authorizedKeys.keys = [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCzEEjvbL/ttqmYoDjxYQmDIq36BabROJoXgQKeh9liBxApwp+2PmgxROzTg42UrRc9pyrkq5kVfxG5hvkqCinhL1fMiowCSEs2L2/Cwi40g5ZU+QwdcwI8a4969kkI46PyB19RHkxg54OUORiIiso/WHGmqQsP+5wbV0+4riSnxwn/JXN4pmnE//stnyAyoiEZkPvBtwJjKb3Ni9n3eNLNs6gnaXrCtaygEZdebikr9kS2g9mM696HvIFgM6cdR/wZ7DcLbG3IdTXuHN7PC3xxL+Y4ek5iMreQIPmuvs4qslbthPGYoYbYLUQiRa9XO5s/ksIj5Z14f7anHE6cuTQVpvNWdGDOigyIVS5qU+4ZF7j+rifzOXVL48gmcAvw/uV68m5Wl/p0qsC/d8vI3GYwEsWG/EzpAlc07l8BU2LxWgN+d7uwBFaJV9VtmUDs5dcslsh8IbzmtC9gq3OLGjklxTfIl6qPiL8U33oc/UwqzvZUrI2BlbagvIZYy6rP+q0= kierank@mockingjay"
+8 -8
moonlark/hyprland/default.nix
···
./config.nix
./windowrules.nix
./keybinds.nix
-
./waybar.nix
+
#./waybar.nix
];
-
home.packages = [
-
# Screen Capture
-
pkgs.prtsc
-
# xwayland perm for pkexec
-
pkgs.xorg.xhost
-
];
+
# home.packages = [
+
# # Screen Capture
+
# pkgs.prtsc
+
# # xwayland perm for pkexec
+
# pkgs.xorg.xhost
+
# ];
wayland.windowManager.hyprland = {
enable = true;
···
# common = { default = [ "gtk" ]; };
# };
# };
-
}
+
}
+2 -2
moonlark/hyprland/keybinds.nix
···
### WINDOW RESIZING ###
groups.toggleSplit
groups.mouseResizeWindow
-
}
+
### WORKSPACE SWITCHING ###
groups.switchWorkspace
### WORKSPACE WINDOW MOVEMENT ###
groups.sendWindow
];
-
}
+
}
+10
secrets/secrets.nix
···
+
let
+
kierank = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCzEEjvbL/ttqmYoDjxYQmDIq36BabROJoXgQKeh9liBxApwp+2PmgxROzTg42UrRc9pyrkq5kVfxG5hvkqCinhL1fMiowCSEs2L2/Cwi40g5ZU+QwdcwI8a4969kkI46PyB19RHkxg54OUORiIiso/WHGmqQsP+5wbV0+4riSnxwn/JXN4pmnE//stnyAyoiEZkPvBtwJjKb3Ni9n3eNLNs6gnaXrCtaygEZdebikr9kS2g9mM696HvIFgM6cdR/wZ7DcLbG3IdTXuHN7PC3xxL+Y4ek5iMreQIPmuvs4qslbthPGYoYbYLUQiRa9XO5s/ksIj5Z14f7anHE6cuTQVpvNWdGDOigyIVS5qU+4ZF7j+rifzOXVL48gmcAvw/uV68m5Wl/p0qsC/d8vI3GYwEsWG/EzpAlc07l8BU2LxWgN+d7uwBFaJV9VtmUDs5dcslsh8IbzmtC9gq3OLGjklxTfIl6qPiL8U33oc/UwqzvZUrI2BlbagvIZYy6rP+q0=";
+
users = [ kierank ];
+
+
moonlark = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCzEEjvbL/ttqmYoDjxYQmDIq36BabROJoXgQKeh9liBxApwp+2PmgxROzTg42UrRc9pyrkq5kVfxG5hvkqCinhL1fMiowCSEs2L2/Cwi40g5ZU+QwdcwI8a4969kkI46PyB19RHkxg54OUORiIiso/WHGmqQsP+5wbV0+4riSnxwn/JXN4pmnE//stnyAyoiEZkPvBtwJjKb3Ni9n3eNLNs6gnaXrCtaygEZdebikr9kS2g9mM696HvIFgM6cdR/wZ7DcLbG3IdTXuHN7PC3xxL+Y4ek5iMreQIPmuvs4qslbthPGYoYbYLUQiRa9XO5s/ksIj5Z14f7anHE6cuTQVpvNWdGDOigyIVS5qU+4ZF7j+rifzOXVL48gmcAvw/uV68m5Wl/p0qsC/d8vI3GYwEsWG/EzpAlc07l8BU2LxWgN+d7uwBFaJV9VtmUDs5dcslsh8IbzmtC9gq3OLGjklxTfIl6qPiL8U33oc/UwqzvZUrI2BlbagvIZYy6rP+q0=";
+
systems = [ moonlark ];
+
in
+
{
+
"wifi.age".publicKeys = [ kierank moonlark ];
+
}
+23
secrets/wifi.age
···
+
age-encryption.org/v1
+
-> ssh-rsa DqcG0Q
+
XU+SPcbnaUk/Zgr2ZMXN//6Qwh9mwygWNNr2bXj9MSV5znc3jD62r4G6UDiQkc3b
+
4qgW/C28yEdNBn8moKIYj4x4oOcOZ0qBuY7Kxrmh0gJshFjzeCrkTVCU2tmcP7sy
+
oAJFcuG+9FpqQlU6Ns+Y9bx9o+ZO5dhTQoW2Bviwtokd4FyGpQd/79pqoYjUkM0m
+
fp/HKx9ZMhELDVeZ7v1IXZE8ztcZrQW6dB9FJ9hT9M4iQq+GWJrIoxoIEIxTJD0I
+
Q+wPaL3EeXMajPvi8DJ6U6pm43SdhH3e9T4/a5YcRVaGlvuo1m6Nbcdu9AyifN6h
+
ybRQsLMMGaUd3Dv0BdDTQV3Z7KHB0pnLTqGYrVSFp4/sdxvTKAHz4m9l0jfNy46Q
+
ZeUOh918gBWIe1eJxPS5WCXf+k47u3+OftOYCe0EfBnLo/2V4Ja/wGYVOskjT8W+
+
eTBEDyM9NrxpKzMhzK6vqaGFmRG76hc6tOr57A5DyaIDthQMuASGxpk95so22wKB
+
+
-> ssh-rsa DqcG0Q
+
IqCflvCv75+D3SZF7GQMJ6otP4gEudplWAJ0qhcD9DaDLekvk+20YyuyM9Vh2edi
+
pxEJR+h8ggrGIu9oJZggqjGDiiSzAVaxcfb7kLmsR/5BS4yH//srWxwf9XyLXsL5
+
gj4Yfj6J4fukMN/V/V9pwzYqiSWYbRbjTMROULFE/4seUNYqA8lIIo67XGz4+GIy
+
YKZ2U65+6kKejyjzOTnJfxZrhVWECrGLRYaTQf4ah4SWrS1YorMjeXuE18L5jXcN
+
p3ct0AJRxJQPrDsgcl3TXANcIPk93WRxElGlp57CgZf9qGCVOXANvUaxslLm4mkm
+
93U5T0gdSMBgn3KcT0doQEcg+PnXVnrrmYaTDEhqWNrBrxZYrmqgM8M0HlnWgXjQ
+
9Y3iDp8Vl9M/hoJ6pRwpy+9KNkgIxJKvrsRkPdH1QbHQA1q/oZJHYhZ5ahXskdWl
+
EFplzjA2D6ZA4DULPkbq8wpC+hax+2nUBnZTGMtoCzugGQE5CRnfKeSGlIIGCE83
+
+
--- e2ncZ3eBi7ELB+EOGzK/DbawSZUAYfZ6tFd0p2kwi7U
+
w�o_�lδ�:��.8y�}�Z�.��fxU��-aTÁFS��>� gr���Z`�7u��C����=�6U��v�h6.)`M�c$D�^