mirror of
https://github.com/moons-14/dotfiles.git
synced 2026-10-06 04:08:12 +09:00
add apps
This commit is contained in:
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
# The macOS app must live in /Applications for its background integrations,
|
||||||
|
# including the SSH agent, to work correctly.
|
||||||
|
homebrew = {
|
||||||
|
enable = true;
|
||||||
|
casks = [ "1password" ];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
home.packages = [
|
||||||
|
pkgs._1password-cli
|
||||||
|
]
|
||||||
|
++ pkgs.lib.optionals pkgs.stdenv.hostPlatform.isLinux [ pkgs._1password-gui ];
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{ primaryUser, lib, ... }:
|
||||||
|
{
|
||||||
|
programs._1password.enable = true;
|
||||||
|
programs._1password-gui = {
|
||||||
|
enable = true;
|
||||||
|
polkitPolicyOwners = [ primaryUser ];
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.ssh.startAgent = lib.mkForce false;
|
||||||
|
programs.gnupg.agent.enableSSHSupport = lib.mkForce false;
|
||||||
|
services.gnome.gcr-ssh-agent.enable = lib.mkForce false;
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
home.packages = [ pkgs.arduino-cli ];
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
let
|
||||||
|
arduinoIdeX11 = pkgs.arduino-ide.overrideAttrs (old: {
|
||||||
|
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.makeWrapper ];
|
||||||
|
|
||||||
|
postFixup = (old.postFixup or "") + ''
|
||||||
|
wrapProgram $out/bin/arduino-ide \
|
||||||
|
--add-flags "--ozone-platform=x11"
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
in
|
||||||
|
{
|
||||||
|
environment.systemPackages = [ arduinoIdeX11 ];
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
home.packages = [ pkgs.google-chrome ];
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
let
|
||||||
|
chromeLauncher = pkgs.makeDesktopItem {
|
||||||
|
name = "google-chrome";
|
||||||
|
desktopName = "Google Chrome";
|
||||||
|
genericName = "Web Browser";
|
||||||
|
exec = "${pkgs.google-chrome}/bin/google-chrome-stable --enable-features=TouchpadOverscrollHistoryNavigation %U";
|
||||||
|
icon = "google-chrome";
|
||||||
|
terminal = false;
|
||||||
|
categories = [
|
||||||
|
"Network"
|
||||||
|
"WebBrowser"
|
||||||
|
];
|
||||||
|
startupNotify = true;
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
environment.systemPackages = [ chromeLauncher ];
|
||||||
|
|
||||||
|
xdg.mime.defaultApplications = {
|
||||||
|
"text/html" = "google-chrome.desktop";
|
||||||
|
"x-scheme-handler/http" = "google-chrome.desktop";
|
||||||
|
"x-scheme-handler/https" = "google-chrome.desktop";
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
# The former Codex app cask is deprecated in favor of ChatGPT, whose desktop
|
||||||
|
# application includes the current Codex experience on macOS.
|
||||||
|
homebrew = {
|
||||||
|
enable = true;
|
||||||
|
casks = [ "chatgpt" ];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
{ inputs, ... }:
|
||||||
|
{
|
||||||
|
description = "Codex Desktop for Linux";
|
||||||
|
|
||||||
|
includes = [ "applications.codex" ];
|
||||||
|
|
||||||
|
imports.nixos = [
|
||||||
|
inputs.codex-desktop-linux.nixosModules.default
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
{
|
||||||
|
inputs,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
codexCliPackage = inputs.llm-agents.packages.${pkgs.stdenv.hostPlatform.system}.codex;
|
||||||
|
codexDesktopPackage =
|
||||||
|
inputs.codex-desktop-linux.packages.${pkgs.stdenv.hostPlatform.system}.codex-desktop-computer-use-ui;
|
||||||
|
launcher = pkgs.makeDesktopItem {
|
||||||
|
name = "codex";
|
||||||
|
desktopName = "Codex";
|
||||||
|
genericName = "ChatGPT Desktop";
|
||||||
|
comment = "Run Codex Desktop";
|
||||||
|
exec = "env CODEX_CLI_PATH=${lib.getExe' codexCliPackage "codex"} BAMF_DESKTOP_FILE_HINT=codex.desktop CHROME_DESKTOP=codex.desktop ${lib.getExe' codexDesktopPackage "codex-desktop"} %u";
|
||||||
|
icon = "codex-desktop";
|
||||||
|
terminal = false;
|
||||||
|
categories = [ "Development" ];
|
||||||
|
startupNotify = true;
|
||||||
|
startupWMClass = "codex-desktop";
|
||||||
|
actions.new-window = {
|
||||||
|
name = "New Window";
|
||||||
|
exec = "env CODEX_CLI_PATH=${lib.getExe' codexCliPackage "codex"} BAMF_DESKTOP_FILE_HINT=codex.desktop CHROME_DESKTOP=codex.desktop CODEX_MULTI_LAUNCH=1 ${lib.getExe' codexDesktopPackage "codex-desktop"} --new-instance";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
programs.codexDesktopLinux = {
|
||||||
|
enable = true;
|
||||||
|
package = codexDesktopPackage;
|
||||||
|
cliPackage = codexCliPackage;
|
||||||
|
computerUseUi.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = [ launcher ];
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{ inputs, pkgs, ... }:
|
||||||
|
{
|
||||||
|
home.packages = [
|
||||||
|
inputs.llm-agents.packages.${pkgs.stdenv.hostPlatform.system}.codex
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
programs.direnv = {
|
||||||
|
enable = true;
|
||||||
|
nix-direnv.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
programs.vesktop.enable = true;
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
homebrew = {
|
||||||
|
enable = true;
|
||||||
|
casks = [ "orbstack" ];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
home.packages = [
|
||||||
|
pkgs.docker-client
|
||||||
|
pkgs.oxker
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
description = "Docker command-line client and NixOS daemon";
|
||||||
|
|
||||||
|
includes = [ "services.docker" ];
|
||||||
|
}
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
{ pkgs, lib, ... }:
|
||||||
|
lib.mkIf pkgs.stdenv.hostPlatform.isLinux {
|
||||||
|
dconf.settings = {
|
||||||
|
"org/gnome/desktop/sound" = {
|
||||||
|
event-sounds = false;
|
||||||
|
input-feedback-sounds = false;
|
||||||
|
};
|
||||||
|
"org/gnome/desktop/wm/keybindings" = {
|
||||||
|
close = [ "<Super>q" ];
|
||||||
|
show-desktop = [ ];
|
||||||
|
};
|
||||||
|
"org/gnome/settings-daemon/plugins/media-keys" = {
|
||||||
|
home = [ ];
|
||||||
|
screensaver = [ "<Super>l" ];
|
||||||
|
custom-keybindings = [
|
||||||
|
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/"
|
||||||
|
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/"
|
||||||
|
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2/"
|
||||||
|
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom3/"
|
||||||
|
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom4/"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
|
||||||
|
name = "Open Terminal";
|
||||||
|
command = "ghostty";
|
||||||
|
binding = "<Super>t";
|
||||||
|
};
|
||||||
|
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = {
|
||||||
|
name = "Run Application";
|
||||||
|
command = "vicinae toggle";
|
||||||
|
binding = "<Super>d";
|
||||||
|
};
|
||||||
|
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2" = {
|
||||||
|
name = "Open File Manager";
|
||||||
|
command = "nautilus --new-window";
|
||||||
|
binding = "<Super>e";
|
||||||
|
};
|
||||||
|
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom3" = {
|
||||||
|
name = "Clipboard History";
|
||||||
|
command = "vicinae vicinae://extensions/vicinae/clipboard/history";
|
||||||
|
binding = "<Super>v";
|
||||||
|
};
|
||||||
|
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom4" = {
|
||||||
|
name = "Log Out";
|
||||||
|
command = "gnome-session-quit --logout --no-prompt";
|
||||||
|
binding = "<Super><Shift>e";
|
||||||
|
};
|
||||||
|
"org/gnome/shell".favorite-apps = [
|
||||||
|
"google-chrome.desktop"
|
||||||
|
"code.desktop"
|
||||||
|
"com.mitchellh.ghostty.desktop"
|
||||||
|
"slack.desktop"
|
||||||
|
"vesktop.desktop"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
{ pkgs, lib, ... }:
|
||||||
|
{
|
||||||
|
services.desktopManager.gnome.enable = true;
|
||||||
|
services.displayManager.gdm.enable = lib.mkForce false;
|
||||||
|
|
||||||
|
environment.systemPackages = [
|
||||||
|
pkgs.gnome-tweaks
|
||||||
|
pkgs.gnome-extension-manager
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
{ inputs, pkgs, ... }:
|
||||||
|
let
|
||||||
|
grok = inputs.llm-agents.packages.${pkgs.stdenv.hostPlatform.system}.grok.overrideAttrs (_: {
|
||||||
|
versionCheckProgram = "${placeholder "out"}/libexec/grok/grok-launcher";
|
||||||
|
});
|
||||||
|
in
|
||||||
|
{
|
||||||
|
home.packages = [ grok ];
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
homebrew = {
|
||||||
|
enable = true;
|
||||||
|
casks = [ "kde-connect" ];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
programs.kdeconnect.enable = true;
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
{ pkgs, lib, ... }:
|
||||||
|
lib.mkIf pkgs.stdenv.hostPlatform.isLinux {
|
||||||
|
home.packages = [
|
||||||
|
pkgs.nautilus
|
||||||
|
pkgs.gvfs
|
||||||
|
pkgs.sushi
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
{ config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
home.packages = [ pkgs.nh ];
|
||||||
|
home.sessionVariables.NH_FLAKE = "${config.home.homeDirectory}/dotfiles";
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{ primaryUser, ... }:
|
||||||
|
{
|
||||||
|
programs.nh = {
|
||||||
|
enable = true;
|
||||||
|
flake = "/home/${primaryUser}/dotfiles";
|
||||||
|
clean = {
|
||||||
|
enable = true;
|
||||||
|
dates = "weekly";
|
||||||
|
extraArgs = "--keep-since 14d --keep 10";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{ inputs, pkgs, ... }:
|
||||||
|
{
|
||||||
|
home.packages = [
|
||||||
|
inputs.llm-agents.packages.${pkgs.stdenv.hostPlatform.system}.opencode
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
home.packages = [ pkgs.slack ];
|
||||||
|
}
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
{
|
||||||
|
inputs,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
isLinux = pkgs.stdenv.hostPlatform.isLinux;
|
||||||
|
extensions = inputs.vicinae-extensions.packages.${pkgs.stdenv.hostPlatform.system};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
programs.vicinae = {
|
||||||
|
enable = true;
|
||||||
|
systemd = lib.mkIf isLinux {
|
||||||
|
enable = true;
|
||||||
|
autoStart = true;
|
||||||
|
environment.USE_LAYER_SHELL = 1;
|
||||||
|
};
|
||||||
|
settings = {
|
||||||
|
font.size = 11;
|
||||||
|
close_on_focus_loss = true;
|
||||||
|
consider_preedit = true;
|
||||||
|
pop_to_root_on_close = true;
|
||||||
|
favicon_service = "twenty";
|
||||||
|
search_files_in_root = true;
|
||||||
|
theme = {
|
||||||
|
light = {
|
||||||
|
name = "dracula";
|
||||||
|
icon_theme = "default";
|
||||||
|
};
|
||||||
|
dark = {
|
||||||
|
name = "vicinae-light";
|
||||||
|
icon_theme = "default";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
window = {
|
||||||
|
csd = true;
|
||||||
|
opacity = 0.95;
|
||||||
|
rounding = 10;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
extensions =
|
||||||
|
with extensions;
|
||||||
|
[
|
||||||
|
nix
|
||||||
|
zoxide-recent-directories
|
||||||
|
ssh
|
||||||
|
port-killer
|
||||||
|
]
|
||||||
|
++ lib.optionals isLinux [
|
||||||
|
power-profile
|
||||||
|
niri
|
||||||
|
noctalia-shell-wallpaper-selector
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
{ inputs, ... }:
|
||||||
|
{
|
||||||
|
description = "Vicinae application launcher";
|
||||||
|
|
||||||
|
imports.home = [
|
||||||
|
inputs.vicinae.homeManagerModules.default
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,134 @@
|
|||||||
|
{ pkgs, lib, ... }:
|
||||||
|
let
|
||||||
|
isLinux = pkgs.stdenv.hostPlatform.isLinux;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
programs.yazi = {
|
||||||
|
enable = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
shellWrapperName = "y";
|
||||||
|
package = pkgs.yazi.override {
|
||||||
|
_7zz = pkgs._7zz-rar;
|
||||||
|
};
|
||||||
|
extraPackages =
|
||||||
|
with pkgs;
|
||||||
|
[
|
||||||
|
file
|
||||||
|
ffmpeg
|
||||||
|
_7zz-rar
|
||||||
|
jq
|
||||||
|
poppler
|
||||||
|
fd
|
||||||
|
ripgrep
|
||||||
|
fzf
|
||||||
|
zoxide
|
||||||
|
resvg
|
||||||
|
imagemagick
|
||||||
|
]
|
||||||
|
++ lib.optionals isLinux [
|
||||||
|
wl-clipboard
|
||||||
|
xdg-utils
|
||||||
|
];
|
||||||
|
plugins = {
|
||||||
|
"full-border" = {
|
||||||
|
package = pkgs.yaziPlugins.full-border;
|
||||||
|
setup = true;
|
||||||
|
};
|
||||||
|
"toggle-pane" = pkgs.yaziPlugins.toggle-pane;
|
||||||
|
chmod = pkgs.yaziPlugins.chmod;
|
||||||
|
};
|
||||||
|
keymap.mgr.prepend_keymap = [
|
||||||
|
{
|
||||||
|
on = "T";
|
||||||
|
run = "plugin toggle-pane max-preview";
|
||||||
|
desc = "Maximize or restore preview pane";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
on = [
|
||||||
|
"c"
|
||||||
|
"m"
|
||||||
|
];
|
||||||
|
run = "plugin chmod";
|
||||||
|
desc = "Chmod selected files";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
settings = {
|
||||||
|
mgr = {
|
||||||
|
ratio = [
|
||||||
|
1
|
||||||
|
3
|
||||||
|
4
|
||||||
|
];
|
||||||
|
sort_by = "natural";
|
||||||
|
sort_sensitive = false;
|
||||||
|
sort_dir_first = true;
|
||||||
|
sort_reverse = false;
|
||||||
|
linemode = "size";
|
||||||
|
show_hidden = true;
|
||||||
|
show_symlink = true;
|
||||||
|
scrolloff = 8;
|
||||||
|
};
|
||||||
|
preview = {
|
||||||
|
wrap = "yes";
|
||||||
|
tab_size = 2;
|
||||||
|
};
|
||||||
|
opener = {
|
||||||
|
edit = [
|
||||||
|
{
|
||||||
|
run = "${pkgs.neovim}/bin/nvim %s";
|
||||||
|
block = true;
|
||||||
|
for = "unix";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
open = [
|
||||||
|
{
|
||||||
|
run = "${pkgs.xdg-utils}/bin/xdg-open %s";
|
||||||
|
orphan = true;
|
||||||
|
desc = "Open";
|
||||||
|
for = "linux";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
run = "open %s";
|
||||||
|
orphan = true;
|
||||||
|
desc = "Open";
|
||||||
|
for = "macos";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
open.prepend_rules = [
|
||||||
|
{
|
||||||
|
mime = "text/*";
|
||||||
|
use = "edit";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
url = "*.nix";
|
||||||
|
use = "edit";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
url = "*.json";
|
||||||
|
use = "edit";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
url = "*.md";
|
||||||
|
use = "edit";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mime = "image/*";
|
||||||
|
use = "open";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mime = "video/*";
|
||||||
|
use = "open";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mime = "audio/*";
|
||||||
|
use = "open";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mime = "application/pdf";
|
||||||
|
use = "open";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
home.packages = [ pkgs.zoom-us ];
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
programs.zoxide = {
|
||||||
|
enable = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
hardware.graphics.extraPackages = with pkgs; [
|
||||||
|
intel-media-driver
|
||||||
|
intel-vaapi-driver
|
||||||
|
libva-vdpau-driver
|
||||||
|
libvdpau-va-gl
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
{ primaryUser, ... }:
|
||||||
|
{
|
||||||
|
virtualisation.docker = {
|
||||||
|
enable = true;
|
||||||
|
autoPrune = {
|
||||||
|
enable = true;
|
||||||
|
dates = "weekly";
|
||||||
|
};
|
||||||
|
daemon.settings = {
|
||||||
|
ipv6 = true;
|
||||||
|
"fixed-cidr-v6" = "fd00:30::/64";
|
||||||
|
ip6tables = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
users.users.${primaryUser}.extraGroups = [ "docker" ];
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user