add files

This commit is contained in:
Asaki Yuki 2026-04-13 18:40:55 +07:00
parent 919f3ba969
commit d3ff717341
6 changed files with 122 additions and 58 deletions

View file

@ -81,6 +81,35 @@ in
bluetooth.enable = true;
flatpak.enable = true;
files = {
force = {
".config/dolphinrc" = true;
};
mkForce = {
".mozilla/firefox/default/search.json.mozlz4" = true;
};
source = {
".config/qt5ct/colors/Catppuccin-Mocha.conf" =
"${pkgs.catppuccin-qt5ct}/share/qt5ct/colors/catppuccin-mocha-sapphire.conf";
".config/qt6ct/colors/Catppuccin-Mocha.conf" =
"${pkgs.catppuccin-qt5ct}/share/qt6ct/colors/catppuccin-mocha-sapphire.conf";
".config/dolphinrc" = libs.root "/configs/dolphinrc";
".local/share/kio/servicemenus/copy-server-public-url.desktop" =
libs.root "/configs/services-menu/copy-server-public-url.desktop";
".local/share/kio/servicemenus/open-with-code.desktop" =
libs.root "/configs/services-menu/open-with-code.desktop";
".local/share/kio/servicemenus/open-with-nvim.desktop" =
libs.root "/configs/services-menu/open-with-nvim.desktop";
".local/share/kio/servicemenus/open-with-antigravity.desktop" =
libs.root "/configs/services-menu/open-with-antigravity.desktop";
".local/share/kio/servicemenus/open-ghostty-here.desktop" =
libs.root "/configs/services-menu/open-ghostty-here.desktop";
};
symlink = {
"SteamApps" = ".local/share/Steam/steamapps";
"Development/Quickshell" = ".config/quickshell";
@ -88,6 +117,7 @@ in
# "Development/SplashScreen" = ".local/share/plasma/look-and-feel";
# "Development/DesktopEffects" = ".local/share/kwin/effects";
};
};
programs = {
terminal = "ghostty";

View file

@ -1,26 +1,42 @@
{ pkgs, lib, osconfig, config, ... }:
{
home.file = {
".config/qt5ct/colors/Catppuccin-Mocha.conf".source = "${pkgs.catppuccin-qt5ct}/share/qt5ct/colors/catppuccin-mocha-sapphire.conf";
".config/qt6ct/colors/Catppuccin-Mocha.conf".source = "${pkgs.catppuccin-qt5ct}/share/qt6ct/colors/catppuccin-mocha-sapphire.conf";
pkgs,
lib,
osconfig,
config,
...
}:
{
home.file = lib.mkMerge [
(builtins.mapAttrs (_: path: {
source = path;
}) osconfig.device.files.source)
".local/share/kio/servicemenus/copy-server-public-url.desktop".source = ../../../configs/services-menu/copy-server-public-url.desktop;
(builtins.mapAttrs (_: path: {
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/${path}";
}) osconfig.device.files.symlink)
".local/share/kio/servicemenus/open-with-code.desktop".source = ../../../configs/services-menu/open-with-code.desktop;
".local/share/kio/servicemenus/open-with-nvim.desktop".source = ../../../configs/services-menu/open-with-nvim.desktop;
".local/share/kio/servicemenus/open-with-antigravity.desktop".source = ../../../configs/services-menu/open-with-antigravity.desktop;
".local/share/kio/servicemenus/open-ghostty-here.desktop".source = ../../../configs/services-menu/open-ghostty-here.desktop;
(lib.mkMerge (
builtins.map (name: lib.setAttrByPath [ name "force" ] true) (
builtins.attrNames osconfig.device.files.force
)
))
".mozilla/firefox/default/search.json.mozlz4".force = lib.mkForce true;
".config/dolphinrc" = {
force = true;
source = ../../../configs/dolphinrc;
};
} // builtins.mapAttrs (key: path: { source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/${path}"; }) osconfig.device.symlink;
(lib.mkMerge (
builtins.map (name: lib.setAttrByPath [ name "force" ] (lib.mkForce true)) (
builtins.attrNames osconfig.device.files.mkForce
)
))
];
xdg.configFile = {
kdeglobals.text = builtins.readFile ((pkgs.catppuccin-kde.override { flavour = ["mocha"]; accents = ["sapphire"]; }) + "/share/color-schemes/CatppuccinMochaSapphire.colors") +
''
xdg.configFile.kdeglobals.text =
builtins.readFile (
(pkgs.catppuccin-kde.override {
flavour = [ "mocha" ];
accents = [ "sapphire" ];
})
+ "/share/color-schemes/CatppuccinMochaSapphire.colors"
)
+ ''
[UiSettings]
ColorScheme=qt6ct
@ -31,5 +47,4 @@
[Icons]
Theme=Papirus
'';
};
}

View file

@ -1,6 +1,9 @@
{ lib, ... }:
{
imports = [ ./programs.nix ];
imports = [
./programs.nix
./file.nix
];
options.device = {
flatpak.enable = lib.mkEnableOption "flatpak";

24
options/common/file.nix Normal file
View file

@ -0,0 +1,24 @@
{ lib, ... }:
{
options.device.files = {
symlink = lib.mkOption {
default = { };
type = lib.types.attrsOf lib.types.str;
};
source = lib.mkOption {
default = { };
type = lib.types.attrsOf lib.types.path;
};
force = lib.mkOption {
default = { };
type = lib.types.attrsOf lib.types.bool;
};
mkForce = lib.mkOption {
default = { };
type = lib.types.attrsOf lib.types.bool;
};
};
}

View file

@ -1,11 +1,11 @@
{ lib, ... }: {
{ lib, ... }:
{
imports = [
../common/default.nix
./environment.nix
./programs.nix
./hardware.nix
./file.nix
];
options.device = {

View file

@ -1,8 +0,0 @@
{ lib, ... }: {
options.device = {
symlink = lib.mkOption {
default = {};
type = lib.types.attrsOf lib.types.str;
};
};
}