merge: merged leyla/main
This commit is contained in:
parent
3a58722815
commit
0a8b3e1496
120 changed files with 2396 additions and 4519 deletions
|
|
@ -8,21 +8,25 @@
|
|||
in {
|
||||
options.impermanence = {
|
||||
enable = lib.mkEnableOption "impermanence for home directory";
|
||||
fallbackPersistence.enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkMerge [
|
||||
(lib.mkIf config.impermanence.enable {
|
||||
assertions = [
|
||||
{
|
||||
assertion = osConfig.impermanence.enable;
|
||||
message = "impermanence can not be enabled for a user when it is not enabled for a configuration";
|
||||
assertion = osConfig.host.impermanence.enable;
|
||||
message = "impermanence can not be enabled for a user when it is not enabled for the system";
|
||||
}
|
||||
];
|
||||
})
|
||||
(lib.mkIf osConfig.host.impermanence.enable {
|
||||
# If impermanence is not enabled for this user but system impermanence is enabled,
|
||||
# persist the entire home directory as fallback
|
||||
home.persistence."/persist/home/${config.home.username}" = lib.mkIf (!cfg.enable) {
|
||||
# If impermanence is not enabled for this user but system impermanence is enabled,
|
||||
# persist the entire home directory as fallback
|
||||
(lib.mkIf (osConfig.host.impermanence.enable && !cfg.enable && cfg.fallbackPersistence.enable) {
|
||||
home.persistence."/persist/home/${config.home.username}" = {
|
||||
directories = ["."];
|
||||
allowOther = true;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
config = lib.mkIf config.programs.bitwarden.enable (lib.mkMerge [
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
bitwarden
|
||||
bitwarden-desktop
|
||||
];
|
||||
}
|
||||
(
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
./freecad.nix
|
||||
./onionshare.nix
|
||||
./mfoc.nix
|
||||
./noita-entangled-worlds.nix
|
||||
./pdfarranger.nix
|
||||
./picard.nix
|
||||
./qflipper.nix
|
||||
|
|
@ -43,7 +44,6 @@
|
|||
./davinci-resolve.nix
|
||||
./gdx-liftoff.nix
|
||||
./tor-browser.nix
|
||||
./polycule.nix
|
||||
./vmware-workstation.nix
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,19 +1,9 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options.programs.discord = {
|
||||
enable = lib.mkEnableOption "enable discord";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.programs.discord.enable (lib.mkMerge [
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
discord
|
||||
];
|
||||
}
|
||||
(
|
||||
lib.mkIf config.impermanence.enable {
|
||||
home.persistence."/persist${config.home.homeDirectory}" = {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
programs.noita-entangled-worlds = {
|
||||
enable = lib.mkEnableOption "Noita Entangled Worlds multiplayer mod";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf config.programs.noita-entangled-worlds.enable {
|
||||
home.packages = with pkgs; [
|
||||
noita_entangled_worlds
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
@ -1,31 +0,0 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options.programs.polycule = {
|
||||
enable = lib.mkEnableOption "enable polycule matrix client";
|
||||
package = lib.mkPackageOption pkgs "polycule" {};
|
||||
};
|
||||
|
||||
config = lib.mkIf config.programs.polycule.enable (lib.mkMerge [
|
||||
{
|
||||
home.packages = [
|
||||
config.programs.polycule.package
|
||||
];
|
||||
}
|
||||
(
|
||||
lib.mkIf config.impermanence.enable {
|
||||
home.persistence."/persist${config.home.homeDirectory}" = {
|
||||
# TODO: check that these are actually the correct folders
|
||||
# directories = [
|
||||
# "${config.xdg.configHome}/polycule"
|
||||
# "${config.xdg.dataHome}/polycule"
|
||||
# "${config.xdg.cacheHome}/polycule"
|
||||
# ];
|
||||
};
|
||||
}
|
||||
)
|
||||
]);
|
||||
}
|
||||
|
|
@ -19,6 +19,10 @@ in {
|
|||
gitmoji = lib.mkEnableOption "should emoji be prompted for as a part of the commit message./";
|
||||
|
||||
promptScopes = lib.mkEnableOption "prompting for scopes in conventional commits";
|
||||
|
||||
promptFooter = lib.mkEnableOption "prompting for footer in conventional commits";
|
||||
|
||||
showNewVersionNotes = lib.mkEnableOption "showing new version notes for conventional commits";
|
||||
};
|
||||
};
|
||||
config = lib.mkIf config.extraExtensions.conventionalCommits.enable {
|
||||
|
|
@ -27,6 +31,8 @@ in {
|
|||
userSettings = {
|
||||
"conventionalCommits.gitmoji" = config.extraExtensions.conventionalCommits.gitmoji;
|
||||
"conventionalCommits.promptScopes" = config.extraExtensions.conventionalCommits.promptScopes;
|
||||
"conventionalCommits.promptFooter" = config.extraExtensions.conventionalCommits.promptFooter;
|
||||
"conventionalCommits.showNewVersionNotes" = config.extraExtensions.conventionalCommits.showNewVersionNotes;
|
||||
};
|
||||
};
|
||||
}));
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@
|
|||
./go.nix
|
||||
./evenBetterToml.nix
|
||||
./openRemoteSsh.nix
|
||||
./rustAnalyzer.nix
|
||||
./astroVscode.nix
|
||||
./vscodeMdx.nix
|
||||
./claudeDev.nix
|
||||
|
|
|
|||
|
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
pkgsRepositories = pkgs.nix-vscode-extensions.forVSCodeVersion config.programs.vscode.package.version;
|
||||
pkgsRepository = pkgsRepositories.open-vsx;
|
||||
in {
|
||||
options.programs.vscode.profiles = lib.mkOption {
|
||||
type = lib.types.attrsOf (lib.types.submodule ({config, ...}: {
|
||||
options = {
|
||||
extraExtensions.rustAnalyzer = {
|
||||
enable = lib.mkEnableOption "should the rust-analyzer extension for vscode be enabled";
|
||||
extension = lib.mkPackageOption pkgsRepository "rust-analyzer" {
|
||||
default = ["rust-lang" "rust-analyzer"];
|
||||
};
|
||||
};
|
||||
};
|
||||
config = lib.mkIf config.extraExtensions.rustAnalyzer.enable {
|
||||
extensions = [
|
||||
config.extraExtensions.rustAnalyzer.extension
|
||||
];
|
||||
};
|
||||
}));
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue