This commit is contained in:
js0ny 2025-10-23 04:38:15 +01:00
parent 8bcd089b3a
commit 93664e4120
15 changed files with 163 additions and 74 deletions

View file

@ -65,6 +65,7 @@
"bindings": { "bindings": {
"space space": "file_finder::Toggle", "space space": "file_finder::Toggle",
"space ;": "command_palette::Toggle", "space ;": "command_palette::Toggle",
"space !": "workspace::NewTerminal",
"space /": "pane::DeploySearch", "space /": "pane::DeploySearch",
"space f c": "zed::OpenSettings", "space f c": "zed::OpenSettings",
"space f e c": "zed::OpenSettings", "space f e c": "zed::OpenSettings",

2
nixcfgs/.gitignore vendored
View file

@ -1 +1 @@
secrets.nix secrets # TODO

View file

@ -20,15 +20,15 @@
../../modules/nixos/hardware/udev/basys3.nix ../../modules/nixos/hardware/udev/basys3.nix
# desktop environment and display manager # desktop environment and display manager
../../modules/nixos/desktop/de/kde.nix ../../modules/nixos/desktop/de/gnome.nix
../../modules/nixos/desktop/de/hyprland.nix ../../modules/nixos/desktop/dm/gdm.nix
../../modules/nixos/desktop/dm/sddm.nix
# desktop programs # desktop programs
../../modules/nixos/programs/chromium.nix ../../modules/nixos/programs/chromium.nix
../../modules/nixos/programs/firefox.nix ../../modules/nixos/programs/firefox.nix
../../modules/nixos/programs/libvirt.nix ../../modules/nixos/programs/libvirt.nix
../../modules/nixos/programs/obs-studio.nix ../../modules/nixos/programs/obs-studio.nix
../../modules/nixos/programs/rime.nix
../../modules/nixos/programs/steam.nix ../../modules/nixos/programs/steam.nix
../../modules/nixos/programs/waydroid.nix ../../modules/nixos/programs/waydroid.nix
../../modules/nixos/programs/winboat.nix ../../modules/nixos/programs/winboat.nix
@ -50,5 +50,6 @@
# Disable modem # Disable modem
networking.modemmanager.enable = false; networking.modemmanager.enable = false;
services.flatpak.enable = true;
system.stateVersion = "25.05"; system.stateVersion = "25.05";
} }

View file

@ -0,0 +1,10 @@
{pkgs, ...}: {
home.packages = with pkgs; [
typst
typstyle
];
programs.vscode.profiles.default.extensions = with pkgs.vscode-extensions; [
myriad-dreamin.tinymist
];
}

View file

@ -1,7 +1,6 @@
{pkgs, ...}: { {...}: {
imports = [ imports = [
./core/configuration.nix ./core/configuration.nix
./core/packages.nix ./core/packages.nix
]; ];
} }

View file

@ -1,5 +1,12 @@
{ pkgs, ... }: { pkgs, ... }:
{ {
services.desktopManager.gnome.enable = true; services.desktopManager.gnome.enable = true;
environment.systemPackages = with pkgs; [
gnome-menus
];
environment.gnome.excludePackages = with pkgs; [
evince
totem
papers
];
} }

View file

@ -0,0 +1,8 @@
let
defaultAge = "age1mcvqpg39t32ll684r4m2l8j0l9zag6endg0h6zjw8svkgdwc4pjqkk5fvj";
in {
age.identityPaths = [
"~/.config/age/keys.txt"
];
"ts.age".publicKeys = [defaultAge];
}

BIN
nixcfgs/secrets/ts.age Normal file

Binary file not shown.

View file

@ -1,12 +1,11 @@
# ~/.config/nixcfgs/users/js0ny/default.nix # ~/.config/nixcfgs/users/js0ny/default.nix
{pkgs, ...}: let { pkgs, ... }:
let
username = "js0ny"; username = "js0ny";
in { in
{
home.username = username; home.username = username;
home.homeDirectory = home.homeDirectory = if pkgs.stdenv.isDarwin then "/Users/${username}" else "/home/${username}";
if pkgs.stdenv.isDarwin
then "/Users/${username}"
else "/home/${username}";
home.packages = with pkgs; [ home.packages = with pkgs; [
home-manager home-manager

View file

@ -1,5 +1,6 @@
# https://github.com/gmodena/nix-flatpak # https://github.com/gmodena/nix-flatpak
{...}: { { ... }:
{
services.flatpak.enable = true; services.flatpak.enable = true;
services.flatpak.remotes = [ services.flatpak.remotes = [
{ {
@ -27,7 +28,6 @@
services.flatpak.overrides = { services.flatpak.overrides = {
global = { global = {
Context = { Context = {
# Force wayland by default
filesystems = [ filesystems = [
"/run/current-system/sw/share/fonts:ro" "/run/current-system/sw/share/fonts:ro"
"xdg-config/fontconfig:ro" "xdg-config/fontconfig:ro"
@ -48,5 +48,6 @@
}; };
}; };
"md.obsidian.Obsidian".Context.sockets = [ "wayland" ]; "md.obsidian.Obsidian".Context.sockets = [ "wayland" ];
"com.getpostman.Postman".Context.persistent = [ "Postman" ];
}; };
} }

View file

@ -1,14 +1,23 @@
{ pkgs, ... }: {pkgs, ...}: {
{
home.packages = with pkgs; [ home.packages = with pkgs; [
# Terminal Emulator
ghostty # default
kitty kitty
ghostty
alacritty alacritty
warp-terminal
# Explorer
kdePackages.dolphin kdePackages.dolphin
kdePackages.okular kdePackages.dolphin-plugins # dolphin git integration
kdePackages.elisa kdePackages.konsole # dolphin terminal integration
yazi # terminal file manager
# PDF Viewer
kdePackages.okular # default
sioyek
# Image Viewer
nsxiv # default
loupe # SUPER FAST 有催人跑的感觉 w/ GPU Accel.
papirus-icon-theme papirus-icon-theme
firefox kdePackages.elisa
pcloud pcloud
telegram-desktop telegram-desktop
steam steam
@ -19,16 +28,10 @@
(jetbrains.rider.override { (jetbrains.rider.override {
vmopts = ''-Dawt.toolkit.name=WLToolkit''; vmopts = ''-Dawt.toolkit.name=WLToolkit'';
}) })
warp-terminal
# clash-verge-rev
haruna haruna
sioyek
vimiv-qt
imv
localsend localsend
neovide neovide
cherry-studio cherry-studio
vivaldi
kdePackages.kdeconnect-kde kdePackages.kdeconnect-kde
picard picard
qutebrowser qutebrowser
@ -40,6 +43,9 @@
mpv mpv
neovim-qt neovim-qt
goldendict-ng goldendict-ng
kdePackages.kdenlive
gimp
steam-run
]; ];
xdg.desktopEntries = { xdg.desktopEntries = {

View file

@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: {
{
programs.firefox = { programs.firefox = {
enable = true; enable = true;
profiles.default = { profiles.default = {
@ -26,7 +25,7 @@
}; };
arch-packages = { arch-packages = {
name = "ArchLinux Packages"; name = "ArchLinux Packages";
urls = [ { template = "https://archlinux.org/?q={searchTerms}"; } ]; urls = [{template = "https://archlinux.org/packages/?q={searchTerms}";}];
icon = "https://archlinux.org/favicon.ico"; icon = "https://archlinux.org/favicon.ico";
definedAliases = ["@pac"]; definedAliases = ["@pac"];
}; };
@ -60,6 +59,12 @@
icon = "https://github.com/favicon.ico"; icon = "https://github.com/favicon.ico";
definedAliases = ["@gh"]; definedAliases = ["@gh"];
}; };
repology = {
name = "Repology";
urls = [{template = "https://repology.org/projects/?search={searchTerms}";}];
icon = "https://repology.org/favicon.ico";
definedAliases = ["@repo"];
};
}; };
extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [ extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [
darkreader darkreader

View file

@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: {
{
home.packages = with pkgs; [ home.packages = with pkgs; [
gnome-tweaks gnome-tweaks
sushi sushi
@ -14,6 +13,8 @@
gnomeExtensions.blur-my-shell gnomeExtensions.blur-my-shell
gnomeExtensions.appindicator gnomeExtensions.appindicator
gnomeExtensions.gsconnect gnomeExtensions.gsconnect
gnomeExtensions.resource-monitor
gnomeExtensions.lunar-calendar
]; ];
programs.gnome-shell.enable = true; programs.gnome-shell.enable = true;
programs.gnome-shell.extensions = [ programs.gnome-shell.extensions = [
@ -25,7 +26,7 @@
{package = pkgs.gnomeExtensions.gsconnect;} {package = pkgs.gnomeExtensions.gsconnect;}
{package = pkgs.gnomeExtensions.clipboard-indicator;} {package = pkgs.gnomeExtensions.clipboard-indicator;}
{package = pkgs.gnomeExtensions.advanced-alttab-window-switcher;} {package = pkgs.gnomeExtensions.advanced-alttab-window-switcher;}
{ package = pkgs.gnomeExtensions.blur-my-shell; } # {package = pkgs.gnomeExtensions.blur-my-shell;}
]; ];
dconf.settings = { dconf.settings = {
@ -49,6 +50,9 @@
symbolic-icon = true; symbolic-icon = true;
use-custom-icon = false; use-custom-icon = false;
}; };
"org/gnome/shell/extensions/clipboard-indicator" = {
toggle-menu = ["<Super>v"];
};
"org/gnome/shell" = { "org/gnome/shell" = {
favorite-apps = [ favorite-apps = [
"com.mitchellh.ghostty.desktop" "com.mitchellh.ghostty.desktop"
@ -56,6 +60,24 @@
"code.desktop" "code.desktop"
]; ];
}; };
"org/gnome/shell/keybindings" = {
toggle-overview = ["<Super>w"];
toggle-message-tray = ["<Super>n"];
# G14 Compatibility
show-screenshot-ui = ["<Shift><Super>s"];
};
"org/gnome/desktop/wm/keybindings" = {
activate-window-menu = ["<Alt>F3"];
show-desktop = ["<Super>d"];
close = ["<Super>q" "<Alt>F4"];
switch-windows = ["<Alt>Tab"];
switch-windows-backward = ["<Shift><Alt>Tab"];
switch-applications = ["<Super>Tab"];
switch-applications-backward = ["<Shift><Super>Tab"];
};
"org/gnome/settings-daemon/plugins/media-keys" = {
www = ["<Super>b"];
};
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom-0" = { "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom-0" = {
name = "Open File Explorer"; name = "Open File Explorer";
command = "dolphin"; command = "dolphin";
@ -78,6 +100,7 @@
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom-2/" "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom-2/"
]; ];
}; };
# Scanned directory in GNOME Search
"org/freedesktop/tracker/miner/files" = { "org/freedesktop/tracker/miner/files" = {
"index-recursive-directories" = [ "index-recursive-directories" = [
"&DESKTOP" "&DESKTOP"
@ -88,6 +111,9 @@
"/home/js0ny/Obsidian" "/home/js0ny/Obsidian"
]; ];
}; };
"ca/desrt/dconf-editor" = {
show-warning = false;
};
}; };
# qt.style.name = "adwaita"; # qt.style.name = "adwaita";

View file

@ -3,16 +3,29 @@
xdg.mime.enable = true; xdg.mime.enable = true;
xdg.mimeApps = { xdg.mimeApps = {
enable = true; enable = true;
# In Dolphin, middle click to open with 2nd order default app
defaultApplications = { defaultApplications = {
# PDF
"application/pdf" = "org.kde.okular.desktop"; "application/pdf" = "org.kde.okular.desktop";
# Plain text
"text/plain" = "nvim-qt.desktop"; "text/plain" = "nvim-qt.desktop";
# Source Code - C
"text/x-csrc" = "nvim-qt.desktop"; "text/x-csrc" = "nvim-qt.desktop";
"text/x-chdr" = "nvim-qt.desktop"; "text/x-chdr" = "nvim-qt.desktop";
# File Explorer
"inode/directory" = "org.kde.dolphin.desktop"; "inode/directory" = "org.kde.dolphin.desktop";
"x-scheme-handler/tg" = "org.telegram.desktop.desktop"; # Image Viewer
"x-scheme-handler/tonsite" = "org.telegram.desktop.desktop"; "image/jpeg" = "nsxiv.desktop;org.gnome.Loupe.desktop";
}; "image/jpg" = "nsxiv.desktop;org.gnome.Loupe.desktop";
associations.added = { "image/png" = "nsxiv.desktop;org.gnome.Loupe.desktop";
"image/gif" = "nsxiv.desktop;org.gnome.Loupe.desktop";
"image/bmp" = "nsxiv.desktop;org.gnome.Loupe.desktop";
"image/webp" = "nsxiv.desktop;org.gnome.Loupe.desktop";
# Browser
"text/html" = "firefox.desktop;chromium-browser.desktop";
"x-scheme-handler/http" = "firefox.desktop;chromium-browser.desktop";
"x-scheme-handler/httpss" = "firefox.desktop;chromium-browser.desktop";
# URL Scheme
"x-scheme-handler/tg" = "org.telegram.desktop.desktop"; "x-scheme-handler/tg" = "org.telegram.desktop.desktop";
"x-scheme-handler/tonsite" = "org.telegram.desktop.desktop"; "x-scheme-handler/tonsite" = "org.telegram.desktop.desktop";
}; };

View file

@ -1,37 +1,50 @@
# ~/.config/nixcfgs/users/js0ny/default.nix # ~/.config/nixcfgs/users/js0ny/default.nix
{...}: { {...}: {
imports = [ imports = [
# General config
./default.nix ./default.nix
# Use Gnome-keyring for GUI setup
../../modules/home/gnome-keyrings.nix
# Packages
./packages/cli.nix ./packages/cli.nix
./packages/gui.nix ./packages/gui.nix
./packages/flatpak.nix ./packages/flatpak.nix
./packages/fonts.nix ./packages/fonts.nix
./packages/catppuccin.nix ./packages/catppuccin.nix
# Personal Program
./programs/chromium.nix ./programs/chromium.nix
./programs/emacs.nix
# ./programs/gnome.nix
./programs/plasma.nix
./programs/shell.nix
./programs/vscode.nix
./programs/firefox.nix ./programs/firefox.nix
./programs/emacs.nix
./programs/vscode.nix
./programs/shell.nix
./programs/distrobox.nix ./programs/distrobox.nix
./programs/mime.nix ./programs/mime.nix
./programs/zed-editor.nix ./programs/zed-editor.nix
./programs/rime.nix ./programs/rime.nix
../../modules/home/gnome-keyrings.nix
# Desktop Linux
./programs/gnome.nix
# General Program config
../../modules/home/programs/nvim.nix
../../modules/home/programs/eza.nix
../../modules/home/programs/winboat.nix
../../modules/home/programs/fzf.nix
../../modules/home/programs/lsd.nix
../../modules/home/programs/starship.nix
../../modules/home/programs/zoxide.nix
# Development setup
../../modules/home/dev/c.nix ../../modules/home/dev/c.nix
../../modules/home/dev/go.nix ../../modules/home/dev/go.nix
../../modules/home/dev/java.nix ../../modules/home/dev/java.nix
../../modules/home/dev/lua.nix ../../modules/home/dev/lua.nix
../../modules/home/dev/nix.nix ../../modules/home/dev/nix.nix
../../modules/home/dev/python.nix ../../modules/home/dev/python.nix
../../modules/home/programs/eza.nix ../../modules/home/dev/typst.nix
../../modules/home/programs/winboat.nix
../../modules/home/programs/fzf.nix
../../modules/home/programs/lsd.nix
../../modules/home/programs/nvim.nix
../../modules/home/programs/starship.nix
../../modules/home/programs/zoxide.nix
]; ];
home.stateVersion = "25.05"; home.stateVersion = "25.05";