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": {
"space space": "file_finder::Toggle",
"space ;": "command_palette::Toggle",
"space !": "workspace::NewTerminal",
"space /": "pane::DeploySearch",
"space f 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
# desktop environment and display manager
../../modules/nixos/desktop/de/kde.nix
../../modules/nixos/desktop/de/hyprland.nix
../../modules/nixos/desktop/dm/sddm.nix
../../modules/nixos/desktop/de/gnome.nix
../../modules/nixos/desktop/dm/gdm.nix
# desktop programs
../../modules/nixos/programs/chromium.nix
../../modules/nixos/programs/firefox.nix
../../modules/nixos/programs/libvirt.nix
../../modules/nixos/programs/obs-studio.nix
../../modules/nixos/programs/rime.nix
../../modules/nixos/programs/steam.nix
../../modules/nixos/programs/waydroid.nix
../../modules/nixos/programs/winboat.nix
@ -50,5 +50,6 @@
# Disable modem
networking.modemmanager.enable = false;
services.flatpak.enable = true;
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 = [
./core/configuration.nix
./core/packages.nix
];
}

View file

@ -1,5 +1,12 @@
{ pkgs, ... }:
{
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
{pkgs, ...}: let
{ pkgs, ... }:
let
username = "js0ny";
in {
in
{
home.username = username;
home.homeDirectory =
if pkgs.stdenv.isDarwin
then "/Users/${username}"
else "/home/${username}";
home.homeDirectory = if pkgs.stdenv.isDarwin then "/Users/${username}" else "/home/${username}";
home.packages = with pkgs; [
home-manager

View file

@ -1,5 +1,6 @@
# https://github.com/gmodena/nix-flatpak
{...}: {
{ ... }:
{
services.flatpak.enable = true;
services.flatpak.remotes = [
{
@ -27,7 +28,6 @@
services.flatpak.overrides = {
global = {
Context = {
# Force wayland by default
filesystems = [
"/run/current-system/sw/share/fonts:ro"
"xdg-config/fontconfig:ro"
@ -39,14 +39,15 @@
];
};
};
"com.qq.QQ".Context.sockets = ["x11"];
"com.qq.QQ".Context.sockets = [ "x11" ];
"com.tencent.WeChat" = {
Context.sockets = ["x11"];
Context.sockets = [ "x11" ];
Environment = {
# WeChat does not support wayland & wayland-ime
QT_IM_MODULE = "fcitx";
};
};
"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; [
# Terminal Emulator
ghostty # default
kitty
ghostty
alacritty
warp-terminal
# Explorer
kdePackages.dolphin
kdePackages.okular
kdePackages.elisa
kdePackages.dolphin-plugins # dolphin git integration
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
firefox
kdePackages.elisa
pcloud
telegram-desktop
steam
@ -19,16 +28,10 @@
(jetbrains.rider.override {
vmopts = ''-Dawt.toolkit.name=WLToolkit'';
})
warp-terminal
# clash-verge-rev
haruna
sioyek
vimiv-qt
imv
localsend
neovide
cherry-studio
vivaldi
kdePackages.kdeconnect-kde
picard
qutebrowser
@ -40,6 +43,9 @@
mpv
neovim-qt
goldendict-ng
kdePackages.kdenlive
gimp
steam-run
];
xdg.desktopEntries = {

View file

@ -1,5 +1,4 @@
{ pkgs, ... }:
{
{pkgs, ...}: {
programs.firefox = {
enable = true;
profiles.default = {
@ -12,7 +11,7 @@
}
];
icon = "https://archlinux.org/favicon.ico";
definedAliases = [ "@aw" ];
definedAliases = ["@aw"];
};
aur = {
name = "Arch User Repository";
@ -22,43 +21,49 @@
}
];
icon = "https://archlinux.org/favicon.ico";
definedAliases = [ "@aur" ];
definedAliases = ["@aur"];
};
arch-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";
definedAliases = [ "@pac" ];
definedAliases = ["@pac"];
};
chatgpt = {
name = "ChatGPT";
urls = [ { template = "https://chatgpt.com/?q={searchTerms}"; } ];
urls = [{template = "https://chatgpt.com/?q={searchTerms}";}];
icon = "https://chatgpt.com/favicon.ico";
definedAliases = [ "@gpt" ];
definedAliases = ["@gpt"];
};
scoop = {
name = "scoop";
urls = [ { template = "https://scoop.sh/#/apps?q={searchTerms}"; } ];
urls = [{template = "https://scoop.sh/#/apps?q={searchTerms}";}];
icon = "https://scoop.sh/favicon.ico";
definedAliases = [ "@sc" ];
definedAliases = ["@sc"];
};
perplexity = {
name = "Perplexity";
urls = [ { template = "https://www.perplexity.ai/?q={searchTerms}"; } ];
urls = [{template = "https://www.perplexity.ai/?q={searchTerms}";}];
icon = "https://perplexity.ai/favicon.ico";
definedAliases = [ "@pplx" ];
definedAliases = ["@pplx"];
};
winget = {
name = "Windows Package Manager";
urls = [ { template = "https://winget.ragerworks.com/search/all/{searchTerms}"; } ];
urls = [{template = "https://winget.ragerworks.com/search/all/{searchTerms}";}];
icon = "https://microsoft.com/favicon.ico";
definedAliases = [ "@win" ];
definedAliases = ["@win"];
};
github = {
name = "GitHub Repository";
urls = [ { template = "https://github.com/search?type=repositories&q={searchTerms}"; } ];
urls = [{template = "https://github.com/search?type=repositories&q={searchTerms}";}];
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; [

View file

@ -1,5 +1,4 @@
{ pkgs, ... }:
{
{pkgs, ...}: {
home.packages = with pkgs; [
gnome-tweaks
sushi
@ -14,18 +13,20 @@
gnomeExtensions.blur-my-shell
gnomeExtensions.appindicator
gnomeExtensions.gsconnect
gnomeExtensions.resource-monitor
gnomeExtensions.lunar-calendar
];
programs.gnome-shell.enable = true;
programs.gnome-shell.extensions = [
{ package = pkgs.gnomeExtensions.dash-to-dock; }
{ package = pkgs.gnomeExtensions.caffeine; }
{ package = pkgs.gnomeExtensions.logo-menu; }
{ package = pkgs.gnomeExtensions.kimpanel; }
{ package = pkgs.gnomeExtensions.appindicator; }
{ package = pkgs.gnomeExtensions.gsconnect; }
{ package = pkgs.gnomeExtensions.clipboard-indicator; }
{ package = pkgs.gnomeExtensions.advanced-alttab-window-switcher; }
{ package = pkgs.gnomeExtensions.blur-my-shell; }
{package = pkgs.gnomeExtensions.dash-to-dock;}
{package = pkgs.gnomeExtensions.caffeine;}
{package = pkgs.gnomeExtensions.logo-menu;}
{package = pkgs.gnomeExtensions.kimpanel;}
{package = pkgs.gnomeExtensions.appindicator;}
{package = pkgs.gnomeExtensions.gsconnect;}
{package = pkgs.gnomeExtensions.clipboard-indicator;}
{package = pkgs.gnomeExtensions.advanced-alttab-window-switcher;}
# {package = pkgs.gnomeExtensions.blur-my-shell;}
];
dconf.settings = {
@ -49,6 +50,9 @@
symbolic-icon = true;
use-custom-icon = false;
};
"org/gnome/shell/extensions/clipboard-indicator" = {
toggle-menu = ["<Super>v"];
};
"org/gnome/shell" = {
favorite-apps = [
"com.mitchellh.ghostty.desktop"
@ -56,6 +60,24 @@
"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" = {
name = "Open File Explorer";
command = "dolphin";
@ -78,6 +100,7 @@
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom-2/"
];
};
# Scanned directory in GNOME Search
"org/freedesktop/tracker/miner/files" = {
"index-recursive-directories" = [
"&DESKTOP"
@ -88,6 +111,9 @@
"/home/js0ny/Obsidian"
];
};
"ca/desrt/dconf-editor" = {
show-warning = false;
};
};
# qt.style.name = "adwaita";

View file

@ -3,16 +3,29 @@
xdg.mime.enable = true;
xdg.mimeApps = {
enable = true;
# In Dolphin, middle click to open with 2nd order default app
defaultApplications = {
# PDF
"application/pdf" = "org.kde.okular.desktop";
# Plain text
"text/plain" = "nvim-qt.desktop";
# Source Code - C
"text/x-csrc" = "nvim-qt.desktop";
"text/x-chdr" = "nvim-qt.desktop";
# File Explorer
"inode/directory" = "org.kde.dolphin.desktop";
"x-scheme-handler/tg" = "org.telegram.desktop.desktop";
"x-scheme-handler/tonsite" = "org.telegram.desktop.desktop";
};
associations.added = {
# Image Viewer
"image/jpeg" = "nsxiv.desktop;org.gnome.Loupe.desktop";
"image/jpg" = "nsxiv.desktop;org.gnome.Loupe.desktop";
"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/tonsite" = "org.telegram.desktop.desktop";
};

View file

@ -1,37 +1,50 @@
# ~/.config/nixcfgs/users/js0ny/default.nix
{...}: {
imports = [
# General config
./default.nix
# Use Gnome-keyring for GUI setup
../../modules/home/gnome-keyrings.nix
# Packages
./packages/cli.nix
./packages/gui.nix
./packages/flatpak.nix
./packages/fonts.nix
./packages/catppuccin.nix
# Personal Program
./programs/chromium.nix
./programs/emacs.nix
# ./programs/gnome.nix
./programs/plasma.nix
./programs/shell.nix
./programs/vscode.nix
./programs/firefox.nix
./programs/emacs.nix
./programs/vscode.nix
./programs/shell.nix
./programs/distrobox.nix
./programs/mime.nix
./programs/zed-editor.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/go.nix
../../modules/home/dev/java.nix
../../modules/home/dev/lua.nix
../../modules/home/dev/nix.nix
../../modules/home/dev/python.nix
../../modules/home/programs/eza.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
../../modules/home/dev/typst.nix
];
home.stateVersion = "25.05";