new flake based install approach updates

This commit is contained in:
RingOfStorms (Joshua Bell) 2025-11-25 21:53:52 -06:00
parent 6e3bd69382
commit 5712808dc5
3 changed files with 17 additions and 75 deletions

View file

@ -87,17 +87,9 @@ services.btrfs.autoScrub = {
### Add initial system config changes
```sh
curl -o /mnt/etc/nixos/onboard.nix https://git.joshuabell.xyz/ringofstorms/dotfiles/raw/branch/master/utilities/nixos-installers/onboard.nix
# add import to configuration.nix
sed -i '/\.\/hardware-configuration.nix/a \ ./onboard.nix' /mnt/etc/nixos/configuration.nix
```
in configuration.nix add
```nix
onboardOpts = {
hostName = "NAME";
primaryUser = "luser";
};
curl -o /mnt/etc/nixos/flake.nix https://git.joshuabell.xyz/ringofstorms/dotfiles/raw/branch/master/utilities/nixos-installers/new-flake.nix
```
Open and edit config name/location as desired.
### Auto unlock luks (optional) - USB key
```sh
@ -129,12 +121,11 @@ In hardware-configuration ensure these are all added:
device = "/dev/disk/by-uuid/<LUKS_UUID>";
keyFile = "/keyfile";
# The USB device that holds the keyfile (by UUID for reliability)
keyfileDevice = "/dev/disk/by-uuid/<USB_UUID>";
keyFileTimeout = 5;
tryEmptyPassphrase = true;
fallbackToPassword = true;
crypttabExtraOpts = [ "tries=3" ];
crypttabExtraOpts = [ "tries=2" ];
};
```

View file

@ -16,14 +16,16 @@
...
}@inputs:
let
configuration_name = "MACHINE_HOST_NAME";
configurationName = "MACHINE_HOST_NAME";
system = "x86_64-linux";
primaryUser = "luser";
configLocation = "/etc/nixos";
# configLocation = "/home/${primaryUser}/.config/nixos-config/hosts/${configurationName}";
lib = nixpkgs.lib;
in
{
nixosConfigurations = {
"${configuration_name}" = (
"${configurationName}" = (
lib.nixosSystem {
inherit system;
specialArgs = {
@ -32,7 +34,6 @@
modules = [
home-manager.nixosModules.default
secrets.nixosModules.default
ros_neovim.nixosModules.default
(
{ ... }:
@ -40,45 +41,21 @@
ringofstorms-nvim.includeAllRuntimeDependencies = true;
}
)
flatpaks.nixosModules.default
common.nixosModules.essentials
common.nixosModules.git
common.nixosModules.tmux
common.nixosModules.boot_systemd
# common.nixosModules.de_sway
common.nixosModules.de_i3
# common.nixosModules.boot_systemd
# common.nixosModules.boot_grub
common.nixosModules.hardening
common.nixosModules.jetbrains_font
common.nixosModules.nix_options
common.nixosModules.no_sleep
common.nixosModules.podman
common.nixosModules.q_flipper
common.nixosModules.tailnet
common.nixosModules.timezone_auto
common.nixosModules.tty_caps_esc
common.nixosModules.zsh
beszel.nixosModules.agent
(
{ ... }:
{
beszelAgent = {
listen = "${overlayIp}:45876";
token = "20208198-87c2-4bd1-ab09-b97c3b9c6a6e";
};
}
)
./configuration.nix
./hardware-configuration.nix
(import ./containers.nix { inherit inputs; })
# ./jails_text.nix
# ./hyprland_customizations.nix
# ./sway_customizations.nix
./i3_customizations.nix
./opencode-shim.nix
./vms.nix
(
{
config,
@ -88,6 +65,10 @@
...
}:
rec {
system.stateVersion = "25.05";
# No ssh pub keys setup yet, allow password login
services.openssh.settings.PasswordAuthentication = lib.mkForce true;
# Home Manager
home-manager = {
useUserPackages = true;
@ -100,18 +81,11 @@
}) (lib.filterAttrs (name: user: user.isNormalUser or false) users.users);
sharedModules = [
# common.homeManagerModules.de_sway
common.homeManagerModules.de_i3
common.homeManagerModules.tmux
common.homeManagerModules.atuin
common.homeManagerModules.direnv
common.homeManagerModules.foot
common.homeManagerModules.git
common.homeManagerModules.kitty
common.homeManagerModules.launcher_rofi
common.homeManagerModules.postgres_cli_options
common.homeManagerModules.slicer
common.homeManagerModules.ssh
common.homeManagerModules.starship
common.homeManagerModules.zoxide
common.homeManagerModules.zsh
@ -124,8 +98,8 @@
};
# System configuration
networking.hostName = configuration_name;
programs.nh.flake = "/home/${primaryUser}/.config/nixos-config/hosts/${config.networking.hostName}";
networking.hostName = configurationName;
programs.nh.flake = configLocation;
nixpkgs.config.allowUnfree = true;
users.users = {
"${primaryUser}" = {
@ -134,35 +108,11 @@
extraGroups = [
"wheel"
"networkmanager"
"video"
"input"
];
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJN2nsLmAlF6zj5dEBkNSJaqcCya+aB6I0imY8Q5Ew0S nix2lio"
];
};
};
environment.systemPackages = with pkgs; [
vlang
ttyd
pavucontrol
];
services.flatpak.packages = [
"org.signal.Signal"
"dev.vencord.Vesktop"
"md.obsidian.Obsidian"
"com.spotify.Client"
"com.bitwarden.desktop"
"org.openscad.OpenSCAD"
"org.blender.Blender"
"com.rustdesk.RustDesk"
];
networking.firewall.allowedTCPPorts = [
8080
];
}
)
];