Merge home-manager into nixos
Previously the home-manager and nixos sections of my config had been separated into different branches on the same repository. This commit merges the home-manager modules into the directory, and convert the "systems" that used to be on each branch into hosts and users. The goal of this change is to make it easier to see the hosts and users paradigm, as well as limit the number of locations the git repository is installed. Additionally, having different branches tracking different changes was silly for a git repository.
This commit is contained in:
commit
86bc28d6d4
87 changed files with 2870 additions and 29 deletions
39
hosts/jibril/default.nix
Normal file
39
hosts/jibril/default.nix
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
{ config, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./hardware.nix
|
||||
];
|
||||
networking.hostName = "jibril";
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
system.stateVersion = "23.05";
|
||||
|
||||
sops-nix = {
|
||||
enable = true;
|
||||
keyFile = "/etc/sops/age/keys.txt";
|
||||
sopsFile = ./secrets.yaml;
|
||||
secrets = {
|
||||
wireless = {};
|
||||
};
|
||||
};
|
||||
|
||||
pipewire.enable = true;
|
||||
polkit.enable = true;
|
||||
bluetooth.enable = true;
|
||||
wireless = {
|
||||
enable = true;
|
||||
networks = builtins.fromTOML (builtins.readFile ./networks.toml);
|
||||
secretsFile = config.sops.secrets.wireless.path;
|
||||
};
|
||||
|
||||
user.name = "pan";
|
||||
user.timezone = "America/Los_Angeles";
|
||||
|
||||
tuigreet.enable = true;
|
||||
hyprland.enable = true;
|
||||
|
||||
librewolf.enable = true;
|
||||
fish.enable = true;
|
||||
fish.setDefault = true;
|
||||
syncthing.enable = true;
|
||||
}
|
||||
41
hosts/jibril/hardware.nix
Normal file
41
hosts/jibril/hardware.nix
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
# 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, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/168fb358-6783-4b66-8eed-374769a14c88";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/2A27-6F56";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
swapDevices =
|
||||
[ { device = "/dev/disk/by-uuid/db71f8e9-74e6-40f8-b5c3-1dcf74510f3b"; }
|
||||
];
|
||||
|
||||
# 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.wlp2s0.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
# high-resolution display
|
||||
}
|
||||
8
hosts/jibril/networks.toml
Normal file
8
hosts/jibril/networks.toml
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
["TheKabal2.4"]
|
||||
|
||||
["DropboxGuest3.0"]
|
||||
|
||||
[foofoo2]
|
||||
|
||||
[Homura]
|
||||
priority = 0
|
||||
30
hosts/jibril/secrets.yaml
Normal file
30
hosts/jibril/secrets.yaml
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
wireless: ENC[AES256_GCM,data:pQv+gdAW8W9nSEJkbXWex47iuuqgJMEELldFsmgk2Y08MDZ1ytXqlphTK/jbewD3tpz4v29fSuWamv1uZpxM2+c2zCuMVTdrhAf0i/Sjqd9CWP8NQvTDI3v8ps9REFzR7n7hywnkfOkDNwRkmavSfCxK5k9SQLNC7De6P811/Fundb9r6oeIH2OEDBkZEHw8gYndjy6cLDUE2SY/cmxRsKWhATsCLcWKOpQa86zlT9dr9nMtYVF1AN5T4JR/7QKqJ8UT4mvhAA0OEfKv0Cf3euH24vtBrv5YxwDT6tQpOABOyOy9mWLc+bXDID/HX4akeU1O6+eBSpNeRgpAcMfD6b/eqKAvDvnixHubu9GemVspmeoA/91i5B70u3kjm0EKup7KLXCp5RutLnLRczDPdfbCB7bEipeRyF8P+UCuhQ==,iv:WN7mGyHpaMDdLRpFGyDUQ2D9a0t/rucfyKroJYqaHPs=,tag:7KTzBEt30nqCJclDgiWuKg==,type:str]
|
||||
sops:
|
||||
kms: []
|
||||
gcp_kms: []
|
||||
azure_kv: []
|
||||
hc_vault: []
|
||||
age:
|
||||
- recipient: age1ey3wr2wnkgny3dfgvnyrf0cptwzr7s5x464p2y9ya58lpay8lfrsds3y68
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBuaHFJcnp0YkN5ZmRYWStz
|
||||
OFlFKzFWV1pSaGdYQ2tlWkhvMFRYczQvdWtnCkwwYk84bStIeUNOWUhhSktUSWYz
|
||||
V3FUNkdLUHFBVmwrb0J6QldjSlVDQmsKLS0tIGZrR2txN2grWS9RbmdRRzU3Ui83
|
||||
SWl2NjQzWWtFY3dBdlhobi9rY0k0U1kKZm40e+gjMmNsQ/RmaY4rdlEr6gSLrTud
|
||||
5FShEZkAkFOkl0FYdHLKPDrmBocrGRJP7gLPYgo1eT5w8LaGYlNmAA==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
- recipient: age1n8936ux6ushjyz3kuumdrz63jcwsvz7qkfj66rrkgk8d78wl2dssgev4tm
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGVGJPYVVYd3RqbzkxNEg1
|
||||
Nm9DN2Y3OC9yUUZtcGN6bjJjWllOVGxINmxjClR4NUpZQVRFdWdObDYwd1NMOWpT
|
||||
OHNsUXJ1NUJlOFhTYks5RDAxaHhVZ2MKLS0tIGFaV2JYcWVSMmdFWnlSZlBPTEJi
|
||||
Ky83VFhiVE9wK01UMDlSbnIrd2d2SHcKp6mF8PaR0ItrvLHpEgMe6fwuboyrrs9y
|
||||
7Ct6qZ1SN/4f/xJpDP2qiaQ4KTZzY1BlC3isT3CWeajOQhL/y5JCOw==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2024-11-07T21:12:36Z"
|
||||
mac: ENC[AES256_GCM,data:z0ePEvsEKvcMca2x2qjTsSBwk+qI3jd8h2uAnSsGtJL5UI1OdBL8oVIGKty0pGaCvtrF01UN1ncKBGe5y12Vij2yuyv7LK4ANArxQ4+O583NdYHYeD+T75yGu4SAYjcoM23RD1h+W0SLQpCen2J3WYmJaOjtqMBv/gaFYl/DV7I=,iv:VJjZTd1g4oJCDLEp8+jH15Y2svTNtQUE1vc3WQoJJZU=,tag:4U7uh6U5PwHJ2r6/WFUbnw==,type:str]
|
||||
pgp: []
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.9.1
|
||||
110
hosts/jibril/users/pan/default.nix
Normal file
110
hosts/jibril/users/pan/default.nix
Normal file
|
|
@ -0,0 +1,110 @@
|
|||
{ config, ... }:
|
||||
|
||||
{
|
||||
home.username = "pan";
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
home.stateVersion = "23.05";
|
||||
|
||||
hypr.enable = true;
|
||||
hypr.monitor = {
|
||||
details = [
|
||||
"eDP-2,2256x1504@60,0x0,1"
|
||||
];
|
||||
};
|
||||
hypr.workspace = {
|
||||
workspaces = {
|
||||
"eDP-1" = [
|
||||
"home"
|
||||
"web"
|
||||
"chat"
|
||||
"med"
|
||||
];
|
||||
};
|
||||
scratchpad.enable = true;
|
||||
defaults = {
|
||||
"name:web" = [ "class:(librewolf)" ];
|
||||
"name:med" = [ "class:(librewolf),title:Picture-in-Picture" ];
|
||||
"name:chat" = [ "class:(Beeper)" ];
|
||||
};
|
||||
};
|
||||
hypr.windows.opaque = [
|
||||
"initialTitle:^(Discord Popout)$"
|
||||
"class:^(firefox)$"
|
||||
"class:^(Gimp)$"
|
||||
"class:^(feh)$"
|
||||
"class:^(mpv)$"
|
||||
];
|
||||
hypr.background = {
|
||||
enable = true;
|
||||
path = "${config.home.homeDirectory}/med/pix/bg.png";
|
||||
};
|
||||
hypr.cursor = {
|
||||
enable = true;
|
||||
theme = "miku";
|
||||
};
|
||||
hypr = {
|
||||
screenshot.enable = true;
|
||||
mouse.sensitivity = -0.52;
|
||||
polkit.enable = true;
|
||||
master.mfact = 0.53;
|
||||
xwayland.videobridge.enable = true;
|
||||
};
|
||||
# ags.enable = true;
|
||||
rofi.enable = true;
|
||||
|
||||
timer.enableHourly = true;
|
||||
timer.enableQuarterly = true;
|
||||
colors.enable = true;
|
||||
manpages.enable = true;
|
||||
trash.enable = true;
|
||||
|
||||
fish.enable = true;
|
||||
kitty.enable = true;
|
||||
kitty.make_default = true;
|
||||
kitty.font = "Cascadia Code";
|
||||
git.enable = true;
|
||||
git.username = "Julia Lange";
|
||||
git.email = "public@julialange.org";
|
||||
ssh.enable = true;
|
||||
librewolf.enable = true;
|
||||
librewolf.make_default = true;
|
||||
|
||||
mpv.enable = true;
|
||||
zathura.enable = true;
|
||||
feh.enable = true;
|
||||
|
||||
neovim.enable = true;
|
||||
neovim.languages = {
|
||||
c.enable = true;
|
||||
nix.enable = true;
|
||||
rust.enable = true;
|
||||
};
|
||||
neovim.plugins = {
|
||||
comments.enable = true;
|
||||
fugitive.enable = true;
|
||||
lualine.enable = true;
|
||||
luasnip.enable = true;
|
||||
nvimcmp.enable = true;
|
||||
telescope = {
|
||||
enable = true;
|
||||
fzf.enable = true;
|
||||
};
|
||||
treesitter.enable = true;
|
||||
wiki.enable = true;
|
||||
};
|
||||
|
||||
lf.enable = true;
|
||||
lf.hiddenfiles = [
|
||||
"${config.home.homeDirectory}/.librewolf"
|
||||
"${config.home.homeDirectory}/.nix-defexpr"
|
||||
"${config.home.homeDirectory}/.nix-profile"
|
||||
"${config.home.homeDirectory}/.nv"
|
||||
"${config.home.homeDirectory}/.pki"
|
||||
];
|
||||
zoxide.enable = true;
|
||||
|
||||
gimp.enable = true;
|
||||
|
||||
beeper.enable = true;
|
||||
discord.enable = true;
|
||||
}
|
||||
33
hosts/onizuka/default.nix
Normal file
33
hosts/onizuka/default.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./hardware.nix
|
||||
];
|
||||
networking.hostName = "onizuka";
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
system.stateVersion = "23.05";
|
||||
|
||||
nvidia.enable = true;
|
||||
pipewire.enable = true;
|
||||
polkit.enable = true;
|
||||
tablet.enable = true;
|
||||
|
||||
user.name = "pan";
|
||||
user.timezone = "America/Los_Angeles";
|
||||
system.doAutoUpgrade = true;
|
||||
|
||||
tuigreet.enable = true;
|
||||
hyprland.enable = true;
|
||||
|
||||
librewolf.enable = true;
|
||||
fish.enable = true;
|
||||
fish.setDefault = true;
|
||||
syncthing.enable = true;
|
||||
|
||||
steam.enable = true;
|
||||
steam.gamemode.enable = true;
|
||||
aagl.enable = true;
|
||||
aagl.honkai-rail = true;
|
||||
input-remapper.enable = true;
|
||||
}
|
||||
40
hosts/onizuka/hardware.nix
Normal file
40
hosts/onizuka/hardware.nix
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
# 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, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ "nvidia" ];
|
||||
boot.blacklistedKernelModules = [ "nouveau" ];
|
||||
boot.kernelModules = [ "kvm-amd" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/d42f4599-22fc-491e-b93e-46129163a25f";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/5F1D-093C";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
swapDevices =
|
||||
[ { device = "/dev/disk/by-uuid/5c3ec6ab-58c3-41bd-be6a-c935bdcb0818"; }
|
||||
];
|
||||
|
||||
# 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.enp5s0.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
||||
132
hosts/onizuka/users/pan/default.nix
Normal file
132
hosts/onizuka/users/pan/default.nix
Normal file
|
|
@ -0,0 +1,132 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
home.username = "pan";
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
home.stateVersion = "23.05";
|
||||
|
||||
hypr.enable = true;
|
||||
hypr.monitor = {
|
||||
details = [
|
||||
"DP-2,2560x1440@144,0x0,1"
|
||||
"DP-1,2560x1440@144,-2560x0,1"
|
||||
"HDMI-A-1,disable"
|
||||
];
|
||||
primary = "DP-2";
|
||||
secondary = "DP-1";
|
||||
};
|
||||
hypr.workspace = {
|
||||
workspaces = {
|
||||
"DP-2" = [
|
||||
"home"
|
||||
"web"
|
||||
"med"
|
||||
"game"
|
||||
];
|
||||
"DP-1" = [
|
||||
"chat"
|
||||
];
|
||||
};
|
||||
scratchpad.enable = true;
|
||||
defaults = {
|
||||
"name:web" = [ "librewolf" ];
|
||||
"name:med" = [ "librewolf,title:Picture-in-Picture" ];
|
||||
"name:chat" = [ "Beeper" ];
|
||||
"name:game" = [ "lutris" "explorer.exe" ];
|
||||
};
|
||||
};
|
||||
windows.opaque = [
|
||||
"initialTitle:^(Discord Popout)$"
|
||||
"class:^(firefox)$"
|
||||
"class:^(Gimp)$"
|
||||
"class:^(feh)$"
|
||||
"class:^(mpv)$"
|
||||
];
|
||||
hypr.background = {
|
||||
enable = true;
|
||||
path = "${config.home.homeDirectory}/med/pix/bg.png";
|
||||
};
|
||||
hypr.cursor = {
|
||||
enable = true;
|
||||
theme = "miku";
|
||||
};
|
||||
hypr = {
|
||||
screenshot.enable = true;
|
||||
mouse.sensitivity = -0.52;
|
||||
polkit.enable = true;
|
||||
master.mfact = 0.53;
|
||||
xwayland.videobridge.enable = true;
|
||||
};
|
||||
ags.enable = true;
|
||||
rofi.enable = true;
|
||||
|
||||
timer.enableHourly = true;
|
||||
timer.enableQuarterly = true;
|
||||
colors.enable = true;
|
||||
manpages.enable = true;
|
||||
trash.enable = true;
|
||||
|
||||
fish.enable = true;
|
||||
kitty.enable = true;
|
||||
kitty.make_default = true;
|
||||
kitty.font = "Cascadia Code";
|
||||
git.enable = true;
|
||||
git.username = "Julia Lange";
|
||||
git.email = "public@julialange.org";
|
||||
ssh.enable = true;
|
||||
librewolf.enable = true;
|
||||
librewolf.make_default = true;
|
||||
|
||||
mpv.enable = true;
|
||||
zathura.enable = true;
|
||||
feh.enable = true;
|
||||
|
||||
neovim.enable = true;
|
||||
neovim.languages = {
|
||||
c.enable = true;
|
||||
nix.enable = true;
|
||||
rust.enable = true;
|
||||
};
|
||||
neovim.plugins = {
|
||||
comments.enable = true;
|
||||
fugitive.enable = true;
|
||||
lualine.enable = true;
|
||||
luasnip.enable = true;
|
||||
nvimcmp.enable = true;
|
||||
telescope = {
|
||||
enable = true;
|
||||
fzf.enable = true;
|
||||
};
|
||||
treesitter.enable = true;
|
||||
wiki.enable = true;
|
||||
};
|
||||
|
||||
lf.enable = true;
|
||||
lf.hiddenfiles = [
|
||||
"${config.home.homeDirectory}/.librewolf"
|
||||
"${config.home.homeDirectory}/.nix-defexpr"
|
||||
"${config.home.homeDirectory}/.nix-profile"
|
||||
"${config.home.homeDirectory}/.nv"
|
||||
"${config.home.homeDirectory}/.pki"
|
||||
"${config.home.homeDirectory}/.steam*"
|
||||
"${config.home.homeDirectory}/.zshenv"
|
||||
];
|
||||
zoxide.enable = true;
|
||||
|
||||
gimp.enable = true;
|
||||
|
||||
beeper.enable = true;
|
||||
discord.enable = true;
|
||||
|
||||
lutris.enable = true;
|
||||
|
||||
extraPkgs = with pkgs; [
|
||||
# Applications
|
||||
ani-cli # Easy anime player
|
||||
lutgen # LUT generator
|
||||
prismlauncher # Minecraft launcher
|
||||
jdk8 # For playing older minecraft
|
||||
gnucash # Personal Finance Manager
|
||||
zoom-us # Zoom
|
||||
];
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue