1
Fork 0

Improve custom iso

This commit is contained in:
prescientmoon 2024-08-27 13:30:17 +02:00
parent 2357c5d3d6
commit 1b180a8a25
Signed by: prescientmoon
SSH key fingerprint: SHA256:WFp/cO76nbarETAoQcQXuV+0h7XJsEsOCI0UsyPIy6U
4 changed files with 57 additions and 18 deletions

View file

@ -10,14 +10,14 @@ let
# Toggles for including tooling related to a given language # Toggles for including tooling related to a given language
packedTargets = { packedTargets = {
elm = false; elm = false;
latex = true; latex = !config.satellite.toggles.neovim-minimal.enable;
lua = true; lua = !config.satellite.toggles.neovim-minimal.enable;
nix = true; nix = true;
purescript = false; purescript = false;
python = false; python = false;
rust = false; rust = false;
typst = true; typst = !config.satellite.toggles.neovim-minimal.enable;
web = true; web = !config.satellite.toggles.neovim-minimal.enable;
csharp = false; csharp = false;
}; };
@ -1699,6 +1699,7 @@ in
# {{{ Basic config # {{{ Basic config
# We want other modules to know that we are using neovim! # We want other modules to know that we are using neovim!
satellite.toggles.neovim.enable = true; satellite.toggles.neovim.enable = true;
satellite.toggles.neovim-minimal.enable = lib.mkDefault false;
# Link files in the appropriate places # Link files in the appropriate places
xdg.configFile.nvim.source = config.satellite.dev.path "home/features/neovim/config"; xdg.configFile.nvim.source = config.satellite.dev.path "home/features/neovim/config";
@ -1708,9 +1709,8 @@ in
# Install packages # Install packages
home.packages = [ home.packages = [
neovim neovim
neovide
pkgs.vimclip pkgs.vimclip
]; ] ++ lib.lists.optional (!config.satellite.toggles.neovim-minimal.enable) neovide;
# }}} # }}}
# {{{ Persistence # {{{ Persistence
satellite.persistence.at.state.apps.neovim.directories = [ satellite.persistence.at.state.apps.neovim.directories = [

22
home/iso.nix Normal file
View file

@ -0,0 +1,22 @@
{ pkgs, ... }:
{
imports = [
./global.nix
./features/desktop/foot.nix
./features/desktop/firefox
./features/cli/lazygit.nix
./features/wayland/hyprland
./features/neovim
];
# Arbitrary extra packages
home.packages = with pkgs; [
sops # Secret editing
];
home.username = "moon";
home.stateVersion = "24.05";
satellite.toggles.neovim-minimal.enable = true;
}

View file

@ -3,7 +3,13 @@
# users' home persist dir exists and has the right permissions # users' home persist dir exists and has the right permissions
# #
# It works even if / is tmpfs, btrfs snapshot, or even not ephemeral at all. # It works even if / is tmpfs, btrfs snapshot, or even not ephemeral at all.
{ lib, inputs, config, ... }: { {
lib,
inputs,
config,
...
}:
{
imports = [ inputs.impermanence.nixosModules.impermanence ]; imports = [ inputs.impermanence.nixosModules.impermanence ];
environment.persistence."/persist/state".directories = [ environment.persistence."/persist/state".directories = [
@ -19,11 +25,13 @@
# {{{ Create home directories # {{{ Create home directories
systemd.tmpfiles.rules = systemd.tmpfiles.rules =
let let
users = lib.filter (v: v != null && v.isNormalUser) users = lib.filter (v: v != null && v.isNormalUser) (
(lib.mapAttrsToList (_: u: u) config.users.users); lib.mapAttrsToList (_: u: u) config.users.users
);
mkHomePersistFor = location: lib.forEach users mkHomePersistFor =
(user: "Q ${location}${user.home} ${user.homeMode} ${user.name} ${user.group} -"); location:
lib.forEach users (user: "d ${location}${user.home} ${user.homeMode} ${user.name} ${user.group} -");
in in
lib.flatten [ lib.flatten [
(mkHomePersistFor "/persist/data") (mkHomePersistFor "/persist/data")
@ -32,4 +40,3 @@
]; ];
# }}} # }}}
} }

View file

@ -1,13 +1,23 @@
{ modulesPath, pkgs, ... }: { modulesPath, ... }:
{ {
imports = [ imports = [
"${modulesPath}/installer/cd-dvd/installation-cd-minimal.nix" "${modulesPath}/installer/cd-dvd/installation-cd-minimal.nix"
../common/global/services/openssh.nix ../common/global
../common/global/locale.nix ../common/optional/wayland/hyprland.nix
../common/global/cli/fish.nix
../common/global/nix.nix
]; ];
environment.systemPackages = [ pkgs.neovim ]; # Tell sops-nix to use the hermes keys for decrypting secrets
sops.age.sshKeyPaths = [ "/hermes/secrets/hermes/ssh_host_ed25519_key" ];
# {{{ Automount hermes
fileSystems."/hermes" = {
device = "/dev/disk/by-uuid/7FE7-CA68";
neededForBoot = true;
options = [
"nofail"
"x-systemd.automount"
];
};
# }}}
} }