new flake based install approach updates
This commit is contained in:
parent
6e3bd69382
commit
5712808dc5
3 changed files with 17 additions and 75 deletions
|
|
@ -23,6 +23,7 @@ with lib;
|
||||||
lsof
|
lsof
|
||||||
killall
|
killall
|
||||||
speedtest-cli
|
speedtest-cli
|
||||||
|
parted
|
||||||
];
|
];
|
||||||
|
|
||||||
environment.shellAliases = {
|
environment.shellAliases = {
|
||||||
|
|
|
||||||
|
|
@ -87,17 +87,9 @@ services.btrfs.autoScrub = {
|
||||||
|
|
||||||
### Add initial system config changes
|
### Add initial system config changes
|
||||||
```sh
|
```sh
|
||||||
curl -o /mnt/etc/nixos/onboard.nix https://git.joshuabell.xyz/ringofstorms/dotfiles/raw/branch/master/utilities/nixos-installers/onboard.nix
|
curl -o /mnt/etc/nixos/flake.nix https://git.joshuabell.xyz/ringofstorms/dotfiles/raw/branch/master/utilities/nixos-installers/new-flake.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";
|
|
||||||
};
|
|
||||||
```
|
```
|
||||||
|
Open and edit config name/location as desired.
|
||||||
|
|
||||||
### Auto unlock luks (optional) - USB key
|
### Auto unlock luks (optional) - USB key
|
||||||
```sh
|
```sh
|
||||||
|
|
@ -129,12 +121,11 @@ In hardware-configuration ensure these are all added:
|
||||||
device = "/dev/disk/by-uuid/<LUKS_UUID>";
|
device = "/dev/disk/by-uuid/<LUKS_UUID>";
|
||||||
|
|
||||||
keyFile = "/keyfile";
|
keyFile = "/keyfile";
|
||||||
# The USB device that holds the keyfile (by UUID for reliability)
|
keyFileTimeout = 5;
|
||||||
keyfileDevice = "/dev/disk/by-uuid/<USB_UUID>";
|
|
||||||
|
|
||||||
tryEmptyPassphrase = true;
|
tryEmptyPassphrase = true;
|
||||||
fallbackToPassword = true;
|
fallbackToPassword = true;
|
||||||
crypttabExtraOpts = [ "tries=3" ];
|
crypttabExtraOpts = [ "tries=2" ];
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16,14 +16,16 @@
|
||||||
...
|
...
|
||||||
}@inputs:
|
}@inputs:
|
||||||
let
|
let
|
||||||
configuration_name = "MACHINE_HOST_NAME";
|
configurationName = "MACHINE_HOST_NAME";
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
primaryUser = "luser";
|
primaryUser = "luser";
|
||||||
|
configLocation = "/etc/nixos";
|
||||||
|
# configLocation = "/home/${primaryUser}/.config/nixos-config/hosts/${configurationName}";
|
||||||
lib = nixpkgs.lib;
|
lib = nixpkgs.lib;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
"${configuration_name}" = (
|
"${configurationName}" = (
|
||||||
lib.nixosSystem {
|
lib.nixosSystem {
|
||||||
inherit system;
|
inherit system;
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
|
|
@ -32,7 +34,6 @@
|
||||||
modules = [
|
modules = [
|
||||||
home-manager.nixosModules.default
|
home-manager.nixosModules.default
|
||||||
|
|
||||||
secrets.nixosModules.default
|
|
||||||
ros_neovim.nixosModules.default
|
ros_neovim.nixosModules.default
|
||||||
(
|
(
|
||||||
{ ... }:
|
{ ... }:
|
||||||
|
|
@ -40,45 +41,21 @@
|
||||||
ringofstorms-nvim.includeAllRuntimeDependencies = true;
|
ringofstorms-nvim.includeAllRuntimeDependencies = true;
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
flatpaks.nixosModules.default
|
|
||||||
|
|
||||||
common.nixosModules.essentials
|
common.nixosModules.essentials
|
||||||
common.nixosModules.git
|
common.nixosModules.git
|
||||||
common.nixosModules.tmux
|
common.nixosModules.tmux
|
||||||
common.nixosModules.boot_systemd
|
# common.nixosModules.boot_systemd
|
||||||
# common.nixosModules.de_sway
|
# common.nixosModules.boot_grub
|
||||||
common.nixosModules.de_i3
|
|
||||||
common.nixosModules.hardening
|
common.nixosModules.hardening
|
||||||
common.nixosModules.jetbrains_font
|
common.nixosModules.jetbrains_font
|
||||||
common.nixosModules.nix_options
|
common.nixosModules.nix_options
|
||||||
common.nixosModules.no_sleep
|
common.nixosModules.no_sleep
|
||||||
common.nixosModules.podman
|
|
||||||
common.nixosModules.q_flipper
|
|
||||||
common.nixosModules.tailnet
|
|
||||||
common.nixosModules.timezone_auto
|
common.nixosModules.timezone_auto
|
||||||
common.nixosModules.tty_caps_esc
|
common.nixosModules.tty_caps_esc
|
||||||
common.nixosModules.zsh
|
common.nixosModules.zsh
|
||||||
|
|
||||||
beszel.nixosModules.agent
|
|
||||||
(
|
|
||||||
{ ... }:
|
|
||||||
{
|
|
||||||
beszelAgent = {
|
|
||||||
listen = "${overlayIp}:45876";
|
|
||||||
token = "20208198-87c2-4bd1-ab09-b97c3b9c6a6e";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
./configuration.nix
|
|
||||||
./hardware-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,
|
config,
|
||||||
|
|
@ -88,6 +65,10 @@
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
rec {
|
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
|
||||||
home-manager = {
|
home-manager = {
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
|
|
@ -100,18 +81,11 @@
|
||||||
}) (lib.filterAttrs (name: user: user.isNormalUser or false) users.users);
|
}) (lib.filterAttrs (name: user: user.isNormalUser or false) users.users);
|
||||||
|
|
||||||
sharedModules = [
|
sharedModules = [
|
||||||
# common.homeManagerModules.de_sway
|
|
||||||
common.homeManagerModules.de_i3
|
|
||||||
common.homeManagerModules.tmux
|
common.homeManagerModules.tmux
|
||||||
common.homeManagerModules.atuin
|
common.homeManagerModules.atuin
|
||||||
common.homeManagerModules.direnv
|
common.homeManagerModules.direnv
|
||||||
common.homeManagerModules.foot
|
|
||||||
common.homeManagerModules.git
|
common.homeManagerModules.git
|
||||||
common.homeManagerModules.kitty
|
|
||||||
common.homeManagerModules.launcher_rofi
|
|
||||||
common.homeManagerModules.postgres_cli_options
|
common.homeManagerModules.postgres_cli_options
|
||||||
common.homeManagerModules.slicer
|
|
||||||
common.homeManagerModules.ssh
|
|
||||||
common.homeManagerModules.starship
|
common.homeManagerModules.starship
|
||||||
common.homeManagerModules.zoxide
|
common.homeManagerModules.zoxide
|
||||||
common.homeManagerModules.zsh
|
common.homeManagerModules.zsh
|
||||||
|
|
@ -124,8 +98,8 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
# System configuration
|
# System configuration
|
||||||
networking.hostName = configuration_name;
|
networking.hostName = configurationName;
|
||||||
programs.nh.flake = "/home/${primaryUser}/.config/nixos-config/hosts/${config.networking.hostName}";
|
programs.nh.flake = configLocation;
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
users.users = {
|
users.users = {
|
||||||
"${primaryUser}" = {
|
"${primaryUser}" = {
|
||||||
|
|
@ -134,35 +108,11 @@
|
||||||
extraGroups = [
|
extraGroups = [
|
||||||
"wheel"
|
"wheel"
|
||||||
"networkmanager"
|
"networkmanager"
|
||||||
"video"
|
|
||||||
"input"
|
|
||||||
];
|
];
|
||||||
openssh.authorizedKeys.keys = [
|
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
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
];
|
];
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue