refactor: make username global variable

This commit is contained in:
Mohammad Rafiq 2025-03-27 01:35:31 +08:00
parent a5b3e2a175
commit 5d9230d64f
No known key found for this signature in database
14 changed files with 25 additions and 79 deletions

View file

@ -1,9 +1,9 @@
keys: keys:
- &rafiq age12l33pas8eptwjc7ewux3d8snyzfzwz0tn9qg5kw8le79fswmjgjqdjgyy6 - &admin age12l33pas8eptwjc7ewux3d8snyzfzwz0tn9qg5kw8le79fswmjgjqdjgyy6
- &nemesis age1sq4n2ywk6h94a0r5rye6vzkqy5x6ae736faqregz8u2ku8ttepeqqh5crh - &nemesis age1sq4n2ywk6h94a0r5rye6vzkqy5x6ae736faqregz8u2ku8ttepeqqh5crh
creation_rules: creation_rules:
- path_regex: secrets/[^/]+\.(yaml|json|env|ini)$ - path_regex: secrets/[^/]+\.(yaml|json|env|ini)$
key_groups: key_groups:
- age: - age:
- *rafiq - *admin
- *nemesis - *nemesis

View file

@ -5,6 +5,7 @@
... ...
}@inputs: }@inputs:
let let
username = "rafiq";
mkSystem = type: hostname: { mkSystem = type: hostname: {
name = "${hostname}"; name = "${hostname}";
value = value =
@ -15,6 +16,7 @@
inputs inputs
type type
hostname hostname
username
; ;
}; };
in in

View file

@ -7,10 +7,12 @@
inputs, inputs,
config, config,
specialArgs, specialArgs,
username,
... ...
}: }:
{ {
imports = builtins.concatLists [ imports = builtins.concatLists [
# Common options for all machines.
[ [
(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
./modules/bootloaders/systemd-boot.nix ./modules/bootloaders/systemd-boot.nix
@ -24,12 +26,13 @@
useGlobalPkgs = true; useGlobalPkgs = true;
useUserPackages = true; useUserPackages = true;
extraSpecialArgs = specialArgs; extraSpecialArgs = specialArgs;
users.rafiq.imports = [ users.${username}.imports = [
../users/rafiq.nix ../users/rafiq.nix
]; ];
}; };
} }
] ]
# Options for desktops.
(lib.optionals (type == "desktop") [ (lib.optionals (type == "desktop") [
./modules/hardware/audio.nix ./modules/hardware/audio.nix
./modules/hardware/bluetooth.nix ./modules/hardware/bluetooth.nix
@ -38,6 +41,7 @@
./modules/programs/hyprlock.nix ./modules/programs/hyprlock.nix
./modules/stylix.nix ./modules/stylix.nix
]) ])
# Options for specific hostnames.
(lib.optionals (hostname == "nemesis") [ (lib.optionals (hostname == "nemesis") [
./hw-nemesis.nix ./hw-nemesis.nix
./modules/hardware/nvidia.nix ./modules/hardware/nvidia.nix
@ -88,16 +92,16 @@
}; };
users.mutableUsers = false; # Always reset users on system activation users.mutableUsers = false; # Always reset users on system activation
users.users.rafiq = { users.users.${username} = {
isNormalUser = true; isNormalUser = true;
description = "rafiq"; description = "${username}";
hashedPasswordFile = config.sops.secrets.password.path; hashedPasswordFile = config.sops.secrets.password.path;
extraGroups = [ extraGroups = [
"networkmanager" "networkmanager"
"wheel" "wheel"
]; ];
openssh.authorizedKeys.keys = [ openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILdsZyY3gu8IGB8MzMnLdh+ClDxQQ2RYG9rkeetIKq8n rafiq" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILdsZyY3gu8IGB8MzMnLdh+ClDxQQ2RYG9rkeetIKq8n"
]; ];
}; };
security.sudo.wheelNeedsPassword = false; security.sudo.wheelNeedsPassword = false;

View file

@ -1,5 +1,6 @@
{ username, ... }:
{ {
services.getty = { services.getty = {
autologinUser = "rafiq"; autologinUser = "${username}";
}; };
} }

View file

@ -2,6 +2,7 @@
inputs, inputs,
hostname, hostname,
pkgs, pkgs,
username,
... ...
}: }:
let let
@ -17,7 +18,7 @@ let
in in
{ {
security.pam.services.hyprlock = { }; security.pam.services.hyprlock = { };
home-manager.users.rafiq = { home-manager.users.${username} = {
programs.hyprlock = { programs.hyprlock = {
enable = true; enable = true;
package = inputs.hyprlock.packages.${pkgs.stdenv.hostPlatform.system}.hyprlock; package = inputs.hyprlock.packages.${pkgs.stdenv.hostPlatform.system}.hyprlock;

View file

@ -1,4 +1,4 @@
{ inputs, ... }: { inputs, username, ... }:
let let
opacity = 0.8; opacity = 0.8;
toImport = [ toImport = [
@ -25,12 +25,12 @@ in
fonts.enableDefaultPackages = true; fonts.enableDefaultPackages = true;
imports = [ inputs.stylix.nixosModules.stylix ] ++ toImport; imports = [ inputs.stylix.nixosModules.stylix ] ++ toImport;
home-manager.users.rafiq.imports = [ inputs.stylix.homeManagerModules.stylix ] ++ toImport; home-manager.users.${username}.imports = [ inputs.stylix.homeManagerModules.stylix ] ++ toImport;
# Put options that only exist in the NixOS module here. # Put options that only exist in the NixOS module here.
stylix.homeManagerIntegration.autoImport = false; stylix.homeManagerIntegration.autoImport = false;
stylix.homeManagerIntegration.followSystem = false; stylix.homeManagerIntegration.followSystem = false;
# Put options that only exist in the home-manager module here. # Put options that only exist in the home-manager module here.
# home-manager.users.rafiq.stylix = {}; # home-manager.users.${username}.stylix = {};
} }

View file

@ -1,5 +0,0 @@
{
programs.bash = {
enable = true;
};
}

View file

@ -1,6 +0,0 @@
{
programs.eww = {
enable = true;
configDir = ./eww;
};
}

View file

@ -1,30 +0,0 @@
(defwindow lockscreen_background :monitor 0
:geometry (geometry :width "100%"
:height "100%"
:anchor "center")
:stacking "fg"
(box))
(defwindow lockscreen_title :monitor 0
:geometry (geometry :anchor "center")
:stacking "fg"
(greeting))
(defwidget greeting[]
(box (label :markup '<span size="32pt">Hi, rafiq.</span>')))
(defwindow lockscreen_input :monitor 0
:geometry (geometry :y "55%"
:width "5%"
:height "2.5%"
:anchor "center top")
:stacking "fg"
:focusable "ondemand"
(password_input))
(defwidget password_input[]
(box
(input :onaccept "${EWW_CMD} close-all"
:password true
:class "password_input"
:css ".password_input {border-radius:50px;}")))

View file

@ -1,11 +0,0 @@
{
fonts = {
fontconfig = {
enable = true;
defaultFonts.emoji = ["Terminess Nerd Font"];
defaultFonts.monospace = ["Terminess Nerd Font Mono"];
defaultFonts.sansSerif = ["Terminess Nerd Font"];
defaultFonts.serif = ["Terminess Nerd Font"];
};
};
}

View file

@ -1,11 +1,12 @@
{config, ...}: { { config, ... }:
{
home.sessionVariables.GIT_CONFIG_GLOBAL = "$HOME/.config/git/config"; home.sessionVariables.GIT_CONFIG_GLOBAL = "$HOME/.config/git/config";
programs.git = { programs.git = {
enable = true; enable = true;
userName = "Mohammad Rafiq"; userName = "Mohammad Rafiq";
userEmail = "mohammadrafiq567@gmail.com"; userEmail = "mohammadrafiq567@gmail.com";
signing.key = "${config.home.homeDirectory}/.ssh/id_ed25519.pub"; signing.key = "~/.ssh/id_ed25519.pub";
signing.signByDefault = true; signing.signByDefault = true;
extraConfig = { extraConfig = {
init.defaultBranch = "prime"; init.defaultBranch = "prime";

View file

@ -1,12 +0,0 @@
{
programs.waybar = {
enable = true;
settings = {
mainBar = {
layer = "top";
};
};
style = ''
'';
};
}

View file

@ -2,6 +2,7 @@
pkgs, pkgs,
inputs, inputs,
lib, lib,
username,
... ...
}: }:
{ {
@ -15,8 +16,8 @@
programs.home-manager.enable = true; programs.home-manager.enable = true;
home = { home = {
username = "rafiq"; username = "${username}";
homeDirectory = "/home/rafiq"; homeDirectory = "/home/${username}";
# This defines the version home-manager # This defines the version home-manager
# was originally bulit against on this system. # was originally bulit against on this system.