Reorganize dotfiles. Rename joey-laptop to laptop Move 'inputs.vars' to let...in... block Fix instances where user name was stated literally

This commit is contained in:
Joey Hafner 2024-10-29 12:31:15 -07:00
parent 3230bb448e
commit 00b4014283
63 changed files with 295 additions and 130 deletions

View File

@ -147,7 +147,43 @@
"type": "github"
}
},
"deploy-rs": {
"inputs": {
"flake-compat": "flake-compat",
"nixpkgs": "nixpkgs",
"utils": "utils"
},
"locked": {
"lastModified": 1727447169,
"narHash": "sha256-3KyjMPUKHkiWhwR91J1YchF6zb6gvckCAY1jOE+ne0U=",
"owner": "serokell",
"repo": "deploy-rs",
"rev": "aa07eb05537d4cd025e2310397a6adcedfe72c76",
"type": "github"
},
"original": {
"owner": "serokell",
"repo": "deploy-rs",
"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"
}
},
"flake-compat_2": {
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
@ -161,7 +197,7 @@
"url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
}
},
"flake-compat_2": {
"flake-compat_3": {
"flake": false,
"locked": {
"lastModified": 1650374568,
@ -177,7 +213,7 @@
"type": "github"
}
},
"flake-compat_3": {
"flake-compat_4": {
"flake": false,
"locked": {
"lastModified": 1673956053,
@ -194,15 +230,12 @@
}
},
"flake-utils": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1694529238,
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
"lastModified": 1659877975,
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
"type": "github"
},
"original": {
@ -213,7 +246,7 @@
},
"flake-utils-plus": {
"inputs": {
"flake-utils": "flake-utils"
"flake-utils": "flake-utils_2"
},
"locked": {
"lastModified": 1696331477,
@ -230,6 +263,24 @@
}
},
"flake-utils_2": {
"inputs": {
"systems": "systems_3"
},
"locked": {
"lastModified": 1694529238,
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_3": {
"inputs": {
"systems": [
"stylix",
@ -364,7 +415,7 @@
"nixpkgs": [
"nixpkgs-unstable"
],
"systems": "systems",
"systems": "systems_2",
"xdph": "xdph"
},
"locked": {
@ -502,9 +553,28 @@
"type": "github"
}
},
"nixgl": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1713543440,
"narHash": "sha256-lnzZQYG0+EXl/6NkGpyIz+FEOc/DSEG57AP1VsdeNrM=",
"owner": "nix-community",
"repo": "nixGL",
"rev": "310f8e49a149e4c9ea52f1adf70cdc768ec53f8a",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixGL",
"type": "github"
}
},
"nixos-conf-editor": {
"inputs": {
"flake-compat": "flake-compat",
"flake-compat": "flake-compat_2",
"nixpkgs": [
"nixpkgs"
],
@ -526,16 +596,32 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1726320982,
"narHash": "sha256-RuVXUwcYwaUeks6h3OLrEmg14z9aFXdWppTWPMTwdQw=",
"lastModified": 1702272962,
"narHash": "sha256-D+zHwkwPc6oYQ4G3A1HuadopqRwUY/JkMwHz1YF7j4Q=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "8f7492cce28977fbf8bd12c72af08b1f6c7c3e49",
"rev": "e97b3e4186bcadf0ef1b6be22b8558eab1cdeb5d",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-24.05",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1729973466,
"narHash": "sha256-knnVBGfTCZlQgxY1SgH0vn2OyehH9ykfF8geZgS95bk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "cd3e8833d70618c4eea8df06f95b364b016d4950",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "release-24.05",
"repo": "nixpkgs",
"type": "github"
}
@ -556,6 +642,37 @@
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1660551188,
"narHash": "sha256-a1LARMMYQ8DPx1BgoI/UN4bXe12hhZkCNqdxNi6uS0g=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "441dc5d512153039f19ef198e662e4f3dbb9fd65",
"type": "github"
},
"original": {
"owner": "nixos",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1726320982,
"narHash": "sha256-RuVXUwcYwaUeks6h3OLrEmg14z9aFXdWppTWPMTwdQw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "8f7492cce28977fbf8bd12c72af08b1f6c7c3e49",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-24.05",
"repo": "nixpkgs",
"type": "github"
}
},
"plasma-manager": {
"inputs": {
"home-manager": [
@ -581,19 +698,22 @@
},
"root": {
"inputs": {
"deploy-rs": "deploy-rs",
"home-manager": "home-manager",
"hyprland": "hyprland",
"nix-flatpak": "nix-flatpak",
"nixgl": "nixgl",
"nixos-conf-editor": "nixos-conf-editor",
"nixpkgs": "nixpkgs",
"nixpkgs": "nixpkgs_3",
"nixpkgs-unstable": "nixpkgs-unstable",
"plasma-manager": "plasma-manager",
"sops-nix": "sops-nix",
"stylix": "stylix"
}
},
"snowfall-lib": {
"inputs": {
"flake-compat": "flake-compat_2",
"flake-compat": "flake-compat_3",
"flake-utils-plus": "flake-utils-plus",
"nixpkgs": [
"nixos-conf-editor",
@ -614,6 +734,27 @@
"type": "github"
}
},
"sops-nix": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1729999681,
"narHash": "sha256-qm0uCtM9bg97LeJTKQ8dqV/FvqRN+ompyW4GIJruLuw=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "1666d16426abe79af5c47b7c0efa82fd31bf4c56",
"type": "github"
},
"original": {
"owner": "Mic92",
"repo": "sops-nix",
"type": "github"
}
},
"stylix": {
"inputs": {
"base16": "base16",
@ -623,14 +764,14 @@
"base16-kitty": "base16-kitty",
"base16-tmux": "base16-tmux",
"base16-vim": "base16-vim",
"flake-compat": "flake-compat_3",
"flake-utils": "flake-utils_2",
"flake-compat": "flake-compat_4",
"flake-utils": "flake-utils_3",
"gnome-shell": "gnome-shell",
"home-manager": "home-manager_2",
"nixpkgs": [
"nixpkgs"
],
"systems": "systems_3"
"systems": "systems_4"
},
"locked": {
"lastModified": 1726170940,
@ -647,21 +788,6 @@
}
},
"systems": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@ -676,6 +802,21 @@
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"type": "github"
}
},
"systems_3": {
"locked": {
"lastModified": 1681028828,
@ -691,6 +832,39 @@
"type": "github"
}
},
"systems_4": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1701680307,
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"xdph": {
"inputs": {
"hyprland-protocols": "hyprland-protocols",

View File

@ -31,20 +31,6 @@
inputs.nixpkgs.follows = "nixpkgs";
};
deploy-rs.url = "github:serokell/deploy-rs";
vars = {
"joey-laptop" = {
username = "joey";
hostname = "joey-laptop";
theme = "gruvbox-warm";
wm = "hyprland";
};
"joey-desktop" = {
realname = "Joey Hafner";
username = "joey";
hostname = "joey-desktop";
email = "joey@jafner.net";
};
};
};
outputs = inputs@{
nixpkgs,
@ -55,6 +41,20 @@
...
}:
let
vars = {
user = {
username = "joey";
realname = "Joey Hafner";
email = "joey@jafner.net";
};
laptop = {
hostname = "joey-laptop";
theme = "gruvbox-warm";
};
desktop = {
hostname = "joey-desktop";
};
};
system = "x86_64-linux";
lib = nixpkgs.lib;
pkgs = import inputs.nixpkgs {
@ -69,39 +69,37 @@
};
in {
nixosConfigurations = {
joey-laptop = lib.nixosSystem {
laptop = lib.nixosSystem {
modules = [
./nixos/joey-laptop/configuration.nix
./nixos/laptop/configuration.nix
inputs.hyprland.nixosModules.default
inputs.stylix.nixosModules.stylix
inputs.nix-flatpak.nixosModules.nix-flatpak
];
inherit system;
specialArgs = {
inherit pkgs;
inherit pkgs-unstable;
inherit inputs;
inherit pkgs pkgs-unstable inputs;
inherit vars;
};
};
};
homeConfigurations = {
"joey-laptop" = home-manager.lib.homeManagerConfiguration {
laptop = home-manager.lib.homeManagerConfiguration {
modules = [
./home-manager/joey-laptop/home.nix
./home-manager/laptop/home.nix
inputs.stylix.homeManagerModules.stylix
inputs.plasma-manager.homeManagerModules.plasma-manager
inputs.nix-flatpak.homeManagerModules.nix-flatpak
];
inherit pkgs;
extraSpecialArgs = {
inherit pkgs;
inherit pkgs-unstable;
inherit inputs;
inherit pkgs pkgs-unstable inputs;
inherit vars;
};
};
"joey-desktop" = home-manager.lib.homeManagerConfiguration {
desktop = home-manager.lib.homeManagerConfiguration {
modules = [
./home-manager/joey-desktop/home.nix
./home-manager/desktop/home.nix
inputs.sops-nix.homeManagerModules.sops
inputs.stylix.homeManagerModules.stylix
inputs.nix-flatpak.homeManagerModules.nix-flatpak
@ -109,9 +107,8 @@
];
inherit pkgs;
extraSpecialArgs = {
inherit pkgs;
inherit pkgs-unstable;
inherit inputs;
inherit pkgs pkgs-unstable inputs;
inherit vars;
};
};
};

View File

Before

Width:  |  Height:  |  Size: 88 KiB

After

Width:  |  Height:  |  Size: 88 KiB

View File

@ -1,16 +0,0 @@
{ ... }:
{
## Git
programs.git = {
enable = true;
userName = "Joey Hafner";
userEmail = "joey@jafner.net";
extraConfig = {
core.sshCommand = "ssh -i /home/joey/.ssh/joey@joey-laptop";
};
delta.enable = true;
delta.options = {
side-by-side = true;
};
};
}

View File

@ -1,6 +0,0 @@
{ inputs, ... }:
{
home.stateVersion = "24.05";
imports = [ ./users/${inputs.homeConf.username}.nix ];
}

View File

@ -1,31 +0,0 @@
{ pkgs, ... }:
{
home.username = "joey";
home.homeDirectory = "/home/joey";
imports = [
../style.nix
../app/browser/zen.nix
../app/flatpak/flatpak.nix
../app/git/git.nix
../app/games/games.nix
../app/media/media.nix
../app/messaging/discord.nix
../app/obs-studio/obs-studio.nix
../app/bitwarden/bitwarden.nix
../app/sh/sh.nix # Consider splitting out to "terminal", "shell", and "cmd" or similar
../app/vscode/vscode.nix # Consider using a generalized "IDE" or "Editor" folder.
../wm/hyprland/wm.nix
];
# Desktop apps
home.packages = with pkgs; [
git
kdePackages.kdeconnect-kde
];
programs.home-manager = {
enable = true;
};
}

View File

@ -0,0 +1,16 @@
{ vars, ... }:
{
## Git
programs.git = {
enable = true;
userName = "${vars.user.realname}";
userEmail = "${vars.user.email}";
extraConfig = {
core.sshCommand = "ssh -i /home/joey/.ssh/${vars.user.username}@${vars.laptop.hostname}";
};
delta.enable = true;
delta.options = {
side-by-side = true;
};
};
}

View File

@ -0,0 +1,31 @@
{ pkgs, vars, ... }:
{
home.stateVersion = "24.05";
home.username = "${vars.user.username}";
home.homeDirectory = "/home/${vars.user.username}";
imports = [
./style.nix
./app/browser/zen.nix
./app/flatpak/flatpak.nix
./app/git/git.nix
./app/games/games.nix
./app/media/media.nix
./app/messaging/discord.nix
./app/obs-studio/obs-studio.nix
./app/bitwarden/bitwarden.nix
./app/sh/sh.nix # Consider splitting out to "terminal", "shell", and "cmd" or similar
./app/vscode/vscode.nix # Consider using a generalized "IDE" or "Editor" folder.
./wm/hyprland/wm.nix
];
# Desktop apps
home.packages = with pkgs; [
git
kdePackages.kdeconnect-kde
];
programs.home-manager = {
enable = true;
};
}

View File

@ -1,8 +1,8 @@
{ pkgs, userSettings, ... }:
{ pkgs, vars, ... }:
{
home.packages = with pkgs; [ base16-schemes ];
## Stylix
imports = [ ./themes/${userSettings.theme}/theme.nix ];
imports = [ ./themes/${vars.laptop.theme}/theme.nix ];
stylix = {
enable = true;
autoEnable = true;

View File

Before

Width:  |  Height:  |  Size: 9.6 MiB

After

Width:  |  Height:  |  Size: 9.6 MiB

View File

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 50 KiB

View File

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 47 KiB

View File

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 53 KiB

View File

Before

Width:  |  Height:  |  Size: 208 KiB

After

Width:  |  Height:  |  Size: 208 KiB

View File

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 62 KiB

View File

Before

Width:  |  Height:  |  Size: 1.2 MiB

After

Width:  |  Height:  |  Size: 1.2 MiB

View File

@ -1,8 +1,8 @@
{ pkgs, inputs, ... }:
{ pkgs, vars, ... }:
{
imports = [
./hardware-configuration.nix
./wm/${inputs.vars."joey-laptop".wm}/desktopEnvironment.nix
./wm/${vars.laptop.wm}/desktopEnvironment.nix
./system.nix
./security.nix
./flatpak.nix
@ -13,10 +13,10 @@
# Configure user
programs.zsh.enable = true;
users.users.${inputs.vars."joey-laptop".username} = {
users.users.${vars.user.username} = {
isNormalUser = true;
shell = pkgs.zsh;
description = "${inputs.vars."joey-laptop".username}";
description = "${vars.user.username}";
extraGroups = [ "networkmanager" "wheel" ];
openssh.authorizedKeys.keys = let
authorizedKeys = pkgs.fetchurl {

View File

@ -1,4 +1,4 @@
{ pkgs, inputs, ... }:
{ pkgs, vars, ... }:
{
# Configure system packages
environment.systemPackages = with pkgs; [
@ -21,7 +21,7 @@
boot.loader.efi.canTouchEfiVariables = true;
# Configure networking
networking.hostName = "${inputs.vars."joey-laptop".hostname}";
networking.hostName = "${vars.laptop.hostname}";
networking.networkmanager.enable = true;
# Disable systemd's getty and autovt on tty1

View File

@ -1,4 +1,4 @@
{ pkgs, inputs, ... }:
{ pkgs, vars, ... }:
{
environment.systemPackages = with pkgs; [
mako libnotify
@ -18,7 +18,7 @@
services.displayManager = {
autoLogin = {
enable = true;
user = "${inputs.vars."joey-laptop".username}";
user = "${vars.user.username}";
};
sddm = {
enable = true;

View File

@ -1,4 +1,4 @@
{ pkgs, lib, inputs, ... }:
{ pkgs, lib, vars, ... }:
{
# Configure displayManager
@ -6,7 +6,7 @@
services.displayManager = {
enable = true;
autoLogin.enable = true;
autoLogin.user = "${inputs.vars."joey-laptop".username}";
autoLogin.user = "${vars.user.username}";
sddm = {
enable = true;
autoNumlock = true;