From 0a8d28db1a5fac2c8e0956f9261a3ce0c9010e6b Mon Sep 17 00:00:00 2001 From: Sridhar Ratnakumar Date: Sat, 3 Dec 2022 15:19:06 -0500 Subject: [PATCH] Stop hardcoding my user name --- README.md | 1 + config.nix | 2 ++ nix-darwin/default.nix | 1 + nixos/default.nix | 5 ++++- nixos/docker.nix | 4 ++-- nixos/ema/emanote.nix | 6 +++--- nixos/lxd.nix | 4 ++-- nixos/monitor-brightness.nix | 6 +++--- nixos/protonvpn.nix | 4 ++-- nixos/self-ide.nix | 4 ++-- nixos/server/harden.nix | 4 ++-- nixos/takemessh/default.nix | 4 ++-- nixos/virtualbox.nix | 4 ++-- systems/darwin.nix | 8 ++++---- systems/hetzner/ax41.nix | 4 ++-- 15 files changed, 34 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index dfcee96..4a9d3bb 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,7 @@ nix run - Edit `flake.nix` and - add your Linux's hostname in the `nixosConfigurations` set, as well as - update `people.myself` to your desired username. + - put your SSH keys in `./nixos/takemessh` - Run `nix run`. That's it. Re-open your shell. - macOS: - Install Nix normally (multi-user) diff --git a/config.nix b/config.nix index 772e0b7..8368415 100644 --- a/config.nix +++ b/config.nix @@ -19,6 +19,8 @@ let type = lib.types.str; description = '' The name of the user that represents myself. + + Admin user in all contexts. ''; }; }; diff --git a/nix-darwin/default.nix b/nix-darwin/default.nix index 3e69e29..9077145 100644 --- a/nix-darwin/default.nix +++ b/nix-darwin/default.nix @@ -22,6 +22,7 @@ system = "aarch64-darwin"; specialArgs = { inherit inputs system; + flake = { inherit config; }; rosettaPkgs = import inputs.nixpkgs { system = "x86_64-darwin"; }; }; modules = [ diff --git a/nixos/default.nix b/nixos/default.nix index b284a9d..8343b72 100644 --- a/nixos/default.nix +++ b/nixos/default.nix @@ -34,7 +34,10 @@ in lib.mkLinuxSystem = extraModules: inputs.nixpkgs.lib.nixosSystem rec { system = "x86_64-linux"; # Arguments to pass to all modules. - specialArgs = { inherit system inputs; }; + specialArgs = { + inherit system inputs; + flake = { inherit config; }; + }; modules = [ self.nixosModules.default ] ++ extraModules; diff --git a/nixos/docker.nix b/nixos/docker.nix index eecc6d9..08950dc 100644 --- a/nixos/docker.nix +++ b/nixos/docker.nix @@ -1,7 +1,7 @@ -{ pkgs, ... }: { +{ pkgs, config, ... }: { virtualisation.docker.enable = true; - users.users.srid = { + users.users.${config.people.myself} = { extraGroups = [ "docker" ]; }; } diff --git a/nixos/ema/emanote.nix b/nixos/ema/emanote.nix index f154d2d..63d4711 100644 --- a/nixos/ema/emanote.nix +++ b/nixos/ema/emanote.nix @@ -1,4 +1,4 @@ -{ pkgs, inputs, system, ... }: +{ pkgs, inputs, system, flake, ... }: let emanote = inputs.emanote.outputs.defaultPackage.${system}; in @@ -12,9 +12,9 @@ in PORT = "7000"; }; serviceConfig = { - User = "srid"; + User = flake.config.people.myself; Restart = "always"; - ExecStart = "${emanote}/bin/emanote -L /home/srid/Documents/Notes"; + ExecStart = "${emanote}/bin/emanote -L /home/${flake.config.people.myself}/Documents/Notes"; }; }; } diff --git a/nixos/lxd.nix b/nixos/lxd.nix index 0c0c06d..560b12c 100644 --- a/nixos/lxd.nix +++ b/nixos/lxd.nix @@ -1,7 +1,7 @@ -{ pkgs, ... }: { +{ pkgs, flake, ... }: { virtualisation.lxd.enable = true; - users.users.srid = { + users.users.${flake.config.people.myself} = { extraGroups = [ "lxd" ]; }; } diff --git a/nixos/monitor-brightness.nix b/nixos/monitor-brightness.nix index 5ab66cf..2d18403 100644 --- a/nixos/monitor-brightness.nix +++ b/nixos/monitor-brightness.nix @@ -1,6 +1,6 @@ # TODO: GNOME support via https://extensions.gnome.org/extension/2645/brightness-control-using-ddcutil/ -{ pkgs, ... }: { +{ pkgs, flake, ... }: { # ddcutils requires i2c hardware.i2c.enable = true; @@ -15,7 +15,7 @@ security.sudo.extraRules = [ { - users = [ "srid" ]; + users = [ flake.config.people.myself ]; commands = [ { command = "${pkgs.ddcutil}/bin/ddcutil"; @@ -25,7 +25,7 @@ } ]; - users.users.srid = { + users.users.${flake.config.people.myself} = { extraGroups = [ "i2c" ]; }; diff --git a/nixos/protonvpn.nix b/nixos/protonvpn.nix index 5f6edf7..6bb46c6 100644 --- a/nixos/protonvpn.nix +++ b/nixos/protonvpn.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +{ pkgs, flake, ... }: { environment.systemPackages = with pkgs; [ @@ -8,7 +8,7 @@ security.sudo.extraRules = [ { - users = [ "srid" ]; + users = [ flake.config.people.myself ]; commands = [ { command = "${pkgs.protonvpn-cli}/bin/protonvpn"; diff --git a/nixos/self-ide.nix b/nixos/self-ide.nix index f85b295..4f9414e 100644 --- a/nixos/self-ide.nix +++ b/nixos/self-ide.nix @@ -1,8 +1,8 @@ -{ pkgs, inputs, ... }: { +{ pkgs, inputs, flake, ... }: { # For no-prompt Ctrl+Shift+B in VSCode security.sudo.extraRules = [ { - users = [ "srid" ]; + users = [ flake.config.people.myself ]; commands = [ { command = "/run/current-system/sw/bin/nixos-rebuild"; diff --git a/nixos/server/harden.nix b/nixos/server/harden.nix index f218e77..81a3d4c 100644 --- a/nixos/server/harden.nix +++ b/nixos/server/harden.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: { +{ pkgs, flake, ... }: { # Firewall networking.firewall.enable = true; @@ -22,5 +22,5 @@ }; }; nix.settings.allowed-users = [ "root" "@users" ]; - nix.settings.trusted-users = [ "root" "srid" ]; + nix.settings.trusted-users = [ "root" flake.config.people.myself ]; } diff --git a/nixos/takemessh/default.nix b/nixos/takemessh/default.nix index e13addb..abbcdf0 100644 --- a/nixos/takemessh/default.nix +++ b/nixos/takemessh/default.nix @@ -1,9 +1,9 @@ -{ config, pkgs, lib, ... }: +{ config, pkgs, lib, flake, ... }: { # Let me login users.users = { root.openssh.authorizedKeys.keys = [ (builtins.readFile ./id_rsa.pub) ]; - srid.openssh.authorizedKeys.keys = [ (builtins.readFile ./id_rsa.pub) ]; + ${flake.config.people.myself}.openssh.authorizedKeys.keys = [ (builtins.readFile ./id_rsa.pub) ]; }; } diff --git a/nixos/virtualbox.nix b/nixos/virtualbox.nix index 674d188..5e8b4fb 100644 --- a/nixos/virtualbox.nix +++ b/nixos/virtualbox.nix @@ -1,7 +1,7 @@ -{ pkgs, ... }: { +{ pkgs, flake, ... }: { virtualisation.virtualbox.host = { enable = true; enableExtensionPack = true; }; - users.extraGroups.vboxusers.members = [ "srid" ]; + users.extraGroups.vboxusers.members = [ flake.config.people.myself ]; } diff --git a/systems/darwin.nix b/systems/darwin.nix index fc3216e..5cd70be 100644 --- a/systems/darwin.nix +++ b/systems/darwin.nix @@ -1,4 +1,4 @@ -{ config, pkgs, lib, inputs, system, rosettaPkgs, ... }: +{ config, pkgs, lib, inputs, system, flake, rosettaPkgs, ... }: { # List packages installed in system profile. To search by name, run: @@ -63,7 +63,7 @@ serviceConfig.ProgramArguments = [ (lib.getExe inputs.emanote.packages.${system}.default) "-L" - "/Users/srid/Keybase/Notes" + "/Users/${flake.config.people.myself}/Keybase/Notes" "run" "-p" "7000" @@ -74,8 +74,8 @@ security.pam.enableSudoTouchIdAuth = true; # For home-manager to work. - users.users.srid.name = "srid"; - users.users.srid.home = "/Users/srid"; + users.users.${flake.config.people.myself}.name = flake.config.people.myself; + users.users.${flake.config.people.myself}.home = "/Users/${flake.config.people.myself}"; # Use a custom configuration.nix location. # $ darwin-rebuild switch -I darwin-config=$HOME/.config/nixpkgs/darwin/configuration.nix diff --git a/systems/hetzner/ax41.nix b/systems/hetzner/ax41.nix index baf199a..b2ce0c9 100644 --- a/systems/hetzner/ax41.nix +++ b/systems/hetzner/ax41.nix @@ -1,4 +1,4 @@ -{ config, pkgs, lib, inputs, modulesPath, ... }: +{ config, pkgs, lib, inputs, modulesPath, flake, ... }: { imports = @@ -114,7 +114,7 @@ networking.firewall.checkReversePath = "loose"; # Tailscale recommends this # Define a user account. Don't forget to set a password with ‘passwd’. - users.users.srid = { + users.users.${flake.config.people.myself} = { isNormalUser = true; extraGroups = [ "wheel" "networkmanager" ]; };