feat: add nixos and hm config

This commit is contained in:
js0ny 2025-10-11 11:26:21 +01:00
parent 8db7f8a1e9
commit ffafb4a329
54 changed files with 1282 additions and 0 deletions

View file

@ -0,0 +1,48 @@
# ~/.config/nixcfgs/users/js0ny/default.nix
{
pkgs,
nix-flatpak,
plasma-manager,
...
}: {
imports = [
./packages/cli.nix
./packages/gui.nix
./packages/flatpak.nix
./programs/chromium.nix
./programs/gnome.nix
./programs/plasma.nix
./programs/shell.nix
./programs/vscodium.nix
./programs/git.nix
../../modules/home/dev/java.nix
../../modules/home/dev/nix.nix
../../modules/home/dev/python.nix
../../modules/home/programs/eza.nix
../../modules/home/programs/fzf.nix
../../modules/home/programs/lsd.nix
../../modules/home/programs/nvim.nix
../../modules/home/programs/rime.nix
../../modules/home/programs/starship.nix
../../modules/home/programs/zed-editor.nix
../../modules/home/programs/zoxide.nix
# ./flatpak.nix
];
home.username = "js0ny";
home.homeDirectory = "/home/js0ny";
home.packages = with pkgs; [
home-manager
gcr
];
services.gnome-keyring.enable = true;
xdg.mimeApps = {
defaultApplications = {
"application/pdf" = "org.kde.okular.desktop";
};
};
home.stateVersion = "25.05";
}

View file

@ -0,0 +1,52 @@
# ~/.config/nix-config/common/packages-headless.nix
{pkgs, ...}: {
home.packages = with pkgs; [
age
aichat
beancount
bat
btop
gnumake
chezmoi
cmake
curlie
duf
dust
fd
ffmpeg
delta
glow
hyperfine
just
lazygit
lsd
pandoc
dos2unix
nushell
procs
ripgrep
ripgrep-all
tlrc
zoxide
vim
wget
git
fastfetch
fzf
kitty
zsh
fish
zoxide
wakatime-cli
# Langs
# lua
luajit
lua51Packages.luarocks
ghostscript
mermaid-cli
tectonic
# Misc
ta-lib
ddgr
];
}

View file

@ -0,0 +1,26 @@
# https://github.com/gmodena/nix-flatpak
{nix-flatpak, ...}: {
services.flatpak.remotes = [
{
name = "flathub";
location = "https://dl.flathub.org/repo/flathub.flatpakrepo";
}
];
services.flatpak.packages = [
# { appId = "com.google.Chrome"; origin = "flathub" }
# "com.google.Chrome"
# "com.valvesoftware.Steam"
"com.qq.QQ"
"com.tencent.WeChat"
# "eu.betterbird.Betterbird"
# "com.baidu.NetDisk"
"com.discordapp.Discord"
"com.spotify.Client"
"com.google.EarthPro"
"com.wps.Office"
"md.obsidian.Obsidian"
# "app.zen_browser.zen"
# "com.vivaldi.Vivaldi"
"com.getpostman.Postman"
];
}

View file

@ -0,0 +1,28 @@
{pkgs, ...}: {
home.packages = with pkgs; [
kitty
ghostty
alacritty
kdePackages.dolphin
kdePackages.okular
kdePackages.elisa
papirus-icon-theme
firefox
pcloud
telegram-desktop
steam
jetbrains.idea-ultimate
jetbrains.rider
warp-terminal
# clash-verge-rev
haruna
sioyek
vimiv-qt
imv
localsend
neovide
cherry-studio
vivaldi
kdePackages.kdeconnect-kde
];
}

View file

@ -0,0 +1,15 @@
{pkgs, ...}: {
programs.chromium = {
enable = true;
commandLineArgs = [
"--enable-wayland-ime"
];
extensions = [
{id = "cjpalhdlnbpafiamejdnhcphjbkeiagm";} # ublock origin
{id = "ghmbeldphafepmbegfdlkpapadhbakde";} # proton pass
{id = "eimadpbcbfnmbkopoojfekhnkhdbieeh";} # dark reader
{id = "gfbliohnnapiefjpjlpjnehglfpaknnc";} # surfingkeys
{id = "bpoadfkcbjbfhfodiogcnhhhpibjhbnh";} # immersive translate
];
};
}

View file

@ -0,0 +1,16 @@
{pkgs, ...}: {
imports = [
./shell.nix
./vscodium.nix
../../../modules/home/dev/java.nix
../../../modules/home/dev/python.nix
../../../modules/home/programs/eza.nix
../../../modules/home/programs/fzf.nix
../../../modules/home/programs/lsd.nix
../../../modules/home/programs/nvim.nix
../../../modules/home/programs/rime.nix
../../../modules/home/programs/starship.nix
../../../modules/home/programs/zed-editor.nix
../../../modules/home/programs/zoxide.nix
];
}

View file

@ -0,0 +1,7 @@
{pkgs, ...}: {
programs.git = {
enable = true;
userName = "js0ny";
userEmail = "contact@js0ny.net";
};
}

View file

@ -0,0 +1,48 @@
{pkgs, ...}: {
home.packages = with pkgs; [
gnome-tweaks
sushi
orchis-theme
gnomeExtensions.dash-to-dock
gnomeExtensions.caffeine
gnomeExtensions.logo-menu
gnomeExtensions.kimpanel
gnomeExtensions.clipboard-indicator
gnomeExtensions.advanced-alttab-window-switcher
gnomeExtensions.paperwm
gnomeExtensions.blur-my-shell
gnomeExtensions.appindicator
gnomeExtensions.gsconnect
];
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;}
];
dconf.settings = {
"org/gnome/desktop/interface" = {
icon-theme = "Papirus";
accent-color = "pink";
show-battery-percentage = true;
};
"org/gnome/epiphany" = {
ask-for-default = false;
};
"org/gnome/epiphany/web" = {
remember-passwords = false;
enable-mouse-gestures = true;
};
"org/gnome/shell/extensions/Logo-menu" = {
menu-button-icon-image = 23;
symbolic-icon = true;
use-custom-icon = false;
};
};
}

View file

@ -0,0 +1,48 @@
{pkgs, ...}: {
programs.plasma = {
enable = true;
workspace.iconTheme = "Papirus";
input.touchpads = [
{
disableWhileTyping = true;
enable = true;
leftHanded = true;
middleButtonEmulation = true;
name = "ASUP1208:00 093A:3011 Touchpad";
productId = "3011";
vendorId = "093A";
naturalScroll = true;
pointerSpeed = 0;
tapToClick = true;
accelerationProfile = "none";
scrollSpeed = 0.15;
}
];
panels = [
# Windows-like panel at the bottom
{
location = "bottom";
widgets = [
"org.kde.plasma.kickoff"
"org.kde.plasma.icontasks"
"org.kde.plasma.marginsseparator"
"org.kde.plasma.systemtray"
"org.kde.plasma.digitalclock"
];
}
# Global menu at the top
{
location = "top";
height = 26;
widgets = ["org.kde.plasma.pager"];
opacity = "translucent";
}
];
};
programs.okular = {
enable = true;
accessibility.changeColors.mode = "InvertLightness";
general.mouseMode = "TextSelect";
};
}

View file

@ -0,0 +1,30 @@
{pkgs, ...}: let
commonAliases = {
v = "nvim";
g = "lazygit";
ni = "touch";
cls = "clear";
ii = "open";
c = "codium";
aic = "aichat -s";
};
in {
programs.fish = {
enable = true;
interactiveShellInit = "set fish_greeting";
# preferAbbrs = true;
shellAbbrs = commonAliases;
};
programs.zsh = {
enable = true;
autocd = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
dotDir = "/home/js0ny/.config/zsh";
shellAliases = commonAliases;
};
programs.bash = {
enable = true;
shellAliases = commonAliases;
};
}

View file

@ -0,0 +1,17 @@
{pkgs, ...}: {
programs.vscode = {
package = pkgs.vscodium;
enable = true;
};
programs.vscode.profiles.default = {
extensions = with pkgs.vscode-extensions; [
golang.go
vscodevim.vim
pkief.material-icon-theme
catppuccin.catppuccin-vsc
vspacecode.vspacecode
vspacecode.whichkey
];
};
}