Revert "modules.users.chn: 使用来自 home-manager 的 impermanence"

This reverts commit e3fe00a53d.
This commit is contained in:
陈浩南 2024-09-15 15:57:54 +08:00
parent 4b15bf8043
commit 7900d593da
3 changed files with 97 additions and 121 deletions

View File

@ -14,7 +14,6 @@ inputs:
};
home-manager.users.chn =
{
imports = [ "${inputs.topInputs.impermanence}/home-manager.nix" ];
config =
{
programs =
@ -82,65 +81,39 @@ inputs:
))
)
];
persistence =
{
"/nix/persistent/home/chn" =
{
directories =
[
# common things
"bin" "Desktop" "Documents" "Downloads" "Music" "Pictures" "repo" "share" "Public" "Videos"
".config" ".local/share"
# xmuvpn
".ecdata"
# firefox
".mozilla/firefox/default"
# ssh
".ssh"
# steam
".steam" # ".local/share/Steam"
# vscode
".vscode" # ".config/Code" ".config/grammarly-languageserver"
# zotero
".zotero" "Zotero"
];
allowOther = true;
};
"/nix/rootfs/current/home/chn".allowOther = true;
};
};
pam.yubico.authorizedYubiKeys.ids = [ "cccccbgrhnub" ];
};
};
# environment.persistence =
# let inherit (inputs.config.nixos.system) impermanence; in inputs.lib.mkIf impermanence.enable
# {
# # TODO: make copy or soft link of files
# "${impermanence.persistence}".users.chn =
# {
# directories = builtins.map
# (dir: { directory = dir.dir or dir; user = "chn"; group = "chn"; mode = dir.mode or "0755"; })
# [
# # common things
# "bin" "Desktop" "Documents" "Downloads" "Music" "Pictures" "repo" "share" "Public" "Videos"
# ".config" ".local/share"
# # # gnome
# # { dir = ".config/dconf"; mode = "0700"; } ".config/gtk-2.0" ".config/gtk-3.0" ".config/gtk-4.0"
# # ".config/libaccounts-glib"
# # # android
# # { dir = ".android"; mode = "0750";}
# # xmuvpn
# ".ecdata"
# # firefox
# { dir = ".mozilla/firefox/default"; mode = "0700"; }
# # ssh
# { dir = ".ssh"; mode = "0700"; }
# # steam
# ".steam" # ".local/share/Steam"
# # vscode
# ".vscode" # ".config/Code" ".config/grammarly-languageserver"
# # zotero
# ".zotero" "Zotero"
environment.persistence =
let inherit (inputs.config.nixos.system) impermanence; in inputs.lib.mkIf impermanence.enable
{
# TODO: make copy or soft link of files
"${impermanence.persistence}".users.chn =
{
directories = builtins.map
(dir: { directory = dir.dir or dir; user = "chn"; group = "chn"; mode = dir.mode or "0755"; })
[
# common things
"bin" "Desktop" "Documents" "Downloads" "Music" "Pictures" "repo" "share" "Public" "Videos"
".config" ".local/share"
# # gnome
# { dir = ".config/dconf"; mode = "0700"; } ".config/gtk-2.0" ".config/gtk-3.0" ".config/gtk-4.0"
# ".config/libaccounts-glib"
# # android
# { dir = ".android"; mode = "0750";}
# xmuvpn
".ecdata"
# firefox
{ dir = ".mozilla/firefox/default"; mode = "0700"; }
# ssh
{ dir = ".ssh"; mode = "0700"; }
# steam
".steam" # ".local/share/Steam"
# vscode
".vscode" # ".config/Code" ".config/grammarly-languageserver"
# zotero
".zotero" "Zotero"
# 百度网盘
# ".config/BaiduPCS-Go"
# # bitwarden
@ -223,7 +196,7 @@ inputs:
# ".local/share/waydroid"
# # zsh
# ".local/share/zsh"
# ];
];
# TODO: create file if not exist
# files = builtins.map
# (file: { inherit file; parentDirectory = { user = "chn"; group = "chn"; mode = "0755"; }; })
@ -239,5 +212,7 @@ inputs:
# # age TODO: use sops to storage
# ".config/sops/age/keys.txt"
# ];
};
};
};
}

View File

@ -2,72 +2,74 @@ inputs:
{
config = inputs.lib.mkIf inputs.config.nixos.system.gui.enable
{
home-manager.users.chn.config.home =
{
file =
let
programs =
home-manager.users.chn.config.home.file =
let
programs =
{
nheko = rec
{
nheko = rec
{
fileName = "nheko.desktop";
path = "${inputs.pkgs.nheko}/share/applications/${fileName}";
};
kclockd = rec
{
fileName = "org.kde.kclockd-autostart.desktop";
path = "${inputs.pkgs.kdePackages.kdeGear.kclock}/etc/xdg/autostart/${fileName}";
};
yakuake = rec
{
fileName = "org.kde.yakuake.desktop";
path = "${inputs.pkgs.yakuake}/share/applications/${fileName}";
};
telegram = rec
{
fileName = "org.telegram.desktop.desktop";
path = inputs.pkgs.writeText fileName (builtins.replaceStrings
[ "Exec=telegram-desktop -- %u" ] [ "Exec=telegram-desktop -autostart" ]
(builtins.readFile "${inputs.pkgs.telegram-desktop}/share/applications/${fileName}"));
};
element = rec
{
fileName = "element-desktop.desktop";
path = inputs.pkgs.writeText fileName (builtins.replaceStrings
[ "Exec=element-desktop %u" ] [ "Exec=element-desktop --hidden" ]
(builtins.readFile "${inputs.pkgs.element-desktop.desktopItem}/share/applications/${fileName}"));
};
kmail = rec
{
fileName = "org.kde.kmail2.desktop";
path = "${inputs.pkgs.kmail}/share/applications/${fileName}";
};
discord = rec
{
fileName = "discord.desktop";
path = inputs.pkgs.writeText fileName (builtins.replaceStrings
[ "Exec=Discord" ] [ "Exec=Discord --start-minimized" ]
(builtins.readFile "${inputs.pkgs.discord.desktopItem}/share/applications/${fileName}"));
};
crow-translate = rec
{
fileName = "io.crow_translate.CrowTranslate.desktop";
path = "${inputs.pkgs.crow-translate}/share/applications/${fileName}";
};
fileName = "nheko.desktop";
path = "${inputs.pkgs.nheko}/share/applications/${fileName}";
};
devices =
kclockd = rec
{
pc = [ "nheko" "kclockd" "yakuake" "telegram" "element" "kmail" "discord" "crow-translate" ];
surface = [ "kclockd" "yakuake" "telegram" "element" "crow-translate" ];
fileName = "org.kde.kclockd-autostart.desktop";
path = "${inputs.pkgs.kdePackages.kdeGear.kclock}/etc/xdg/autostart/${fileName}";
};
in builtins.listToAttrs (builtins.map
yakuake = rec
{
fileName = "org.kde.yakuake.desktop";
path = "${inputs.pkgs.yakuake}/share/applications/${fileName}";
};
telegram = rec
{
fileName = "org.telegram.desktop.desktop";
path = inputs.pkgs.writeText fileName (builtins.replaceStrings
[ "Exec=telegram-desktop -- %u" ] [ "Exec=telegram-desktop -autostart" ]
(builtins.readFile "${inputs.pkgs.telegram-desktop}/share/applications/${fileName}"));
};
element = rec
{
fileName = "element-desktop.desktop";
path = inputs.pkgs.writeText fileName (builtins.replaceStrings
[ "Exec=element-desktop %u" ] [ "Exec=element-desktop --hidden" ]
(builtins.readFile "${inputs.pkgs.element-desktop.desktopItem}/share/applications/${fileName}"));
};
kmail = rec
{
fileName = "org.kde.kmail2.desktop";
path = "${inputs.pkgs.kmail}/share/applications/${fileName}";
};
discord = rec
{
fileName = "discord.desktop";
path = inputs.pkgs.writeText fileName (builtins.replaceStrings
[ "Exec=Discord" ] [ "Exec=Discord --start-minimized" ]
(builtins.readFile "${inputs.pkgs.discord.desktopItem}/share/applications/${fileName}"));
};
crow-translate = rec
{
fileName = "io.crow_translate.CrowTranslate.desktop";
path = "${inputs.pkgs.crow-translate}/share/applications/${fileName}";
};
};
devices =
{
pc = [ "nheko" "kclockd" "yakuake" "telegram" "element" "kmail" "discord" "crow-translate" ];
surface = [ "kclockd" "yakuake" "telegram" "element" "crow-translate" ];
};
in builtins.listToAttrs (builtins.map
(file:
{
name = ".config/autostart/${programs.${file}.fileName}";
value.source = programs.${file}.path;
})
(devices.${inputs.config.nixos.system.networking.hostname} or []));
persistence."/nix/rootfs/current/home/chn".directories = [ ".config/autostart" ];
};
environment.persistence =
let impermanence = inputs.config.nixos.system.impermanence;
in inputs.lib.mkIf impermanence.enable
{
"${impermanence.root}".users.chn.directories = [ ".config/autostart" ];
};
};
}

View File

@ -63,13 +63,12 @@ inputs:
"Terminal Features".BlinkingCursorEnabled.value = true;
};
};
home =
{
file.".local/share/konsole/Breeze.colorscheme".text = builtins.replaceStrings
[ "Opacity=1" ] [ "Opacity=0.9\nBlur=true" ]
(builtins.readFile "${inputs.pkgs.konsole}/share/konsole/Breeze.colorscheme");
persistence."/nix/rootfs/current/home/chn".directories = [ ".local/share/konsole" ".local/share/yakuake" ];
};
home.file.".local/share/konsole/Breeze.colorscheme".text = builtins.replaceStrings
[ "Opacity=1" ] [ "Opacity=0.9\nBlur=true" ]
(builtins.readFile "${inputs.pkgs.konsole}/share/konsole/Breeze.colorscheme");
};
environment.persistence =
let impermanence = inputs.config.nixos.system.impermanence; in inputs.lib.mkIf impermanence.enable
{ "${impermanence.root}".users.chn.directories = [ ".local/share/konsole" ".local/share/yakuake" ]; };
};
}