mirror of
https://github.com/moons-14/dotfiles.git
synced 2026-10-06 07:48: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