This commit is contained in:
2026-07-27 16:10:17 +09:00
parent 9061825c63
commit 684acef46c
33 changed files with 515 additions and 0 deletions
@@ -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" ];
};
}
+7
View File
@@ -0,0 +1,7 @@
{ pkgs, ... }:
{
home.packages = [
pkgs._1password-cli
]
++ pkgs.lib.optionals pkgs.stdenv.hostPlatform.isLinux [ pkgs._1password-gui ];
}
+12
View File
@@ -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;
}
+4
View File
@@ -0,0 +1,4 @@
{ pkgs, ... }:
{
home.packages = [ pkgs.arduino-cli ];
}
+14
View File
@@ -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 ];
}
+4
View File
@@ -0,0 +1,4 @@
{ pkgs, ... }:
{
home.packages = [ pkgs.google-chrome ];
}
+25
View File
@@ -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 ];
}
+6
View File
@@ -0,0 +1,6 @@
{ inputs, pkgs, ... }:
{
home.packages = [
inputs.llm-agents.packages.${pkgs.stdenv.hostPlatform.system}.codex
];
}
+6
View File
@@ -0,0 +1,6 @@
{
programs.direnv = {
enable = true;
nix-direnv.enable = true;
};
}
+3
View File
@@ -0,0 +1,3 @@
{
programs.vesktop.enable = true;
}
+6
View File
@@ -0,0 +1,6 @@
{
homebrew = {
enable = true;
casks = [ "orbstack" ];
};
}
+7
View File
@@ -0,0 +1,7 @@
{ pkgs, ... }:
{
home.packages = [
pkgs.docker-client
pkgs.oxker
];
}
+5
View File
@@ -0,0 +1,5 @@
{
description = "Docker command-line client and NixOS daemon";
includes = [ "services.docker" ];
}
+56
View File
@@ -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"
];
};
}
+10
View File
@@ -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
];
}
+9
View File
@@ -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 ];
}
+6
View File
@@ -0,0 +1,6 @@
{
homebrew = {
enable = true;
casks = [ "kde-connect" ];
};
}
+3
View File
@@ -0,0 +1,3 @@
{
programs.kdeconnect.enable = true;
}
+8
View File
@@ -0,0 +1,8 @@
{ pkgs, lib, ... }:
lib.mkIf pkgs.stdenv.hostPlatform.isLinux {
home.packages = [
pkgs.nautilus
pkgs.gvfs
pkgs.sushi
];
}
+5
View File
@@ -0,0 +1,5 @@
{ config, pkgs, ... }:
{
home.packages = [ pkgs.nh ];
home.sessionVariables.NH_FLAKE = "${config.home.homeDirectory}/dotfiles";
}
+12
View File
@@ -0,0 +1,12 @@
{ primaryUser, ... }:
{
programs.nh = {
enable = true;
flake = "/home/${primaryUser}/dotfiles";
clean = {
enable = true;
dates = "weekly";
extraArgs = "--keep-since 14d --keep 10";
};
};
}
+6
View File
@@ -0,0 +1,6 @@
{ inputs, pkgs, ... }:
{
home.packages = [
inputs.llm-agents.packages.${pkgs.stdenv.hostPlatform.system}.opencode
];
}
+4
View File
@@ -0,0 +1,4 @@
{ pkgs, ... }:
{
home.packages = [ pkgs.slack ];
}
+56
View File
@@ -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
];
};
}
+8
View File
@@ -0,0 +1,8 @@
{ inputs, ... }:
{
description = "Vicinae application launcher";
imports.home = [
inputs.vicinae.homeManagerModules.default
];
}
+134
View File
@@ -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";
}
];
};
};
}
+4
View File
@@ -0,0 +1,4 @@
{ pkgs, ... }:
{
home.packages = [ pkgs.zoom-us ];
}
+6
View File
@@ -0,0 +1,6 @@
{
programs.zoxide = {
enable = true;
enableZshIntegration = true;
};
}
+9
View File
@@ -0,0 +1,9 @@
{ pkgs, ... }:
{
hardware.graphics.extraPackages = with pkgs; [
intel-media-driver
intel-vaapi-driver
libva-vdpau-driver
libvdpau-va-gl
];
}
+17
View File
@@ -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" ];
}