mirror of
https://github.com/js0ny/dotfiles.git
synced 2025-12-21 08:43:00 +00:00
catppuccin: migrate modules to home-manager
This commit is contained in:
parent
3854b68891
commit
3e00cb6173
30 changed files with 595 additions and 66 deletions
|
|
@ -63,6 +63,12 @@ vim:ft=gotmpl
|
|||
.config/fcitx5
|
||||
.config/niri
|
||||
.config/neovide
|
||||
.config/yazi
|
||||
.config/swaylock
|
||||
.config/lazygit
|
||||
.config/rofi
|
||||
.config/waybar
|
||||
.config/ghostty
|
||||
.local/share/kio/**
|
||||
.local/share/fonts/**
|
||||
{{ end }}
|
||||
|
|
|
|||
|
|
@ -36,7 +36,8 @@ bind = $mainMod, up, movefocus, u
|
|||
bind = $mainMod, down, movefocus, d
|
||||
|
||||
|
||||
bind = $mainMod, c, exec, grimblast copysave area $HOME/Pictures/Screenshots/"$(date +%Y%m%d-%H%M%S)"
|
||||
bind = $mainMod, s, exec, grimblast copysave active $HOME/Pictures/Screenshots/"$(date +%Y%m%d-%H%M%S)"
|
||||
bind = $mainMod SHIFT, S, exec, grimblast copysave area $HOME/Pictures/Screenshots/"$(date +%Y%m%d-%H%M%S)"
|
||||
bind = $mainMod SHIFT, c, exec, notify-send "Color: $(hyprpicker)"
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
|
|
|
|||
|
|
@ -78,7 +78,5 @@ map cmd+enter toggle_layout stack
|
|||
map ctrl+shift+enter toggle_layout stack
|
||||
# }}}
|
||||
|
||||
map f1 launch --type tab --cwd ~/.dotfiles nvim
|
||||
|
||||
|
||||
shell zsh
|
||||
|
|
|
|||
|
|
@ -15,7 +15,15 @@ return {
|
|||
disabled_filetypes = {},
|
||||
-- https://github.com/Saghen/blink.pairs/blob/main/lua/blink/pairs/config/mappings.lua#24
|
||||
-- Battery included!
|
||||
pairs = {},
|
||||
pairs = {
|
||||
["'"] = {
|
||||
"''",
|
||||
when = function(ctx)
|
||||
return ctx:text_before_cursor(1) == "'"
|
||||
end,
|
||||
languages = { "nix" },
|
||||
},
|
||||
},
|
||||
},
|
||||
highlights = {
|
||||
enabled = true,
|
||||
|
|
|
|||
97
nixcfgs/flake.lock
generated
97
nixcfgs/flake.lock
generated
|
|
@ -104,6 +104,24 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"catppuccin": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1763110997,
|
||||
"narHash": "sha256-S2vF+3D/9vna3/vBV7LHiGUbp+ltPsQhvccIyim6VQg=",
|
||||
"owner": "catppuccin",
|
||||
"repo": "nix",
|
||||
"rev": "e6928cdd3dd20636326c2756d2bc8fd1cd825768",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "catppuccin",
|
||||
"repo": "nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"crane": {
|
||||
"locked": {
|
||||
"lastModified": 1751562746,
|
||||
|
|
@ -121,7 +139,7 @@
|
|||
},
|
||||
"devshell": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_6"
|
||||
"nixpkgs": "nixpkgs_7"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1741473158,
|
||||
|
|
@ -328,7 +346,7 @@
|
|||
},
|
||||
"home-manager_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_7"
|
||||
"nixpkgs": "nixpkgs_8"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1756842514,
|
||||
|
|
@ -418,7 +436,7 @@
|
|||
"hyprlang": "hyprlang",
|
||||
"hyprutils": "hyprutils",
|
||||
"hyprwayland-scanner": "hyprwayland-scanner",
|
||||
"nixpkgs": "nixpkgs_8",
|
||||
"nixpkgs": "nixpkgs_9",
|
||||
"pre-commit-hooks": "pre-commit-hooks",
|
||||
"systems": "systems_3",
|
||||
"xdph": "xdph"
|
||||
|
|
@ -644,7 +662,7 @@
|
|||
"inputs": {
|
||||
"niri-stable": "niri-stable",
|
||||
"niri-unstable": "niri-unstable",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"nixpkgs-stable": "nixpkgs-stable",
|
||||
"xwayland-satellite-stable": "xwayland-satellite-stable",
|
||||
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||
|
|
@ -736,7 +754,7 @@
|
|||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-parts": "flake-parts_2",
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
"nixpkgs": "nixpkgs_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1763223362,
|
||||
|
|
@ -831,6 +849,22 @@
|
|||
}
|
||||
},
|
||||
"nixpkgs_10": {
|
||||
"locked": {
|
||||
"lastModified": 1756819007,
|
||||
"narHash": "sha256-12V64nKG/O/guxSYnr5/nq1EfqwJCdD2+cIGmhz3nrE=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "aaff8c16d7fc04991cac6245bee1baa31f72b1e1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_11": {
|
||||
"locked": {
|
||||
"lastModified": 1747958103,
|
||||
"narHash": "sha256-qmmFCrfBwSHoWw7cVK4Aj+fns+c54EBP8cGqp/yK410=",
|
||||
|
|
@ -847,6 +881,22 @@
|
|||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1762111121,
|
||||
"narHash": "sha256-4vhDuZ7OZaZmKKrnDpxLZZpGIJvAeMtK6FKLJYUtAdw=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "b3d51a0365f6695e7dd5cdf3e180604530ed33b4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1762844143,
|
||||
"narHash": "sha256-SlybxLZ1/e4T2lb1czEtWVzDCVSTvk9WLwGhmxFmBxI=",
|
||||
|
|
@ -862,7 +912,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1754028485,
|
||||
"narHash": "sha256-IiiXB3BDTi6UqzAZcf2S797hWEPCRZOwyNThJIYhUfk=",
|
||||
|
|
@ -878,7 +928,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 1762604901,
|
||||
"narHash": "sha256-Pr2jpryIaQr9Yx8p6QssS03wqB6UifnnLr3HJw9veDw=",
|
||||
|
|
@ -894,7 +944,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_5": {
|
||||
"nixpkgs_6": {
|
||||
"locked": {
|
||||
"lastModified": 1762844143,
|
||||
"narHash": "sha256-SlybxLZ1/e4T2lb1czEtWVzDCVSTvk9WLwGhmxFmBxI=",
|
||||
|
|
@ -910,7 +960,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_6": {
|
||||
"nixpkgs_7": {
|
||||
"locked": {
|
||||
"lastModified": 1722073938,
|
||||
"narHash": "sha256-OpX0StkL8vpXyWOGUD6G+MA26wAXK6SpT94kLJXo6B4=",
|
||||
|
|
@ -926,7 +976,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_7": {
|
||||
"nixpkgs_8": {
|
||||
"locked": {
|
||||
"lastModified": 1756542300,
|
||||
"narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=",
|
||||
|
|
@ -942,7 +992,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_8": {
|
||||
"nixpkgs_9": {
|
||||
"locked": {
|
||||
"lastModified": 1751792365,
|
||||
"narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=",
|
||||
|
|
@ -958,26 +1008,10 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_9": {
|
||||
"locked": {
|
||||
"lastModified": 1756819007,
|
||||
"narHash": "sha256-12V64nKG/O/guxSYnr5/nq1EfqwJCdD2+cIGmhz3nrE=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "aaff8c16d7fc04991cac6245bee1baa31f72b1e1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nur": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts_3",
|
||||
"nixpkgs": "nixpkgs_5"
|
||||
"nixpkgs": "nixpkgs_6"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1762951833,
|
||||
|
|
@ -1065,13 +1099,14 @@
|
|||
"inputs": {
|
||||
"betterfox-nix": "betterfox-nix",
|
||||
"caelestia-shell": "caelestia-shell",
|
||||
"catppuccin": "catppuccin",
|
||||
"firefox-addons": "firefox-addons",
|
||||
"home-manager": "home-manager",
|
||||
"niri-flake": "niri-flake",
|
||||
"nix-darwin": "nix-darwin",
|
||||
"nix-flatpak": "nix-flatpak",
|
||||
"nixcord": "nixcord",
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"nixpkgs": "nixpkgs_5",
|
||||
"nixpkgs-stable": "nixpkgs-stable_2",
|
||||
"nur": "nur",
|
||||
"plasma-manager": "plasma-manager",
|
||||
|
|
@ -1147,7 +1182,7 @@
|
|||
},
|
||||
"treefmt-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_10"
|
||||
"nixpkgs": "nixpkgs_11"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750931469,
|
||||
|
|
@ -1234,7 +1269,7 @@
|
|||
"flake-parts": "flake-parts_4",
|
||||
"home-manager": "home-manager_2",
|
||||
"hyprland": "hyprland",
|
||||
"nixpkgs": "nixpkgs_9",
|
||||
"nixpkgs": "nixpkgs_10",
|
||||
"treefmt-nix": "treefmt-nix",
|
||||
"xremap": "xremap"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -46,6 +46,7 @@
|
|||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
nixcord.url = "github:kaylorben/nixcord";
|
||||
catppuccin.url = "github:catppuccin/nix";
|
||||
};
|
||||
|
||||
outputs = {
|
||||
|
|
@ -65,6 +66,7 @@
|
|||
firefox-addons,
|
||||
zen-browser,
|
||||
nixcord,
|
||||
catppuccin,
|
||||
...
|
||||
} @ inputs: let
|
||||
overlays = [
|
||||
|
|
@ -133,6 +135,7 @@
|
|||
niri-flake.homeModules.niri
|
||||
betterfox-nix.modules.homeManager.betterfox
|
||||
nixcord.homeModules.nixcord
|
||||
catppuccin.homeModules.catppuccin
|
||||
];
|
||||
};
|
||||
"js0ny@nixvirt" = home-manager.lib.homeManagerConfiguration {
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@
|
|||
../../modules/nixos/desktop/dm/sddm.nix
|
||||
../../modules/nixos/desktop/de/kde.nix
|
||||
../../modules/nixos/desktop/de/niri.nix
|
||||
../../modules/nixos/desktop/de/hyprland.nix
|
||||
|
||||
# desktop programs
|
||||
../../modules/nixos/programs/zsh.nix
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
{pkgs, ...}: {
|
||||
programs.lsd = {
|
||||
enable = true;
|
||||
colors = "always";
|
||||
icons = "always";
|
||||
enableBashIntegration = true;
|
||||
enableFishIntegration = true;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
{...}: {
|
||||
catppuccin.starship.enable = false;
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
|
|
|
|||
|
|
@ -18,4 +18,10 @@ in {
|
|||
my-catppuccin-kde
|
||||
catppuccin-fcitx5
|
||||
];
|
||||
|
||||
catppuccin = {
|
||||
enable = true;
|
||||
flavor = "mocha";
|
||||
accent = "pink";
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,12 +1,20 @@
|
|||
# ~/.config/nix-config/common/packages-headless.nix
|
||||
{pkgs, ...}: {
|
||||
programs.bat.enable = true;
|
||||
programs.btop.enable = true;
|
||||
programs.delta.enable = true;
|
||||
programs.lazygit = {
|
||||
enable = true;
|
||||
settings = {
|
||||
git.pagers = [{pager = "delta --dark --paging=never";}];
|
||||
};
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
rclone
|
||||
age
|
||||
aichat
|
||||
beancount
|
||||
bat
|
||||
btop
|
||||
gnumake
|
||||
chezmoi
|
||||
cmake
|
||||
|
|
@ -15,7 +23,6 @@
|
|||
dust
|
||||
fd
|
||||
ffmpeg
|
||||
delta
|
||||
glow
|
||||
hyperfine
|
||||
just
|
||||
|
|
@ -35,8 +42,6 @@
|
|||
fastfetch
|
||||
fzf
|
||||
kitty
|
||||
zsh
|
||||
fish
|
||||
zoxide
|
||||
wakatime-cli
|
||||
sdcv
|
||||
|
|
|
|||
|
|
@ -20,7 +20,6 @@ in {
|
|||
home.packages = with pkgs;
|
||||
[
|
||||
# Terminal Emulator
|
||||
ghostty # default
|
||||
kitty
|
||||
alacritty
|
||||
warp-terminal
|
||||
|
|
|
|||
|
|
@ -11,12 +11,19 @@
|
|||
"--enable-features=TouchpadOverscrollHistoryNavigation"
|
||||
];
|
||||
extensions = [
|
||||
{id = "cjpalhdlnbpafiamejdnhcphjbkeiagm";} # ublock origin
|
||||
{id = "logpjaacgmcbpdkdchjiaagddngobkck";} # Shrotkeys
|
||||
{id = "bggfcpfjbdkhfhfmkjpbhnkhnpjjeomc";} # Material Icons for GitHub
|
||||
{id = "ddkjiahejlhfcafbddmgiahcphecmpfh";} # uBlock Origin Lite
|
||||
{id = "ghmbeldphafepmbegfdlkpapadhbakde";} # proton pass
|
||||
{id = "eimadpbcbfnmbkopoojfekhnkhdbieeh";} # dark reader
|
||||
{id = "gfbliohnnapiefjpjlpjnehglfpaknnc";} # surfingkeys
|
||||
{id = "bpoadfkcbjbfhfodiogcnhhhpibjhbnh";} # immersive translate
|
||||
{id = "dhdgffkkebhmkfjojejmpbldmpobfkfo";} # tampermonkey
|
||||
{id = "jlgkpaicikihijadgifklkbpdajbkhjo";} # CrxMouse: Mouse Gestures
|
||||
{id = "mnjggcdmjocbbbhaepdhchncahnbgone";} # SponsorBlock for Youtube
|
||||
{id = "clngdbkpkpeebahjckkjfobafhncgmne";} # Stylus
|
||||
{id = "jpbjcnkcffbooppibceonlgknpkniiff";} # Global Speed
|
||||
{id = "bdiifdefkgmcblbcghdlonllpjhhjgof";} # Kiss Translator
|
||||
{id = "gebbhagfogifgggkldgodflihgfeippi";} # Return YouTube Dislike
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -85,6 +85,14 @@
|
|||
app-id = "^org.telegram.desktop$";
|
||||
title = "^Media viewer$";
|
||||
}
|
||||
{
|
||||
app-id = "^com.ayugram.desktop$";
|
||||
title = "^Media viewer$";
|
||||
}
|
||||
{
|
||||
app-id = "^io.github.kukuruzka165.materialgram$";
|
||||
title = "^Media viewer$";
|
||||
}
|
||||
{
|
||||
app-id = "^wechat$";
|
||||
title = "^图片和视频$";
|
||||
|
|
|
|||
|
|
@ -34,29 +34,24 @@
|
|||
in {
|
||||
imports = [
|
||||
../../rofi.nix
|
||||
./waybar.nix
|
||||
./waybar
|
||||
./swww.nix
|
||||
./kanshi.nix
|
||||
./swaylock.nix
|
||||
];
|
||||
home.packages = with pkgs; [
|
||||
swayidle # Screensaver
|
||||
dunst # Notification daemon
|
||||
cliphist # Clipboard daemon
|
||||
wmname
|
||||
# swayidleWrapper
|
||||
brightnessctl
|
||||
playerctl
|
||||
powerprofiles-next
|
||||
blueman
|
||||
];
|
||||
programs.swaylock = {
|
||||
enable = true;
|
||||
package = pkgs.swaylock-effects;
|
||||
};
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
extraPortals = with pkgs; [xdg-desktop-portal-wlr xdg-desktop-portal-gtk];
|
||||
};
|
||||
services.blueman-applet.enable = true;
|
||||
services.cliphist.enable = true;
|
||||
services.dunst.enable = true;
|
||||
}
|
||||
|
|
|
|||
16
nixcfgs/users/js0ny/programs/desktop/wayland-wm/swaylock.nix
Normal file
16
nixcfgs/users/js0ny/programs/desktop/wayland-wm/swaylock.nix
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
{pkgs, ...}: {
|
||||
programs.swaylock = {
|
||||
enable = true;
|
||||
package = pkgs.swaylock-effects;
|
||||
settings = {
|
||||
ignore-empty-password = true;
|
||||
show-failed-attempts = true;
|
||||
clock = true;
|
||||
indicator = true;
|
||||
indicator-radius = 100;
|
||||
indicator-thickness = 7;
|
||||
fade-in = 0.2;
|
||||
grace = 2;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = with pkgs; [
|
||||
waybar
|
||||
pavucontrol
|
||||
font-awesome
|
||||
];
|
||||
}
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
{pkgs, ...}: {
|
||||
imports = [./modules.nix];
|
||||
home.packages = with pkgs; [
|
||||
pavucontrol
|
||||
font-awesome
|
||||
];
|
||||
services.blueman-applet.enable = true;
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
style = ''
|
||||
* {
|
||||
/* `otf-font-awesome` is required to be installed for icons */
|
||||
font-family: "Font Awesome 7 Free", "JetBrainsMono Nerd Font";
|
||||
font-size: 14px;
|
||||
font-feature-settings: "tnum";
|
||||
}
|
||||
#workspaces button:hover {
|
||||
background: rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
|
||||
#workspaces button.focused {
|
||||
background-color: #64727D;
|
||||
box-shadow: inset 0 -3px #ffffff;
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
background-color: #eb4d4b;
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,223 @@
|
|||
{...}: {
|
||||
programs.waybar.settings = [
|
||||
{
|
||||
layer = "top";
|
||||
height = 32;
|
||||
margin-top = 4;
|
||||
margin-left = 4;
|
||||
margin-right = 4;
|
||||
spacing = 4;
|
||||
modules-left = [
|
||||
"custom/osicon"
|
||||
"sway/workspaces"
|
||||
"hyprland/workspaces"
|
||||
"wlr/taskbar"
|
||||
];
|
||||
modules-right = [
|
||||
"tray"
|
||||
"pulseaudio"
|
||||
"cpu"
|
||||
"memory"
|
||||
"network"
|
||||
"battery"
|
||||
"clock"
|
||||
];
|
||||
"custom/logout" = {
|
||||
format = "⏻";
|
||||
tooltip = false;
|
||||
on-click = "niri msg action quit";
|
||||
};
|
||||
"wlr/taskbar" = {
|
||||
format = "{icon}";
|
||||
tooltip-format = "{title} | {app_id}";
|
||||
on-click = "activate";
|
||||
on-click-middle = "close";
|
||||
on-click-right = "fullscreen";
|
||||
};
|
||||
keyboard-state = {
|
||||
numlock = true;
|
||||
capslock = true;
|
||||
format = "{name} {icon}";
|
||||
format-icons = {
|
||||
locked = "";
|
||||
unlocked = "";
|
||||
};
|
||||
};
|
||||
"sway/mode" = {
|
||||
format = "<span style=\"italic\">{}</span>";
|
||||
};
|
||||
"sway/scratchpad" = {
|
||||
format = "{icon} {count}";
|
||||
show-empty = false;
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
];
|
||||
tooltip = true;
|
||||
tooltip-format = "{app}: {title}";
|
||||
};
|
||||
mpd = {
|
||||
format = "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ";
|
||||
format-disconnected = "Disconnected ";
|
||||
format-stopped = "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ";
|
||||
unknown-tag = "N/A";
|
||||
interval = 2;
|
||||
consume-icons = {
|
||||
on = " ";
|
||||
};
|
||||
random-icons = {
|
||||
off = "<span color=\"#f53c3c\"></span> ";
|
||||
on = " ";
|
||||
};
|
||||
repeat-icons = {
|
||||
on = " ";
|
||||
};
|
||||
single-icons = {
|
||||
on = "1 ";
|
||||
};
|
||||
state-icons = {
|
||||
paused = "";
|
||||
playing = "";
|
||||
};
|
||||
tooltip-format = "MPD (connected)";
|
||||
tooltip-format-disconnected = "MPD (disconnected)";
|
||||
};
|
||||
idle_inhibitor = {
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
activated = "";
|
||||
deactivated = "";
|
||||
};
|
||||
};
|
||||
tray = {
|
||||
spacing = 10;
|
||||
};
|
||||
clock = {
|
||||
tooltip-format = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
|
||||
format = "{:%e %B %H:%M}";
|
||||
};
|
||||
cpu = {
|
||||
format = "{usage}% ";
|
||||
tooltip = false;
|
||||
};
|
||||
memory = {
|
||||
format = "{}% ";
|
||||
};
|
||||
temperature = {
|
||||
critical-threshold = 80;
|
||||
format = "{temperatureC}°C {icon}";
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
};
|
||||
backlight = {
|
||||
format = "{percent}% {icon}";
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
};
|
||||
battery = {
|
||||
states = {
|
||||
warning = 30;
|
||||
critical = 15;
|
||||
};
|
||||
format = "{capacity}% {icon}";
|
||||
format-charging = "{capacity}% ";
|
||||
format-plugged = "{capacity}% ";
|
||||
format-alt = "{time} {icon}";
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
};
|
||||
"battery#bat2" = {
|
||||
bat = "BAT2";
|
||||
};
|
||||
network = {
|
||||
format-wifi = "";
|
||||
format-ethernet = "";
|
||||
tooltip-format = "{ifname} via {gwaddr} ";
|
||||
format-linked = "";
|
||||
format-disconnected = "⚠";
|
||||
format-alt = "{ifname}: {ipaddr}/{cidr}";
|
||||
};
|
||||
pulseaudio = {
|
||||
scroll-step = 5;
|
||||
format = "{icon}";
|
||||
tooltip-format = "{volume}% {icon}";
|
||||
format-bluetooth = "{volume}% {icon}";
|
||||
format-bluetooth-muted = " {icon}";
|
||||
format-muted = "";
|
||||
format-source = "{volume}% ";
|
||||
format-source-muted = "";
|
||||
format-icons = {
|
||||
headphone = "";
|
||||
hands-free = "";
|
||||
headset = "";
|
||||
phone = "";
|
||||
portable = "";
|
||||
car = "";
|
||||
default = [
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
};
|
||||
on-click = "pavucontrol";
|
||||
on-click-right = "pactl set-sink-mute @DEFAULT_SINK@ toggle";
|
||||
};
|
||||
"custom/media" = {
|
||||
format = "{icon} {}";
|
||||
return-type = "json";
|
||||
max-length = 40;
|
||||
format-icons = {
|
||||
spotify = "";
|
||||
default = "🎜";
|
||||
};
|
||||
escape = true;
|
||||
exec = "$HOME/.config/waybar/mediaplayer.py 2> /dev/null";
|
||||
};
|
||||
|
||||
power-profiles-daemon = {
|
||||
format = "{icon}";
|
||||
tooltip-format = "Power profile: {profile}\nDriver: {driver}";
|
||||
tooltip = true;
|
||||
format-icons = {
|
||||
default = "";
|
||||
performance = "";
|
||||
balanced = "";
|
||||
power-saver = "";
|
||||
};
|
||||
};
|
||||
"custom/power" = {
|
||||
format = "⏻ ";
|
||||
tooltip = false;
|
||||
menu = "on-click";
|
||||
menu-file = "$HOME/.config/waybar/power_menu.xml";
|
||||
menu-actions = {
|
||||
shutdown = "shutdown";
|
||||
reboot = "reboot";
|
||||
suspend = "systemctl suspend";
|
||||
hibernate = "systemctl hibernate";
|
||||
};
|
||||
};
|
||||
"custom/osicon" = {
|
||||
format = "<span size='x-large'></span>";
|
||||
on-click-right = "rofi -show drun -icon-theme Papirus -show-icons";
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
||||
|
|
@ -2,7 +2,9 @@
|
|||
addons = pkgs.firefox-addons;
|
||||
in {
|
||||
# imports = [./lib.nix]; # TODO: Declarative extension permissions
|
||||
catppuccin.firefox.enable = true;
|
||||
programs.firefox.profiles.default = {
|
||||
extensions.force = true;
|
||||
extensions.packages = with addons; [
|
||||
# Keybindings & Gestures & User Scripts
|
||||
foxy-gestures
|
||||
|
|
@ -12,6 +14,7 @@ in {
|
|||
|
||||
# Theming
|
||||
material-icons-for-github
|
||||
firefox-color
|
||||
|
||||
# Browsing Enhancement
|
||||
darkreader
|
||||
|
|
|
|||
49
nixcfgs/users/js0ny/programs/ghostty.nix
Normal file
49
nixcfgs/users/js0ny/programs/ghostty.nix
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
{config, ...}: {
|
||||
programs.ghostty = {
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
enableZshIntegration = true;
|
||||
enableFishIntegration = true;
|
||||
systemd.enable = true;
|
||||
# Not ready
|
||||
settings = {
|
||||
command = "${config.currentUser.defaultShell}";
|
||||
font-size = 13;
|
||||
font-family = "Maple Mono NF CN";
|
||||
# theme = light:Catppuccin Latte,dark:Catppuccin Mocha;
|
||||
# background-opacity = 0.8;
|
||||
|
||||
cursor-style = "block_hollow";
|
||||
cursor-style-blink = true;
|
||||
cursor-click-to-move = true;
|
||||
cursor-invert-fg-bg = true;
|
||||
|
||||
window-decoration = "auto";
|
||||
|
||||
# title = "👻";
|
||||
|
||||
### Keybindings
|
||||
|
||||
keybind = [
|
||||
"performable:ctrl+c=copy_to_clipboard"
|
||||
"alt+shift+h=goto_split:left"
|
||||
"alt+shift+j=goto_split:bottom"
|
||||
"alt+shift+k=goto_split:top"
|
||||
"alt+shift+l=goto_split:right"
|
||||
"alt+shift+|=new_split:right"
|
||||
"alt+shift+_=new_split:down"
|
||||
"alt+shift+enter=new_split:auto"
|
||||
"global:super+backquote=toggle_quick_terminal"
|
||||
"alt+shift+n=new_window"
|
||||
];
|
||||
|
||||
### Misc
|
||||
|
||||
app-notifications = "no-clipboard-copy";
|
||||
|
||||
### Reference to:
|
||||
# https://github.com/folke/dot/blob/master/config/ghostty/config
|
||||
# https://github.com/hackr-sh/ghostty-shaders
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -24,6 +24,8 @@
|
|||
"s" = "screenshot";
|
||||
"S" = "screenshot video";
|
||||
"f" = "cycle fullscreen";
|
||||
"n" = "playlist-next";
|
||||
"p" = "playlist-prev";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,4 +23,6 @@ in {
|
|||
programs.bash.shellAliases = nvimAlias;
|
||||
programs.zsh.shellAliases = nvimAlias;
|
||||
programs.nushell.shellAliases = nvimAlias;
|
||||
|
||||
catppuccin.nvim.enable = false; # Defined in lua config
|
||||
}
|
||||
|
|
|
|||
31
nixcfgs/users/js0ny/programs/obs-studio.nix
Normal file
31
nixcfgs/users/js0ny/programs/obs-studio.nix
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
programs.obs-studio = {
|
||||
enable = true;
|
||||
plugins = with pkgs.obs-studio-plugins; [
|
||||
input-overlay
|
||||
];
|
||||
};
|
||||
|
||||
xdg.configFile."obs-studio/user.override.ini".text = lib.generators.toINI {} {
|
||||
Appearance = {
|
||||
Theme = "com.obsproject.Catppuccin.Mocha";
|
||||
};
|
||||
};
|
||||
|
||||
# Manually merge obs-studio config to existing file
|
||||
home.activation.mergeObsStudioConfig = lib.hm.dag.entryAfter ["writeBoundary"] ''
|
||||
if [ -f ~/.config/obs-studio/user.override.ini ]; then
|
||||
# Create gwenviewrc if it doesn't exist
|
||||
touch ~/.config/obs-studio/user.ini
|
||||
|
||||
# Merge the override file into the main config
|
||||
${pkgs.crudini}/bin/crudini --merge ~/.config/obs-studio/user.ini < ~/.config/obs-studio/user.override.ini
|
||||
|
||||
$DRY_RUN_CMD rm -f ~/.config/obs-studio/user.override.ini
|
||||
fi
|
||||
'';
|
||||
}
|
||||
|
|
@ -101,6 +101,7 @@ in {
|
|||
];
|
||||
};
|
||||
};
|
||||
catppuccin.fcitx5.enable = false;
|
||||
home.file.${rimePath} = {
|
||||
source = rimeConfigFiltered;
|
||||
recursive = true;
|
||||
|
|
|
|||
|
|
@ -1,9 +1,37 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = with pkgs; [
|
||||
rofi
|
||||
rofimoji
|
||||
rofi-power-menu
|
||||
];
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
catppuccinEnable = config.catppuccin.enable or false;
|
||||
catppuccinFlavor = config.catppuccin.flavor or "mocha";
|
||||
catppuccinAccent = config.catppuccin.accent or "mauve";
|
||||
in {
|
||||
programs.rofi = {
|
||||
enable = true;
|
||||
terminal = "${pkgs.alacritty}/bin/alacritty";
|
||||
plugins = with pkgs; [
|
||||
rofimoji
|
||||
rofi-power-menu
|
||||
rofi-calc
|
||||
];
|
||||
};
|
||||
|
||||
# Use this since rasi parsing cannot handle @variable
|
||||
# it will add quotes around and break the colour variables.
|
||||
xdg.dataFile."rofi/themes/custom.rasi" = lib.mkIf catppuccinEnable {
|
||||
enable = true;
|
||||
text = lib.mkForce ''
|
||||
@theme "catppuccin-default"
|
||||
|
||||
@import "catppuccin-${catppuccinFlavor}"
|
||||
|
||||
* {
|
||||
selected-normal-background: @${catppuccinAccent};
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
||||
# The default desktop entry does not have `categories` field, add it manually.
|
||||
xdg.desktopEntries = {
|
||||
|
|
|
|||
9
nixcfgs/users/js0ny/programs/thunderbird.nix
Normal file
9
nixcfgs/users/js0ny/programs/thunderbird.nix
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
{...}: {
|
||||
programs.thunderbird = {
|
||||
enable = true;
|
||||
profiles.js0ny = {
|
||||
isDefault = true;
|
||||
};
|
||||
};
|
||||
catppuccin.thunderbird.profile = "js0ny";
|
||||
}
|
||||
|
|
@ -16,6 +16,8 @@ in {
|
|||
vspacecode.whichkey
|
||||
];
|
||||
};
|
||||
|
||||
catppuccin.vscode.profiles.default.enable = false;
|
||||
programs.fish.shellAbbrs = codeAlias;
|
||||
programs.bash.shellAliases = codeAlias;
|
||||
programs.zsh.shellAliases = codeAlias;
|
||||
|
|
|
|||
|
|
@ -1,9 +1,72 @@
|
|||
{...}: {
|
||||
{pkgs, ...}: {
|
||||
programs.yazi = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
enableFishIntegration = true;
|
||||
enableNushellIntegration = true;
|
||||
shellWrapperName = "y";
|
||||
plugins = {
|
||||
git = pkgs.yaziPlugins.git;
|
||||
starship = pkgs.yaziPlugins.starship;
|
||||
};
|
||||
settings = {
|
||||
preview.wrap = "yes";
|
||||
mgr = {
|
||||
show_hidden = true;
|
||||
linemode = "size_and_mtime";
|
||||
};
|
||||
plugin.prepend_fetchers = [
|
||||
{
|
||||
id = "git";
|
||||
name = "*";
|
||||
run = "git";
|
||||
}
|
||||
{
|
||||
id = "git";
|
||||
name = "*/";
|
||||
run = "git";
|
||||
}
|
||||
];
|
||||
};
|
||||
keymap = {
|
||||
mgr.prepend_keymap = [
|
||||
{
|
||||
on = "K";
|
||||
run = "seek -5";
|
||||
desc = "Seek up 5 units in the preview";
|
||||
}
|
||||
{
|
||||
on = "J";
|
||||
run = "seek 5";
|
||||
desc = "Seek down 5 units in the preview";
|
||||
}
|
||||
|
||||
# Find
|
||||
{
|
||||
on = ["g" "p"];
|
||||
run = "cd ~/Pictures";
|
||||
desc = "Go ~/Pictures/";
|
||||
}
|
||||
];
|
||||
};
|
||||
initLua = ''
|
||||
function Linemode:size_and_mtime()
|
||||
local time = math.floor(self._file.cha.mtime or 0)
|
||||
if time == 0 then
|
||||
time = ""
|
||||
elseif os.date("%Y", time) == os.date("%Y") then
|
||||
time = os.date("%m-%d %H:%M", time)
|
||||
else
|
||||
time = os.date("%Y-%m-%d", time)
|
||||
end
|
||||
|
||||
local size = self._file:size()
|
||||
return string.format("%s %s", size and ya.readable_size(size) or "/", time)
|
||||
end
|
||||
|
||||
-- Plugin setups
|
||||
require("starship"):setup()
|
||||
require("git"):setup()
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -46,10 +46,14 @@
|
|||
./programs/edit-clipboard.nix
|
||||
./programs/discord.nix
|
||||
./programs/mpv.nix
|
||||
./programs/thunderbird.nix
|
||||
./programs/obs-studio.nix
|
||||
./programs/ghostty.nix
|
||||
|
||||
# Desktop Linux
|
||||
./programs/desktop/plasma
|
||||
./programs/desktop/wayland-wm/niri
|
||||
./programs/desktop/wayland-wm/hyprland.nix
|
||||
|
||||
# General Program config
|
||||
../../modules/home/programs/eza.nix
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue