refactor default apps and add walker
This commit is contained in:
@@ -1,48 +1,69 @@
|
|||||||
{ ... }:
|
{ config, ... }:
|
||||||
let
|
let
|
||||||
mkPrimaryDesktopApplication =
|
homeModules = config.flake.modules.homeManager;
|
||||||
{
|
vivaldiPackage = pkgs: pkgs.vivaldi;
|
||||||
name,
|
nautilusPackage = pkgs: pkgs.nautilus;
|
||||||
package,
|
|
||||||
desktopEntryName,
|
|
||||||
}:
|
|
||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
meta.desktop.${name} = {
|
|
||||||
inherit desktopEntryName;
|
|
||||||
package = package pkgs;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
flake.modules.homeManager.primary-browser-vivaldi = mkPrimaryDesktopApplication {
|
flake.modules.homeManager.browser-vivaldi =
|
||||||
name = "browser";
|
{ pkgs, ... }:
|
||||||
package = pkgs: pkgs.vivaldi;
|
|
||||||
desktopEntryName = "vivaldi-stable";
|
|
||||||
};
|
|
||||||
|
|
||||||
flake.modules.homeManager.primary-file-manager-nautilus = mkPrimaryDesktopApplication {
|
|
||||||
name = "fileManager";
|
|
||||||
package = pkgs: pkgs.nautilus;
|
|
||||||
desktopEntryName = "org.gnome.Nautilus";
|
|
||||||
};
|
|
||||||
|
|
||||||
flake.modules.homeManager.desktop-defaults =
|
|
||||||
{ config, pkgs, ... }:
|
|
||||||
let
|
|
||||||
browser = config.meta.desktop.browser;
|
|
||||||
fileManager = config.meta.desktop.fileManager;
|
|
||||||
homeDir = config.home.homeDirectory;
|
|
||||||
localDir = "${homeDir}/.local";
|
|
||||||
mediaDir = "${homeDir}/media";
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
home.preferXdgDirectories = true;
|
home.packages = [ (vivaldiPackage pkgs) ];
|
||||||
home.sessionVariables.BROWSER = browser.command;
|
};
|
||||||
|
|
||||||
home.packages =
|
flake.modules.homeManager.primary-browser-vivaldi =
|
||||||
with pkgs;
|
{ lib, pkgs, ... }:
|
||||||
[
|
{
|
||||||
|
imports = [ homeModules.browser-vivaldi ];
|
||||||
|
|
||||||
|
meta.desktop.browserCommand = lib.getExe (vivaldiPackage pkgs);
|
||||||
|
home.sessionVariables.BROWSER = lib.getExe (vivaldiPackage pkgs);
|
||||||
|
xdg.mimeApps.defaultApplicationPackages = [ (vivaldiPackage pkgs) ];
|
||||||
|
};
|
||||||
|
|
||||||
|
flake.modules.homeManager.file-manager-nautilus =
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
home.packages = [ (nautilusPackage pkgs) ];
|
||||||
|
};
|
||||||
|
|
||||||
|
flake.modules.homeManager.primary-file-manager-nautilus =
|
||||||
|
{ lib, pkgs, ... }:
|
||||||
|
{
|
||||||
|
imports = [ homeModules.file-manager-nautilus ];
|
||||||
|
|
||||||
|
meta.desktop.fileManagerCommand = lib.getExe (nautilusPackage pkgs);
|
||||||
|
xdg.mimeApps.defaultApplicationPackages = [ (nautilusPackage pkgs) ];
|
||||||
|
};
|
||||||
|
|
||||||
|
flake.modules.homeManager.image-viewer-imv = {
|
||||||
|
programs.imv.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
flake.modules.homeManager.default-image-viewer-imv =
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
imports = [ homeModules.image-viewer-imv ];
|
||||||
|
|
||||||
|
xdg.mimeApps.defaultApplicationPackages = [ pkgs.imv ];
|
||||||
|
};
|
||||||
|
|
||||||
|
flake.modules.homeManager.document-viewer-sioyek = {
|
||||||
|
programs.sioyek.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
flake.modules.homeManager.default-document-viewer-sioyek =
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
imports = [ homeModules.document-viewer-sioyek ];
|
||||||
|
|
||||||
|
xdg.mimeApps.defaultApplicationPackages = [ pkgs.sioyek ];
|
||||||
|
};
|
||||||
|
|
||||||
|
flake.modules.homeManager.workstation-apps =
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
postman
|
postman
|
||||||
spotify
|
spotify
|
||||||
calcure
|
calcure
|
||||||
@@ -50,14 +71,18 @@ in
|
|||||||
unzip
|
unzip
|
||||||
gimp
|
gimp
|
||||||
dbeaver-bin
|
dbeaver-bin
|
||||||
]
|
|
||||||
++ [
|
|
||||||
browser.package
|
|
||||||
fileManager.package
|
|
||||||
];
|
];
|
||||||
|
};
|
||||||
|
|
||||||
programs.imv.enable = true;
|
flake.modules.homeManager.xdg =
|
||||||
programs.sioyek.enable = true;
|
{ config, ... }:
|
||||||
|
let
|
||||||
|
homeDir = config.home.homeDirectory;
|
||||||
|
localDir = "${homeDir}/.local";
|
||||||
|
mediaDir = "${homeDir}/media";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
home.preferXdgDirectories = true;
|
||||||
|
|
||||||
xdg = {
|
xdg = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -85,17 +110,6 @@ in
|
|||||||
|
|
||||||
mimeApps = {
|
mimeApps = {
|
||||||
enable = true;
|
enable = true;
|
||||||
defaultApplicationPackages =
|
|
||||||
with pkgs;
|
|
||||||
[
|
|
||||||
sioyek
|
|
||||||
imv
|
|
||||||
neovim
|
|
||||||
]
|
|
||||||
++ [
|
|
||||||
fileManager.package
|
|
||||||
browser.package
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -4,6 +4,12 @@ let
|
|||||||
repoTheme = config.repo.theme.kanagawa;
|
repoTheme = config.repo.theme.kanagawa;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
flake.modules.homeManager.default-editor-neovim =
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
xdg.mimeApps.defaultApplicationPackages = [ pkgs.neovim ];
|
||||||
|
};
|
||||||
|
|
||||||
flake.modules.homeManager.neovim =
|
flake.modules.homeManager.neovim =
|
||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
browserCommand,
|
browserCommand,
|
||||||
launcherCommands,
|
launcherCommand,
|
||||||
shortcutCommands,
|
shortcutCommands,
|
||||||
terminalCommand,
|
terminalCommand,
|
||||||
}:
|
}:
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
};
|
};
|
||||||
"Mod+Space" = {
|
"Mod+Space" = {
|
||||||
repeat = false;
|
repeat = false;
|
||||||
action.spawn = launcherCommands.open;
|
action.spawn = launcherCommand;
|
||||||
hotkey-overlay.title = "App Launcher";
|
hotkey-overlay.title = "App Launcher";
|
||||||
};
|
};
|
||||||
"Mod+E" = {
|
"Mod+E" = {
|
||||||
@@ -39,16 +39,6 @@
|
|||||||
action.spawn = shortcutCommands.editSecrets;
|
action.spawn = shortcutCommands.editSecrets;
|
||||||
hotkey-overlay.title = "Edit Secrets";
|
hotkey-overlay.title = "Edit Secrets";
|
||||||
};
|
};
|
||||||
"Mod+Ctrl+F" = {
|
|
||||||
repeat = false;
|
|
||||||
action.spawn = launcherCommands.files;
|
|
||||||
hotkey-overlay.title = "Find Files";
|
|
||||||
};
|
|
||||||
"Mod+V" = {
|
|
||||||
repeat = false;
|
|
||||||
action.spawn = shortcutCommands.clipboardHistory;
|
|
||||||
hotkey-overlay.title = "Clipboard History";
|
|
||||||
};
|
|
||||||
"Mod+Ctrl+C" = {
|
"Mod+Ctrl+C" = {
|
||||||
repeat = false;
|
repeat = false;
|
||||||
action.spawn = shortcutCommands.pickColor;
|
action.spawn = shortcutCommands.pickColor;
|
||||||
|
|||||||
@@ -6,72 +6,40 @@
|
|||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
nixosConfigDir = repo.account.nixosConfigurationPath;
|
nixosConfigDir = repo.account.nixosConfigurationPath;
|
||||||
launcherDmenuCommand =
|
|
||||||
lib.concatMapStringsSep " " lib.escapeShellArg
|
|
||||||
config.meta.desktop.launcher.commands.dmenu;
|
|
||||||
mkTerminalScript =
|
mkTerminalScript =
|
||||||
{
|
{
|
||||||
name,
|
name,
|
||||||
title,
|
|
||||||
appId ? "niri-shortcut-terminal",
|
|
||||||
workdir ? nixosConfigDir,
|
workdir ? nixosConfigDir,
|
||||||
command ? null,
|
command ? null,
|
||||||
runtimeInputs ? [ ],
|
runtimeInputs ? [ ],
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
args =
|
args = lib.optionals (command != null) [
|
||||||
(
|
|
||||||
if config.meta.desktop.terminal.desktopEntryName == "kitty" then
|
|
||||||
[
|
|
||||||
"--class"
|
|
||||||
appId
|
|
||||||
"--title"
|
|
||||||
title
|
|
||||||
"--directory"
|
|
||||||
workdir
|
|
||||||
]
|
|
||||||
else if config.meta.desktop.terminal.desktopEntryName == "foot" then
|
|
||||||
[
|
|
||||||
"--app-id"
|
|
||||||
appId
|
|
||||||
"--title"
|
|
||||||
title
|
|
||||||
"--working-directory"
|
|
||||||
workdir
|
|
||||||
]
|
|
||||||
else
|
|
||||||
[ ]
|
|
||||||
)
|
|
||||||
++ lib.optionals (command != null) [
|
|
||||||
"--"
|
"--"
|
||||||
"${pkgs.bash}/bin/bash"
|
"${pkgs.bash}/bin/bash"
|
||||||
"-lc"
|
"-lc"
|
||||||
command
|
command
|
||||||
];
|
];
|
||||||
|
argString = lib.concatMapStringsSep " " lib.escapeShellArg args;
|
||||||
in
|
in
|
||||||
pkgs.writeShellApplication {
|
pkgs.writeShellApplication {
|
||||||
inherit name runtimeInputs;
|
inherit name runtimeInputs;
|
||||||
checkPhase = "";
|
checkPhase = "";
|
||||||
text = ''
|
text = lib.concatStringsSep "\n" [
|
||||||
# shellcheck disable=SC2016
|
"# shellcheck disable=SC2016"
|
||||||
cd ${lib.escapeShellArg workdir}
|
"cd ${lib.escapeShellArg workdir}"
|
||||||
exec ${lib.escapeShellArg config.meta.desktop.terminal.command} ${
|
"exec ${lib.escapeShellArg config.meta.desktop.terminalCommand} ${argString}"
|
||||||
lib.concatMapStringsSep " " lib.escapeShellArg args
|
];
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
rec {
|
rec {
|
||||||
scripts = {
|
scripts = {
|
||||||
nixosTerminal = mkTerminalScript {
|
nixosTerminal = mkTerminalScript {
|
||||||
name = "niri-shortcut-nixos-terminal";
|
name = "niri-shortcut-nixos-terminal";
|
||||||
title = "NixOS Config";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
nixosSwitch = mkTerminalScript {
|
nixosSwitch = mkTerminalScript {
|
||||||
name = "niri-shortcut-nixos-switch";
|
name = "niri-shortcut-nixos-switch";
|
||||||
title = "NixOS Switch";
|
|
||||||
appId = "niri-shortcut-float";
|
|
||||||
runtimeInputs = [
|
runtimeInputs = [
|
||||||
pkgs.coreutils
|
pkgs.coreutils
|
||||||
pkgs.nh
|
pkgs.nh
|
||||||
@@ -109,8 +77,6 @@ rec {
|
|||||||
|
|
||||||
editSecrets = mkTerminalScript {
|
editSecrets = mkTerminalScript {
|
||||||
name = "niri-shortcut-edit-secrets";
|
name = "niri-shortcut-edit-secrets";
|
||||||
title = "Edit Secrets";
|
|
||||||
appId = "niri-shortcut-float";
|
|
||||||
runtimeInputs = [ pkgs.sops ];
|
runtimeInputs = [ pkgs.sops ];
|
||||||
command = ''
|
command = ''
|
||||||
sops edit ${lib.escapeShellArg "${nixosConfigDir}/modules/secrets/secrets.yaml"}
|
sops edit ${lib.escapeShellArg "${nixosConfigDir}/modules/secrets/secrets.yaml"}
|
||||||
@@ -119,29 +85,11 @@ rec {
|
|||||||
|
|
||||||
neovimProjects = mkTerminalScript {
|
neovimProjects = mkTerminalScript {
|
||||||
name = "niri-shortcut-neovim-projects";
|
name = "niri-shortcut-neovim-projects";
|
||||||
title = "Neovim Projects";
|
|
||||||
command = ''
|
command = ''
|
||||||
nvim -c 'Telescope projects'
|
nvim -c 'Telescope projects'
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
clipboardHistory = pkgs.writeShellApplication {
|
|
||||||
name = "niri-shortcut-clipboard-history";
|
|
||||||
runtimeInputs = [
|
|
||||||
pkgs.cliphist
|
|
||||||
config.meta.desktop.launcher.package
|
|
||||||
pkgs.wl-clipboard
|
|
||||||
];
|
|
||||||
text = ''
|
|
||||||
selection="$(cliphist list | ${launcherDmenuCommand})"
|
|
||||||
if [ -z "$selection" ]; then
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
printf '%s' "$selection" | cliphist decode | wl-copy
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
pickColor = pkgs.writeShellApplication {
|
pickColor = pkgs.writeShellApplication {
|
||||||
name = "niri-shortcut-pick-color";
|
name = "niri-shortcut-pick-color";
|
||||||
runtimeInputs = [
|
runtimeInputs = [
|
||||||
|
|||||||
@@ -59,9 +59,6 @@ in
|
|||||||
brightnessctl
|
brightnessctl
|
||||||
xwayland-satellite
|
xwayland-satellite
|
||||||
]
|
]
|
||||||
++ [
|
|
||||||
config.meta.desktop.fileManager.package
|
|
||||||
]
|
|
||||||
++ lib.attrValues shortcuts.scripts;
|
++ lib.attrValues shortcuts.scripts;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -139,13 +136,6 @@ in
|
|||||||
};
|
};
|
||||||
clip-to-geometry = true;
|
clip-to-geometry = true;
|
||||||
}
|
}
|
||||||
{
|
|
||||||
matches = [
|
|
||||||
{ app-id = "^niri-shortcut-float$"; }
|
|
||||||
];
|
|
||||||
open-floating = true;
|
|
||||||
open-focused = true;
|
|
||||||
}
|
|
||||||
];
|
];
|
||||||
|
|
||||||
debug.honor-xdg-activation-with-invalid-serial = true;
|
debug.honor-xdg-activation-with-invalid-serial = true;
|
||||||
@@ -163,9 +153,9 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
binds = import ./_bindings.nix {
|
binds = import ./_bindings.nix {
|
||||||
browserCommand = config.meta.desktop.browser.command;
|
browserCommand = config.meta.desktop.browserCommand;
|
||||||
launcherCommands = config.meta.desktop.launcher.commands;
|
launcherCommand = config.meta.desktop.launcherCommand;
|
||||||
terminalCommand = config.meta.desktop.terminal.command;
|
terminalCommand = config.meta.desktop.terminalCommand;
|
||||||
shortcutCommands = shortcuts.commands;
|
shortcutCommands = shortcuts.commands;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -19,30 +19,6 @@ let
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
mkTerminal =
|
|
||||||
{
|
|
||||||
desktopEntryName,
|
|
||||||
packageFor,
|
|
||||||
terminalModule,
|
|
||||||
}:
|
|
||||||
{ config, pkgs, ... }:
|
|
||||||
let
|
|
||||||
package = packageFor pkgs;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
imports = [ terminalModule ];
|
|
||||||
|
|
||||||
config = {
|
|
||||||
meta.desktop.terminal = {
|
|
||||||
inherit desktopEntryName package;
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg.terminal-exec = {
|
|
||||||
enable = true;
|
|
||||||
settings.default = [ config.meta.desktop.terminal.desktopId ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
flake.modules.homeManager.terminal-foot =
|
flake.modules.homeManager.terminal-foot =
|
||||||
@@ -194,15 +170,29 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
flake.modules.homeManager.primary-terminal-foot = mkTerminal {
|
flake.modules.homeManager.primary-terminal-foot =
|
||||||
desktopEntryName = "foot";
|
{ lib, pkgs, ... }:
|
||||||
packageFor = pkgs: pkgs.foot;
|
{
|
||||||
terminalModule = config.flake.modules.homeManager.terminal-foot;
|
imports = [ config.flake.modules.homeManager.terminal-foot ];
|
||||||
|
|
||||||
|
meta.desktop.terminalCommand = lib.getExe pkgs.foot;
|
||||||
|
|
||||||
|
xdg.terminal-exec = {
|
||||||
|
enable = true;
|
||||||
|
settings.default = [ "foot.desktop" ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
flake.modules.homeManager.primary-terminal-kitty = mkTerminal {
|
flake.modules.homeManager.primary-terminal-kitty =
|
||||||
desktopEntryName = "kitty";
|
{ lib, pkgs, ... }:
|
||||||
packageFor = pkgs: kittySingleInstance pkgs;
|
{
|
||||||
terminalModule = config.flake.modules.homeManager.terminal-kitty;
|
imports = [ config.flake.modules.homeManager.terminal-kitty ];
|
||||||
|
|
||||||
|
meta.desktop.terminalCommand = lib.getExe (kittySingleInstance pkgs);
|
||||||
|
|
||||||
|
xdg.terminal-exec = {
|
||||||
|
enable = true;
|
||||||
|
settings.default = [ "kitty.desktop" ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ in
|
|||||||
let
|
let
|
||||||
repoTheme = repo.theme.kanagawa;
|
repoTheme = repo.theme.kanagawa;
|
||||||
palette = repoTheme.palette;
|
palette = repoTheme.palette;
|
||||||
launcherCommand = lib.getExe config.programs.vicinae.package;
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
programs.vicinae = {
|
programs.vicinae = {
|
||||||
@@ -74,28 +73,6 @@ in
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
meta.desktop.launcher = {
|
meta.desktop.launcherCommand = lib.getExe config.programs.vicinae.package;
|
||||||
package = config.programs.vicinae.package;
|
|
||||||
commands = {
|
|
||||||
open = [
|
|
||||||
launcherCommand
|
|
||||||
"toggle"
|
|
||||||
];
|
|
||||||
files = [
|
|
||||||
launcherCommand
|
|
||||||
"deeplink"
|
|
||||||
"vicinae://extensions/sameoldlab/fuzzy-files/find"
|
|
||||||
];
|
|
||||||
dmenu = [
|
|
||||||
launcherCommand
|
|
||||||
"dmenu"
|
|
||||||
"--navigation-title"
|
|
||||||
"Clipboard"
|
|
||||||
"--placeholder"
|
|
||||||
"Search clipboard"
|
|
||||||
"--no-metadata"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,40 +1,40 @@
|
|||||||
{ inputs, ... }:
|
{ config, inputs, ... }:
|
||||||
|
let
|
||||||
|
homeModules = config.flake.modules.homeManager;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
|
flake.modules.nixos.walker-cache = {
|
||||||
|
nix.settings = {
|
||||||
|
extra-substituters = [
|
||||||
|
"https://walker.cachix.org"
|
||||||
|
"https://walker-git.cachix.org"
|
||||||
|
];
|
||||||
|
extra-trusted-public-keys = [
|
||||||
|
"walker.cachix.org-1:fG8q+uAaMqhsMxWjwvk0IMb4mFPFLqHjuvfwQxE4oJM="
|
||||||
|
"walker-git.cachix.org-1:vmC0ocfPWh0S/vRAQGtChuiZBTAe4wiKDeyyXM0/7pM="
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
flake.modules.homeManager.walker =
|
flake.modules.homeManager.walker =
|
||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
lib,
|
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
|
||||||
launcherCommand = lib.getExe config.programs.walker.package;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
imports = [ inputs.walker.homeManagerModules.default ];
|
imports = [ inputs.walker.homeManagerModules.default ];
|
||||||
|
|
||||||
programs.walker = {
|
programs.walker = {
|
||||||
enable = true;
|
enable = false;
|
||||||
runAsService = true;
|
runAsService = false;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
meta.desktop.launcher = {
|
flake.modules.homeManager.primary-launcher-walker =
|
||||||
package = config.programs.walker.package;
|
{ config, lib, ... }:
|
||||||
commands = {
|
{
|
||||||
open = [ launcherCommand ];
|
imports = [ homeModules.walker ];
|
||||||
files = [
|
|
||||||
launcherCommand
|
meta.desktop.launcherCommand = lib.getExe config.programs.walker.package;
|
||||||
"--query"
|
|
||||||
"/"
|
|
||||||
"--placeholder"
|
|
||||||
"Find files"
|
|
||||||
];
|
|
||||||
dmenu = [
|
|
||||||
launcherCommand
|
|
||||||
"--dmenu"
|
|
||||||
"--placeholder"
|
|
||||||
"Search clipboard"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
+8
-66
@@ -81,64 +81,6 @@ let
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
desktopApplicationType = lib.types.submodule (
|
|
||||||
{ config, ... }:
|
|
||||||
{
|
|
||||||
options = {
|
|
||||||
package = lib.mkOption {
|
|
||||||
type = lib.types.package;
|
|
||||||
};
|
|
||||||
|
|
||||||
command = lib.mkOption {
|
|
||||||
type = lib.types.str;
|
|
||||||
default = lib.getExe config.package;
|
|
||||||
defaultText = lib.literalExpression "lib.getExe config.package";
|
|
||||||
};
|
|
||||||
|
|
||||||
desktopEntryName = lib.mkOption {
|
|
||||||
type = lib.types.str;
|
|
||||||
};
|
|
||||||
|
|
||||||
desktopId = lib.mkOption {
|
|
||||||
type = lib.types.str;
|
|
||||||
default = "${config.desktopEntryName}.desktop";
|
|
||||||
defaultText = lib.literalExpression ''"${config.desktopEntryName}.desktop"'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
launcherType = lib.types.submodule (
|
|
||||||
{ config, ... }:
|
|
||||||
{
|
|
||||||
options = {
|
|
||||||
package = lib.mkOption {
|
|
||||||
type = lib.types.package;
|
|
||||||
};
|
|
||||||
|
|
||||||
command = lib.mkOption {
|
|
||||||
type = lib.types.str;
|
|
||||||
default = lib.getExe config.package;
|
|
||||||
defaultText = lib.literalExpression "lib.getExe config.package";
|
|
||||||
};
|
|
||||||
|
|
||||||
commands = {
|
|
||||||
open = lib.mkOption {
|
|
||||||
type = lib.types.listOf lib.types.str;
|
|
||||||
};
|
|
||||||
|
|
||||||
files = lib.mkOption {
|
|
||||||
type = lib.types.listOf lib.types.str;
|
|
||||||
};
|
|
||||||
|
|
||||||
dmenu = lib.mkOption {
|
|
||||||
type = lib.types.listOf lib.types.str;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
displayType = lib.types.submodule (
|
displayType = lib.types.submodule (
|
||||||
{ ... }:
|
{ ... }:
|
||||||
{
|
{
|
||||||
@@ -255,20 +197,20 @@ in
|
|||||||
config.flake.modules.homeManager.meta =
|
config.flake.modules.homeManager.meta =
|
||||||
{ ... }:
|
{ ... }:
|
||||||
{
|
{
|
||||||
options.meta.desktop.browser = lib.mkOption {
|
options.meta.desktop.browserCommand = lib.mkOption {
|
||||||
type = desktopApplicationType;
|
type = lib.types.str;
|
||||||
};
|
};
|
||||||
|
|
||||||
options.meta.desktop.fileManager = lib.mkOption {
|
options.meta.desktop.fileManagerCommand = lib.mkOption {
|
||||||
type = desktopApplicationType;
|
type = lib.types.str;
|
||||||
};
|
};
|
||||||
|
|
||||||
options.meta.desktop.terminal = lib.mkOption {
|
options.meta.desktop.terminalCommand = lib.mkOption {
|
||||||
type = desktopApplicationType;
|
type = lib.types.str;
|
||||||
};
|
};
|
||||||
|
|
||||||
options.meta.desktop.launcher = lib.mkOption {
|
options.meta.desktop.launcherCommand = lib.mkOption {
|
||||||
type = launcherType;
|
type = lib.types.str;
|
||||||
};
|
};
|
||||||
|
|
||||||
options.meta.pinentry.package = lib.mkOption {
|
options.meta.pinentry.package = lib.mkOption {
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ in
|
|||||||
nixosModules.theme
|
nixosModules.theme
|
||||||
nixosModules.ai
|
nixosModules.ai
|
||||||
nixosModules.hidraw-access
|
nixosModules.hidraw-access
|
||||||
|
nixosModules.walker-cache
|
||||||
];
|
];
|
||||||
|
|
||||||
services.dbus.implementation = "broker";
|
services.dbus.implementation = "broker";
|
||||||
@@ -42,9 +43,14 @@ in
|
|||||||
homeModules.passwords
|
homeModules.passwords
|
||||||
homeModules.clipboard
|
homeModules.clipboard
|
||||||
homeModules.dev-tools
|
homeModules.dev-tools
|
||||||
|
homeModules.xdg
|
||||||
|
homeModules.workstation-apps
|
||||||
homeModules.primary-browser-vivaldi
|
homeModules.primary-browser-vivaldi
|
||||||
homeModules.primary-file-manager-nautilus
|
homeModules.primary-file-manager-nautilus
|
||||||
homeModules.desktop-defaults
|
homeModules.primary-launcher-walker
|
||||||
|
homeModules.default-image-viewer-imv
|
||||||
|
homeModules.default-document-viewer-sioyek
|
||||||
|
homeModules.default-editor-neovim
|
||||||
homeModules.email
|
homeModules.email
|
||||||
homeModules.mpv
|
homeModules.mpv
|
||||||
homeModules.niri
|
homeModules.niri
|
||||||
@@ -58,7 +64,6 @@ in
|
|||||||
homeModules.primary-terminal-kitty
|
homeModules.primary-terminal-kitty
|
||||||
homeModules.terminal-foot
|
homeModules.terminal-foot
|
||||||
homeModules.theme
|
homeModules.theme
|
||||||
homeModules.walker
|
|
||||||
homeModules.noctalia
|
homeModules.noctalia
|
||||||
{
|
{
|
||||||
programs.discord = {
|
programs.discord = {
|
||||||
|
|||||||
Reference in New Issue
Block a user