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
packedTargets = {
elm = false;
latex = true;
lua = true;
latex = !config.satellite.toggles.neovim-minimal.enable;
lua = !config.satellite.toggles.neovim-minimal.enable;
nix = true;
purescript = false;
python = false;
rust = false;
typst = true;
web = true;
typst = !config.satellite.toggles.neovim-minimal.enable;
web = !config.satellite.toggles.neovim-minimal.enable;
csharp = false;
};
@ -1699,6 +1699,7 @@ in
# {{{ Basic config
# We want other modules to know that we are using neovim!
satellite.toggles.neovim.enable = true;
satellite.toggles.neovim-minimal.enable = lib.mkDefault false;
# Link files in the appropriate places
xdg.configFile.nvim.source = config.satellite.dev.path "home/features/neovim/config";
@ -1708,9 +1709,8 @@ in
# Install packages
home.packages = [
neovim
neovide
pkgs.vimclip
];
] ++ lib.lists.optional (!config.satellite.toggles.neovim-minimal.enable) neovide;
# }}}
# {{{ Persistence
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
#
# 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 ];
environment.persistence."/persist/state".directories = [
@ -19,11 +25,13 @@
# {{{ Create home directories
systemd.tmpfiles.rules =
let
users = lib.filter (v: v != null && v.isNormalUser)
(lib.mapAttrsToList (_: u: u) config.users.users);
users = lib.filter (v: v != null && v.isNormalUser) (
lib.mapAttrsToList (_: u: u) config.users.users
);
mkHomePersistFor = location: lib.forEach users
(user: "Q ${location}${user.home} ${user.homeMode} ${user.name} ${user.group} -");
mkHomePersistFor =
location:
lib.forEach users (user: "d ${location}${user.home} ${user.homeMode} ${user.name} ${user.group} -");
in
lib.flatten [
(mkHomePersistFor "/persist/data")
@ -32,4 +40,3 @@
];
# }}}
}

View file

@ -1,13 +1,23 @@
{ modulesPath, pkgs, ... }:
{ modulesPath, ... }:
{
imports = [
"${modulesPath}/installer/cd-dvd/installation-cd-minimal.nix"
../common/global/services/openssh.nix
../common/global/locale.nix
../common/global/cli/fish.nix
../common/global/nix.nix
../common/global
../common/optional/wayland/hyprland.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"
];
};
# }}}
}