mirror of
https://github.com/Swarsel/.dotfiles.git
synced 2025-12-06 09:07:21 +01:00
feat[client]: reduce file clobbering
This commit is contained in:
parent
101f4d3183
commit
9ce9a7ec6a
4 changed files with 106 additions and 88 deletions
|
|
@ -4227,6 +4227,7 @@ We enable the use of =home-manager= as a NixoS module. A nice trick here is the
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
verbose = true;
|
verbose = true;
|
||||||
|
backupFileExtension = "hm-bak";
|
||||||
users.${config.swarselsystems.mainUser}.imports = [
|
users.${config.swarselsystems.mainUser}.imports = [
|
||||||
inputs.nix-index-database.homeModules.nix-index
|
inputs.nix-index-database.homeModules.nix-index
|
||||||
inputs.sops-nix.homeManagerModules.sops
|
inputs.sops-nix.homeManagerModules.sops
|
||||||
|
|
@ -11577,48 +11578,51 @@ TODO: Non-NixOS machines (=sp3) should not use these by default, but instead the
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
xdg.mimeApps = {
|
xdg = {
|
||||||
enable = true;
|
configFile."mimeapps.list".force = true;
|
||||||
defaultApplications = {
|
mimeApps = {
|
||||||
"application/epub+zip" = [ "calibre-ebook-viewer.desktop" ];
|
enable = true;
|
||||||
"application/metalink+xml" = [ "emacsclient.desktop" ];
|
defaultApplications = {
|
||||||
"application/msword" = [ "writer.desktop" ];
|
|
||||||
"application/pdf" = [ "org.gnome.Evince.desktop" ];
|
|
||||||
"application/sql" = [ "emacsclient.desktop" ];
|
|
||||||
"application/vnd.ms-excel" = [ "calc.desktop" ];
|
|
||||||
"application/vnd.ms-powerpoint" = [ "impress.desktop" ];
|
|
||||||
"application/x-extension-htm" = [ "firefox.desktop" ];
|
|
||||||
"application/x-extension-html" = [ "firefox.desktop" ];
|
|
||||||
"application/x-extension-shtml" = [ "firefox.desktop" ];
|
|
||||||
"application/x-extension-xht" = [ "firefox.desktop" ];
|
|
||||||
"application/x-extension-xhtml" = [ "firefox.desktop" ];
|
|
||||||
"application/xhtml+xml" = [ "firefox.desktop" ];
|
|
||||||
"audio/flac" = [ "mpv.desktop" ];
|
|
||||||
"audio/mp3" = [ "mpv.desktop" ];
|
|
||||||
"audio/ogg" = [ "mpv.desktop" ];
|
|
||||||
"audio/wav" = [ "mpv.desktop" ];
|
|
||||||
"image/gif" = [ "imv.desktop" ];
|
|
||||||
"image/jpeg" = [ "imv.desktop" ];
|
|
||||||
"image/png" = [ "imv.desktop" ];
|
|
||||||
"image/svg" = [ "imv.desktop" ];
|
|
||||||
"image/vnd.adobe.photoshop" = [ "gimp.desktop" ];
|
|
||||||
"image/vnd.dxf" = [ "org.inkscape.Inkscape.desktop" ];
|
|
||||||
"image/webp" = [ "firefox.desktop" ];
|
|
||||||
"text/csv" = [ "emacsclient.desktop" ];
|
|
||||||
"text/html" = [ "firefox.desktop" ];
|
|
||||||
"text/plain" = [ "emacsclient.desktop" ];
|
|
||||||
"video/3gp" = [ "umpv.desktop" ];
|
|
||||||
"video/flv" = [ "umpv.desktop" ];
|
|
||||||
"video/mkv" = [ "umpv.desktop" ];
|
|
||||||
"video/mp4" = [ "umpv.desktop" ];
|
|
||||||
"x-scheme-handler/chrome" = [ "firefox.desktop" ];
|
|
||||||
"x-scheme-handler/http" = [ "firefox.desktop" ];
|
|
||||||
"x-scheme-handler/https" = [ "firefox.desktop" ];
|
|
||||||
};
|
|
||||||
associations = {
|
|
||||||
added = {
|
|
||||||
"application/x-zerosize" = [ "emacsclient.desktop" ];
|
|
||||||
"application/epub+zip" = [ "calibre-ebook-viewer.desktop" ];
|
"application/epub+zip" = [ "calibre-ebook-viewer.desktop" ];
|
||||||
|
"application/metalink+xml" = [ "emacsclient.desktop" ];
|
||||||
|
"application/msword" = [ "writer.desktop" ];
|
||||||
|
"application/pdf" = [ "org.gnome.Evince.desktop" ];
|
||||||
|
"application/sql" = [ "emacsclient.desktop" ];
|
||||||
|
"application/vnd.ms-excel" = [ "calc.desktop" ];
|
||||||
|
"application/vnd.ms-powerpoint" = [ "impress.desktop" ];
|
||||||
|
"application/x-extension-htm" = [ "firefox.desktop" ];
|
||||||
|
"application/x-extension-html" = [ "firefox.desktop" ];
|
||||||
|
"application/x-extension-shtml" = [ "firefox.desktop" ];
|
||||||
|
"application/x-extension-xht" = [ "firefox.desktop" ];
|
||||||
|
"application/x-extension-xhtml" = [ "firefox.desktop" ];
|
||||||
|
"application/xhtml+xml" = [ "firefox.desktop" ];
|
||||||
|
"audio/flac" = [ "mpv.desktop" ];
|
||||||
|
"audio/mp3" = [ "mpv.desktop" ];
|
||||||
|
"audio/ogg" = [ "mpv.desktop" ];
|
||||||
|
"audio/wav" = [ "mpv.desktop" ];
|
||||||
|
"image/gif" = [ "imv.desktop" ];
|
||||||
|
"image/jpeg" = [ "imv.desktop" ];
|
||||||
|
"image/png" = [ "imv.desktop" ];
|
||||||
|
"image/svg" = [ "imv.desktop" ];
|
||||||
|
"image/vnd.adobe.photoshop" = [ "gimp.desktop" ];
|
||||||
|
"image/vnd.dxf" = [ "org.inkscape.Inkscape.desktop" ];
|
||||||
|
"image/webp" = [ "firefox.desktop" ];
|
||||||
|
"text/csv" = [ "emacsclient.desktop" ];
|
||||||
|
"text/html" = [ "firefox.desktop" ];
|
||||||
|
"text/plain" = [ "emacsclient.desktop" ];
|
||||||
|
"video/3gp" = [ "umpv.desktop" ];
|
||||||
|
"video/flv" = [ "umpv.desktop" ];
|
||||||
|
"video/mkv" = [ "umpv.desktop" ];
|
||||||
|
"video/mp4" = [ "umpv.desktop" ];
|
||||||
|
"x-scheme-handler/chrome" = [ "firefox.desktop" ];
|
||||||
|
"x-scheme-handler/http" = [ "firefox.desktop" ];
|
||||||
|
"x-scheme-handler/https" = [ "firefox.desktop" ];
|
||||||
|
};
|
||||||
|
associations = {
|
||||||
|
added = {
|
||||||
|
"application/x-zerosize" = [ "emacsclient.desktop" ];
|
||||||
|
"application/epub+zip" = [ "calibre-ebook-viewer.desktop" ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
@ -14529,14 +14533,19 @@ This service changes the screen hue at night. I am not sure if that really does
|
||||||
let
|
let
|
||||||
moduleName = "obsidian";
|
moduleName = "obsidian";
|
||||||
inherit (nixosConfig.repo.secrets.common.obsidian) userIgnoreFilters;
|
inherit (nixosConfig.repo.secrets.common.obsidian) userIgnoreFilters;
|
||||||
|
name = "Main";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} with settings";
|
options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} with settings";
|
||||||
config = lib.mkIf config.swarselmodules.${moduleName} {
|
config = lib.mkIf config.swarselmodules.${moduleName} {
|
||||||
|
|
||||||
|
home.file = {
|
||||||
|
"${config.programs.obsidian.vaults.${name}.target}/.obsidian/app.json".force = true;
|
||||||
|
"${config.programs.obsidian.vaults.${name}.target}/.obsidian/appearance.json".force = true;
|
||||||
|
"${config.programs.obsidian.vaults.${name}.target}/.obsidian/core-plugins.json".force = true;
|
||||||
|
};
|
||||||
|
|
||||||
programs.obsidian =
|
programs.obsidian =
|
||||||
let
|
|
||||||
name = "Main";
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.obsidian;
|
package = pkgs.obsidian;
|
||||||
|
|
|
||||||
|
|
@ -55,48 +55,51 @@
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
xdg.mimeApps = {
|
xdg = {
|
||||||
enable = true;
|
configFile."mimeapps.list".force = true;
|
||||||
defaultApplications = {
|
mimeApps = {
|
||||||
"application/epub+zip" = [ "calibre-ebook-viewer.desktop" ];
|
enable = true;
|
||||||
"application/metalink+xml" = [ "emacsclient.desktop" ];
|
defaultApplications = {
|
||||||
"application/msword" = [ "writer.desktop" ];
|
|
||||||
"application/pdf" = [ "org.gnome.Evince.desktop" ];
|
|
||||||
"application/sql" = [ "emacsclient.desktop" ];
|
|
||||||
"application/vnd.ms-excel" = [ "calc.desktop" ];
|
|
||||||
"application/vnd.ms-powerpoint" = [ "impress.desktop" ];
|
|
||||||
"application/x-extension-htm" = [ "firefox.desktop" ];
|
|
||||||
"application/x-extension-html" = [ "firefox.desktop" ];
|
|
||||||
"application/x-extension-shtml" = [ "firefox.desktop" ];
|
|
||||||
"application/x-extension-xht" = [ "firefox.desktop" ];
|
|
||||||
"application/x-extension-xhtml" = [ "firefox.desktop" ];
|
|
||||||
"application/xhtml+xml" = [ "firefox.desktop" ];
|
|
||||||
"audio/flac" = [ "mpv.desktop" ];
|
|
||||||
"audio/mp3" = [ "mpv.desktop" ];
|
|
||||||
"audio/ogg" = [ "mpv.desktop" ];
|
|
||||||
"audio/wav" = [ "mpv.desktop" ];
|
|
||||||
"image/gif" = [ "imv.desktop" ];
|
|
||||||
"image/jpeg" = [ "imv.desktop" ];
|
|
||||||
"image/png" = [ "imv.desktop" ];
|
|
||||||
"image/svg" = [ "imv.desktop" ];
|
|
||||||
"image/vnd.adobe.photoshop" = [ "gimp.desktop" ];
|
|
||||||
"image/vnd.dxf" = [ "org.inkscape.Inkscape.desktop" ];
|
|
||||||
"image/webp" = [ "firefox.desktop" ];
|
|
||||||
"text/csv" = [ "emacsclient.desktop" ];
|
|
||||||
"text/html" = [ "firefox.desktop" ];
|
|
||||||
"text/plain" = [ "emacsclient.desktop" ];
|
|
||||||
"video/3gp" = [ "umpv.desktop" ];
|
|
||||||
"video/flv" = [ "umpv.desktop" ];
|
|
||||||
"video/mkv" = [ "umpv.desktop" ];
|
|
||||||
"video/mp4" = [ "umpv.desktop" ];
|
|
||||||
"x-scheme-handler/chrome" = [ "firefox.desktop" ];
|
|
||||||
"x-scheme-handler/http" = [ "firefox.desktop" ];
|
|
||||||
"x-scheme-handler/https" = [ "firefox.desktop" ];
|
|
||||||
};
|
|
||||||
associations = {
|
|
||||||
added = {
|
|
||||||
"application/x-zerosize" = [ "emacsclient.desktop" ];
|
|
||||||
"application/epub+zip" = [ "calibre-ebook-viewer.desktop" ];
|
"application/epub+zip" = [ "calibre-ebook-viewer.desktop" ];
|
||||||
|
"application/metalink+xml" = [ "emacsclient.desktop" ];
|
||||||
|
"application/msword" = [ "writer.desktop" ];
|
||||||
|
"application/pdf" = [ "org.gnome.Evince.desktop" ];
|
||||||
|
"application/sql" = [ "emacsclient.desktop" ];
|
||||||
|
"application/vnd.ms-excel" = [ "calc.desktop" ];
|
||||||
|
"application/vnd.ms-powerpoint" = [ "impress.desktop" ];
|
||||||
|
"application/x-extension-htm" = [ "firefox.desktop" ];
|
||||||
|
"application/x-extension-html" = [ "firefox.desktop" ];
|
||||||
|
"application/x-extension-shtml" = [ "firefox.desktop" ];
|
||||||
|
"application/x-extension-xht" = [ "firefox.desktop" ];
|
||||||
|
"application/x-extension-xhtml" = [ "firefox.desktop" ];
|
||||||
|
"application/xhtml+xml" = [ "firefox.desktop" ];
|
||||||
|
"audio/flac" = [ "mpv.desktop" ];
|
||||||
|
"audio/mp3" = [ "mpv.desktop" ];
|
||||||
|
"audio/ogg" = [ "mpv.desktop" ];
|
||||||
|
"audio/wav" = [ "mpv.desktop" ];
|
||||||
|
"image/gif" = [ "imv.desktop" ];
|
||||||
|
"image/jpeg" = [ "imv.desktop" ];
|
||||||
|
"image/png" = [ "imv.desktop" ];
|
||||||
|
"image/svg" = [ "imv.desktop" ];
|
||||||
|
"image/vnd.adobe.photoshop" = [ "gimp.desktop" ];
|
||||||
|
"image/vnd.dxf" = [ "org.inkscape.Inkscape.desktop" ];
|
||||||
|
"image/webp" = [ "firefox.desktop" ];
|
||||||
|
"text/csv" = [ "emacsclient.desktop" ];
|
||||||
|
"text/html" = [ "firefox.desktop" ];
|
||||||
|
"text/plain" = [ "emacsclient.desktop" ];
|
||||||
|
"video/3gp" = [ "umpv.desktop" ];
|
||||||
|
"video/flv" = [ "umpv.desktop" ];
|
||||||
|
"video/mkv" = [ "umpv.desktop" ];
|
||||||
|
"video/mp4" = [ "umpv.desktop" ];
|
||||||
|
"x-scheme-handler/chrome" = [ "firefox.desktop" ];
|
||||||
|
"x-scheme-handler/http" = [ "firefox.desktop" ];
|
||||||
|
"x-scheme-handler/https" = [ "firefox.desktop" ];
|
||||||
|
};
|
||||||
|
associations = {
|
||||||
|
added = {
|
||||||
|
"application/x-zerosize" = [ "emacsclient.desktop" ];
|
||||||
|
"application/epub+zip" = [ "calibre-ebook-viewer.desktop" ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -2,14 +2,19 @@
|
||||||
let
|
let
|
||||||
moduleName = "obsidian";
|
moduleName = "obsidian";
|
||||||
inherit (nixosConfig.repo.secrets.common.obsidian) userIgnoreFilters;
|
inherit (nixosConfig.repo.secrets.common.obsidian) userIgnoreFilters;
|
||||||
|
name = "Main";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} with settings";
|
options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} with settings";
|
||||||
config = lib.mkIf config.swarselmodules.${moduleName} {
|
config = lib.mkIf config.swarselmodules.${moduleName} {
|
||||||
|
|
||||||
|
home.file = {
|
||||||
|
"${config.programs.obsidian.vaults.${name}.target}/.obsidian/app.json".force = true;
|
||||||
|
"${config.programs.obsidian.vaults.${name}.target}/.obsidian/appearance.json".force = true;
|
||||||
|
"${config.programs.obsidian.vaults.${name}.target}/.obsidian/core-plugins.json".force = true;
|
||||||
|
};
|
||||||
|
|
||||||
programs.obsidian =
|
programs.obsidian =
|
||||||
let
|
|
||||||
name = "Main";
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.obsidian;
|
package = pkgs.obsidian;
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
verbose = true;
|
verbose = true;
|
||||||
|
backupFileExtension = "hm-bak";
|
||||||
users.${config.swarselsystems.mainUser}.imports = [
|
users.${config.swarselsystems.mainUser}.imports = [
|
||||||
inputs.nix-index-database.homeModules.nix-index
|
inputs.nix-index-database.homeModules.nix-index
|
||||||
inputs.sops-nix.homeManagerModules.sops
|
inputs.sops-nix.homeManagerModules.sops
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue