Improve custom iso
This commit is contained in:
parent
2357c5d3d6
commit
1b180a8a25
|
@ -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
22
home/iso.nix
Normal 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;
|
||||||
|
}
|
|
@ -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 @@
|
||||||
];
|
];
|
||||||
# }}}
|
# }}}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
# }}}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue