refactor: home-manager directories for each machine
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
{pkgs, ...}:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
clang
|
||||
];
|
||||
|
||||
home.file.".clang-format".text = ''
|
||||
---
|
||||
BasedOnStyle: WebKit
|
||||
AlignAfterOpenBracket: Align
|
||||
BraceWrapping:
|
||||
AfterCaseLabel: true
|
||||
AfterClass: true
|
||||
AfterControlStatement: Always
|
||||
AfterEnum: true
|
||||
AfterFunction: true
|
||||
AfterNamespace: true
|
||||
AfterObjCDeclaration: true
|
||||
AfterStruct: true
|
||||
AfterUnion: true
|
||||
AfterExternBlock: true
|
||||
BeforeCatch: true
|
||||
BeforeElse: true
|
||||
BeforeLambdaBody: true
|
||||
BeforeWhile: true
|
||||
IndentBraces: false
|
||||
SplitEmptyFunction: true
|
||||
SplitEmptyRecord: true
|
||||
SplitEmptyNamespace: true
|
||||
BreakBeforeBraces: Custom
|
||||
ColumnLimit: 80
|
||||
IndentCaseLabels: true
|
||||
InsertBraces: true
|
||||
TabWidth: 4
|
||||
|
||||
'';
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
{ inputs, pkgs, ... }:
|
||||
{
|
||||
imports = [
|
||||
inputs.nixvim.homeModules.nixvim
|
||||
inputs.stylix.homeModules.stylix
|
||||
inputs.zen-browser.homeModules.default
|
||||
|
||||
./programs
|
||||
|
||||
./clangd.nix
|
||||
./hyprland.nix
|
||||
./packages.nix
|
||||
./stylix.nix
|
||||
./xdg.nix
|
||||
];
|
||||
|
||||
home.username = "autumn";
|
||||
home.homeDirectory = "/home/autumn";
|
||||
home.stateVersion = "25.05";
|
||||
|
||||
nixpkgs.config = {
|
||||
allowUnfree = true;
|
||||
allowUnfreePredicate = _: true;
|
||||
};
|
||||
|
||||
home.pointerCursor = {
|
||||
name = "Adwaita";
|
||||
package = pkgs.adwaita-icon-theme;
|
||||
size = 12;
|
||||
};
|
||||
|
||||
programs.home-manager.enable = true;
|
||||
}
|
||||
@@ -0,0 +1,149 @@
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
hyprpicker
|
||||
swww
|
||||
];
|
||||
|
||||
home.file.".config/hypr/hyprland.conf".text = ''
|
||||
$mainMod=SUPER
|
||||
$menu=rofi -show drun
|
||||
$powerMenu=rofi -show power-menu -modi "power-menu:rofi-power-menu --choices lockscreen/suspend/reboot/shutdown"
|
||||
$screenshot=slurp | grim -g - - | wl-copy
|
||||
$terminal=foot
|
||||
animations {
|
||||
bezier=myBezier, 0.05, 0.9, 0.1, 1.05
|
||||
animation=windows, 1, 7, myBezier
|
||||
animation=windowsOut, 1, 7, default, popin 80%
|
||||
animation=border, 1, 10, default
|
||||
animation=borderangle, 1, 8, default
|
||||
animation=fade, 1, 7, default
|
||||
animation=workspaces, 1, 6, default
|
||||
enabled=true
|
||||
}
|
||||
|
||||
decoration {
|
||||
blur {
|
||||
enabled=yes
|
||||
ignore_opacity=on
|
||||
new_optimizations=on
|
||||
passes=3
|
||||
size=6
|
||||
special=true
|
||||
xray=false
|
||||
}
|
||||
# active_opacity=1.000000
|
||||
# inactive_opacity=1.000000
|
||||
rounding=10
|
||||
shadow {
|
||||
color=rgba(00000099)
|
||||
enabled=true
|
||||
range=4
|
||||
render_power=3
|
||||
}
|
||||
}
|
||||
|
||||
dwindle {
|
||||
preserve_split=true
|
||||
pseudotile=true
|
||||
}
|
||||
|
||||
xwayland {
|
||||
force_zero_scaling=true
|
||||
}
|
||||
|
||||
general {
|
||||
allow_tearing=false
|
||||
border_size=2
|
||||
col.active_border=rgb(${config.stylix.base16Scheme.palette.base0D})
|
||||
col.inactive_border=rgba(595959aa)
|
||||
gaps_in=5
|
||||
gaps_out=10
|
||||
layout=dwindle
|
||||
resize_on_border=false
|
||||
}
|
||||
|
||||
input {
|
||||
touchpad {
|
||||
natural_scroll=true
|
||||
disable_while_typing=0
|
||||
}
|
||||
|
||||
kb_layout=us
|
||||
}
|
||||
|
||||
misc {
|
||||
disable_hyprland_logo=true
|
||||
force_default_wallpaper=0
|
||||
}
|
||||
|
||||
monitor = DP-2, 2560x1440@180, 0x0, 1#, bitdepth, 10, cm, hdr
|
||||
#monitor = DP-2, 1920x1080@180, 0x0, 1#, bitdepth, 10, cm, hdr
|
||||
monitor = HDMI-A-1, 1920x1080@60, 2560x0, 1
|
||||
|
||||
bind=$mainMod, Q, exec, $terminal
|
||||
bind=$mainMod, C, killactive
|
||||
bind=$mainMod, M, exit
|
||||
bind=$mainMod, V, togglefloating
|
||||
bind=$mainMod, D, exec, $menu
|
||||
bind=$mainMod, P, pseudo
|
||||
bind=$mainMod, T, togglesplit
|
||||
bind=$mainMod, S, exec, $screenshot
|
||||
bind=$mainMod SHIFT, P, exec, $powerMenu
|
||||
bind=$mainMod SHIFT, S, exec, $screenshot
|
||||
bind=$mainMod, F, fullscreen
|
||||
bind=$mainMod, left, movefocus, l
|
||||
bind=$mainMod, right, movefocus, r
|
||||
bind=$mainMod, up, movefocus, u
|
||||
bind=$mainMod, down, movefocus, d
|
||||
bind=$mainMod, H, movefocus, l
|
||||
bind=$mainMod, L, movefocus, r
|
||||
bind=$mainMod, K, movefocus, u
|
||||
bind=$mainMod, J, movefocus, d
|
||||
bind=$mainMod SHIFT, H, movewindow, l
|
||||
bind=$mainMod SHIFT, L, movewindow, r
|
||||
bind=$mainMod SHIFT, K, movewindow, u
|
||||
bind=$mainMod SHIFT, J, movewindow, d
|
||||
bind=$mainMod SHIFT, left, movewindow, l
|
||||
bind=$mainMod SHIFT, right, movewindow, r
|
||||
bind=$mainMod SHIFT, up, movewindow, u
|
||||
bind=$mainMod SHIFT, down, movewindow, d
|
||||
bind=$mainMod, 1, workspace, 1
|
||||
bind=$mainMod, 2, workspace, 2
|
||||
bind=$mainMod, 3, workspace, 3
|
||||
bind=$mainMod, 4, workspace, 4
|
||||
bind=$mainMod, 5, workspace, 5
|
||||
bind=$mainMod, 6, workspace, 6
|
||||
bind=$mainMod, 7, workspace, 7
|
||||
bind=$mainMod, 8, workspace, 8
|
||||
bind=$mainMod, 9, workspace, 9
|
||||
bind=$mainMod, 0, workspace, 10
|
||||
bind=$mainMod SHIFT, 1, movetoworkspace, 1
|
||||
bind=$mainMod SHIFT, 2, movetoworkspace, 2
|
||||
bind=$mainMod SHIFT, 3, movetoworkspace, 3
|
||||
bind=$mainMod SHIFT, 4, movetoworkspace, 4
|
||||
bind=$mainMod SHIFT, 5, movetoworkspace, 5
|
||||
bind=$mainMod SHIFT, 6, movetoworkspace, 6
|
||||
bind=$mainMod SHIFT, 7, movetoworkspace, 7
|
||||
bind=$mainMod SHIFT, 8, movetoworkspace, 8
|
||||
bind=$mainMod SHIFT, 9, movetoworkspace, 9
|
||||
bind=$mainMod SHIFT, 0, movetoworkspace, 10
|
||||
bind=$mainMod, mouse_down, workspace, e+1
|
||||
bind=$mainMod, mouse_up, workspace, e-1
|
||||
bindm=$mainMod, mouse:272, movewindow
|
||||
bindm=$mainMod, mouse:273, resizewindow
|
||||
|
||||
env=XCURSOR_SIZE,24
|
||||
env=HYPRCURSOR_SIZE,24
|
||||
|
||||
exec-once=swww-daemon
|
||||
exec=swww img ${config.stylix.image}
|
||||
exec-once=waybar
|
||||
exec=pkill waybar; waybar
|
||||
|
||||
windowrulev2=suppressevent maximize, class:.*
|
||||
#windowrulev2 = opacity 0.9, class:(com.mitchellh.ghostty)
|
||||
|
||||
layerrule = noanim, selection
|
||||
'';
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
audacity
|
||||
bitwarden-desktop
|
||||
cava
|
||||
cmus
|
||||
fd
|
||||
file
|
||||
ffmpeg
|
||||
fzf
|
||||
gimp3-with-plugins
|
||||
git
|
||||
grim
|
||||
killall
|
||||
lazygit
|
||||
libresprite
|
||||
man-pages
|
||||
man-pages-posix
|
||||
python3
|
||||
ripgrep
|
||||
rusty-man
|
||||
slurp
|
||||
tor-browser
|
||||
unzip
|
||||
vial
|
||||
vlc
|
||||
wl-clipboard
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{...}: {
|
||||
programs.btop = {
|
||||
enable = true;
|
||||
settings = {
|
||||
vim_keys = true;
|
||||
theme_background = false;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{...}:
|
||||
{
|
||||
programs.carapace = {
|
||||
enable = true;
|
||||
enableNushellIntegration = true;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
imports = [
|
||||
./nvim
|
||||
./rofi
|
||||
|
||||
./btop.nix
|
||||
./carapace.nix
|
||||
./fastfetch.nix
|
||||
./foot.nix
|
||||
./hyfetch.nix
|
||||
./mako.nix
|
||||
./ncspot.nix
|
||||
./nix-search-tv.nix
|
||||
./nushell.nix
|
||||
./starship.nix
|
||||
./tmux.nix
|
||||
./vesktop.nix
|
||||
./waybar.nix
|
||||
./yazi.nix
|
||||
./zathura.nix
|
||||
./zoxide.nix
|
||||
./zen.nix
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,156 @@
|
||||
{...}: {
|
||||
programs.fastfetch = {
|
||||
enable = true;
|
||||
settings = {
|
||||
logo = {
|
||||
padding = {
|
||||
top = 2;
|
||||
};
|
||||
};
|
||||
display = {
|
||||
separator = " -> ";
|
||||
};
|
||||
modules = [
|
||||
{
|
||||
type = "custom";
|
||||
format = "┌────────────────────────────────────────────────────────────┐";
|
||||
outputColor = "90";
|
||||
}
|
||||
{
|
||||
type = "title";
|
||||
keyWidth = 10;
|
||||
}
|
||||
{
|
||||
type = "custom";
|
||||
format = "└────────────────────────────────────────────────────────────┘";
|
||||
outputColor = "90";
|
||||
}
|
||||
{
|
||||
type = "custom";
|
||||
format = " {#90} {#31} {#32} {#33} {#34} {#35} {#36} {#37} {#38} {#39} {#38} {#37} {#36} {#35} {#34} {#33} {#32} {#31} {#90}";
|
||||
}
|
||||
{
|
||||
type = "custom";
|
||||
format = "┌────────────────────────────────────────────────────────────┐";
|
||||
outputColor = "90";
|
||||
}
|
||||
{
|
||||
type = "os";
|
||||
key = " OS";
|
||||
keyColor = "yellow";
|
||||
format = "{2} {8} {1}";
|
||||
}
|
||||
{
|
||||
type = "kernel";
|
||||
key = "│ ├";
|
||||
keyColor = "yellow";
|
||||
}
|
||||
{
|
||||
type = "packages";
|
||||
key = "│ ├";
|
||||
keyColor = "yellow";
|
||||
}
|
||||
{
|
||||
type = "shell";
|
||||
key = "│ └";
|
||||
keyColor = "yellow";
|
||||
}
|
||||
{
|
||||
type = "wm";
|
||||
key = " DE/WM";
|
||||
keyColor = "blue";
|
||||
}
|
||||
{
|
||||
type = "lm";
|
||||
key = "│ ├";
|
||||
keyColor = "blue";
|
||||
}
|
||||
{
|
||||
type = "wmtheme";
|
||||
key = "│ ├";
|
||||
keyColor = "blue";
|
||||
}
|
||||
{
|
||||
type = "icons";
|
||||
key = "│ ├";
|
||||
keyColor = "blue";
|
||||
}
|
||||
{
|
||||
type = "terminal";
|
||||
key = "│ ├";
|
||||
keyColor = "blue";
|
||||
}
|
||||
{
|
||||
type = "wallpaper";
|
||||
key = "│ └";
|
||||
keyColor = "blue";
|
||||
}
|
||||
{
|
||||
type = "host";
|
||||
key = " PC";
|
||||
keyColor = "green";
|
||||
}
|
||||
{
|
||||
type = "cpu";
|
||||
key = "│ ├";
|
||||
keyColor = "green";
|
||||
}
|
||||
{
|
||||
type = "gpu";
|
||||
key = "│ ├";
|
||||
keyColor = "green";
|
||||
}
|
||||
{
|
||||
type = "disk";
|
||||
key = "│ ├";
|
||||
keyColor = "green";
|
||||
}
|
||||
{
|
||||
type = "memory";
|
||||
key = "│ ├";
|
||||
keyColor = "green";
|
||||
}
|
||||
{
|
||||
type = "swap";
|
||||
key = "│ ├";
|
||||
keyColor = "green";
|
||||
}
|
||||
{
|
||||
type = "uptime";
|
||||
key = "│ ├";
|
||||
keyColor = "green";
|
||||
}
|
||||
{
|
||||
type = "display";
|
||||
key = "│ └";
|
||||
keyColor = "green";
|
||||
}
|
||||
{
|
||||
type = "sound";
|
||||
key = " SND";
|
||||
keyColor = "cyan";
|
||||
}
|
||||
{
|
||||
type = "player";
|
||||
key = "│ ├";
|
||||
keyColor = "cyan";
|
||||
}
|
||||
{
|
||||
type = "media";
|
||||
key = "│ └";
|
||||
keyColor = "cyan";
|
||||
}
|
||||
{
|
||||
type = "custom";
|
||||
format = "└────────────────────────────────────────────────────────────┘";
|
||||
outputColor = "90";
|
||||
}
|
||||
"break"
|
||||
{
|
||||
type = "custom";
|
||||
format = " {#90} {#31} {#32} {#33} {#34} {#35} {#36} {#37} {#38} {#39} {#38} {#37} {#36} {#35} {#34} {#33} {#32} {#31} {#90}";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{...}: {
|
||||
programs.foot = {
|
||||
enable = true;
|
||||
settings = {
|
||||
cursor = {
|
||||
style = "beam";
|
||||
};
|
||||
key-bindings = {
|
||||
spawn-terminal = "none";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{ ... }:
|
||||
{
|
||||
programs.hyfetch = {
|
||||
enable = true;
|
||||
settings = {
|
||||
preset = "transgender";
|
||||
mode = "rgb";
|
||||
color_align.mode = "horizontal";
|
||||
backend = "fastfetch";
|
||||
pride_month_disable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{...}: {
|
||||
services.mako = {
|
||||
enable = true;
|
||||
settings = {
|
||||
default-timeout = 5000;
|
||||
ignore-timeout = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{...}:
|
||||
{
|
||||
programs.ncspot = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{ ... }:
|
||||
{
|
||||
programs.television.enable = true;
|
||||
programs.nix-search-tv = {
|
||||
enable = true;
|
||||
enableTelevisionIntegration = true;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,223 @@
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
home.packages = [ pkgs.nix-your-shell ];
|
||||
|
||||
programs.nushell = {
|
||||
enable = true;
|
||||
plugins = with pkgs.nushellPlugins; [
|
||||
formats
|
||||
polars
|
||||
gstat
|
||||
query
|
||||
];
|
||||
settings = {
|
||||
show_banner = false;
|
||||
edit_mode = "vi";
|
||||
cursor_shape = {
|
||||
emacs = "line";
|
||||
vi_insert = "line";
|
||||
vi_normal = "block";
|
||||
};
|
||||
};
|
||||
shellAliases = {
|
||||
c = "clear";
|
||||
meow = "_meow";
|
||||
|
||||
hf = "nix flake update --flake ${config.home.homeDirectory}/.config/home-manager";
|
||||
hs = "nh home switch ~/.config/home-manager";
|
||||
hz = "z ~/.config/home-manager";
|
||||
|
||||
nsu = "_nsu";
|
||||
ns = "sudo nixos-rebuild switch";
|
||||
|
||||
se = "sudoedit";
|
||||
v = "nvim";
|
||||
};
|
||||
extraConfig = with config.stylix.base16Scheme.palette; ''
|
||||
def _meow () {
|
||||
clear
|
||||
hyfetch
|
||||
}
|
||||
|
||||
def _nsu () {
|
||||
sudo nix-channel --add https://channels.nixos.org/nixos-unstable nixos
|
||||
sudo nixos-rebuild switch --upgrade
|
||||
}
|
||||
|
||||
def _nix_your_shell (command: string, args: list<string>) {
|
||||
if not (which nix-your-shell | is-empty) {
|
||||
let args = ["--"] ++ $args
|
||||
run-external nix-your-shell nu $command ...$args
|
||||
} else {
|
||||
run-external $command ...$args
|
||||
}
|
||||
}
|
||||
|
||||
def --wrapped nix-shell (...args) {
|
||||
_nix_your_shell nix-shell $args
|
||||
}
|
||||
|
||||
def --wrapped nix (...args) {
|
||||
_nix_your_shell nix $args
|
||||
}
|
||||
|
||||
|
||||
let theme = {
|
||||
base00: "#${base00}"
|
||||
base01: "#${base01}"
|
||||
base02: "#${base02}"
|
||||
base03: "#${base03}"
|
||||
base04: "#${base04}"
|
||||
base05: "#${base05}"
|
||||
base06: "#${base06}"
|
||||
base07: "#${base07}"
|
||||
base08: "#${base08}"
|
||||
base09: "#${base09}"
|
||||
base0A: "#${base0A}"
|
||||
base0B: "#${base0B}"
|
||||
base0C: "#${base0C}"
|
||||
base0D: "#${base0D}"
|
||||
base0E: "#${base0E}"
|
||||
base0F: "#${base0F}"
|
||||
}
|
||||
|
||||
let scheme = {
|
||||
recognized_command: $theme.base0D
|
||||
unrecognized_command: $theme.base08
|
||||
constant: $theme.base09
|
||||
punctuation: $theme.base04
|
||||
operator: $theme.base0C
|
||||
string: $theme.base0B
|
||||
virtual_text: $theme.base04
|
||||
variable: { fg: $theme.base0F attr: i }
|
||||
filepath: $theme.base0A
|
||||
}
|
||||
|
||||
$env.config.color_config = {
|
||||
separator: { fg: $theme.base04 attr: b }
|
||||
leading_trailing_space_bg: { fg: $theme.base07 attr: u }
|
||||
header: { fg: $theme.base05 attr: b }
|
||||
row_index: $scheme.virtual_text
|
||||
record: $theme.base05
|
||||
list: $theme.base05
|
||||
hints: $scheme.virtual_text
|
||||
search_result: { fg: $theme.base00 bg: $theme.base0A }
|
||||
shape_closure: $theme.base0C
|
||||
closure: $theme.base0C
|
||||
shape_flag: { fg: $theme.base08 attr: i }
|
||||
shape_matching_brackets: { attr: u }
|
||||
shape_garbage: $theme.base08
|
||||
shape_keyword: $theme.base0E
|
||||
shape_match_pattern: $theme.base0B
|
||||
shape_signature: $theme.base0C
|
||||
shape_table: $scheme.punctuation
|
||||
cell-path: $scheme.punctuation
|
||||
shape_list: $scheme.punctuation
|
||||
shape_record: $scheme.punctuation
|
||||
shape_vardecl: $scheme.variable
|
||||
shape_variable: $scheme.variable
|
||||
empty: { attr: n }
|
||||
filesize: {||
|
||||
if $in < 1kb {
|
||||
$theme.base0C
|
||||
} else if $in < 10kb {
|
||||
$theme.base0B
|
||||
} else if $in < 100kb {
|
||||
$theme.base0A
|
||||
} else if $in < 10mb {
|
||||
$theme.base09
|
||||
} else if $in < 100mb {
|
||||
$theme.base08
|
||||
} else if $in < 1gb {
|
||||
$theme.base08
|
||||
} else {
|
||||
$theme.base0E
|
||||
}
|
||||
}
|
||||
duration: {||
|
||||
if $in < 1day {
|
||||
$theme.base0C
|
||||
} else if $in < 1wk {
|
||||
$theme.base0B
|
||||
} else if $in < 4wk {
|
||||
$theme.base0A
|
||||
} else if $in < 12wk {
|
||||
$theme.base09
|
||||
} else if $in < 24wk {
|
||||
$theme.base08
|
||||
} else if $in < 52wk {
|
||||
$theme.base08
|
||||
} else {
|
||||
$theme.base0E
|
||||
}
|
||||
}
|
||||
date: {|| (date now) - $in |
|
||||
if $in < 1day {
|
||||
$theme.base0C
|
||||
} else if $in < 1wk {
|
||||
$theme.base0B
|
||||
} else if $in < 4wk {
|
||||
$theme.base0A
|
||||
} else if $in < 12wk {
|
||||
$theme.base09
|
||||
} else if $in < 24wk {
|
||||
$theme.base08
|
||||
} else if $in < 52wk {
|
||||
$theme.base08
|
||||
} else {
|
||||
$theme.base0E
|
||||
}
|
||||
}
|
||||
shape_external: $scheme.unrecognized_command
|
||||
shape_internalcall: $scheme.recognized_command
|
||||
shape_external_resolved: $scheme.recognized_command
|
||||
shape_block: $scheme.recognized_command
|
||||
block: $scheme.recognized_command
|
||||
shape_custom: $theme.base0F
|
||||
custom: $theme.base0F
|
||||
background: $theme.base00
|
||||
foreground: $theme.base05
|
||||
cursor: { bg: $theme.base06 fg: $theme.base00 }
|
||||
shape_range: $scheme.operator
|
||||
range: $scheme.operator
|
||||
shape_pipe: $scheme.operator
|
||||
shape_operator: $scheme.operator
|
||||
shape_base08irection: $scheme.operator
|
||||
glob: $scheme.filepath
|
||||
shape_directory: $scheme.filepath
|
||||
shape_filepath: $scheme.filepath
|
||||
shape_glob_interpolation: $scheme.filepath
|
||||
shape_globpattern: $scheme.filepath
|
||||
shape_int: $scheme.constant
|
||||
int: $scheme.constant
|
||||
bool: $scheme.constant
|
||||
float: $scheme.constant
|
||||
nothing: $scheme.constant
|
||||
binary: $scheme.constant
|
||||
shape_nothing: $scheme.constant
|
||||
shape_bool: $scheme.constant
|
||||
shape_float: $scheme.constant
|
||||
shape_binary: $scheme.constant
|
||||
shape_datetime: $scheme.constant
|
||||
shape_literal: $scheme.constant
|
||||
string: $scheme.string
|
||||
shape_string: $scheme.string
|
||||
shape_string_interpolation: $theme.base0F
|
||||
shape_raw_string: $scheme.string
|
||||
shape_externalarg: $scheme.string
|
||||
}
|
||||
$env.config.highlight_resolved_externals = true
|
||||
$env.config.explore = {
|
||||
status_bar_background: { fg: $theme.base05, bg: $theme.base01 },
|
||||
command_bar_text: { fg: $theme.base05 },
|
||||
highlight: { fg: $theme.base00, bg: $theme.base0A },
|
||||
status: {
|
||||
error: $theme.base08,
|
||||
warn: $theme.base0A,
|
||||
info: $theme.base0D,
|
||||
},
|
||||
selected_cell: { bg: $theme.base0D fg: $theme.base00 },
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{...}: {
|
||||
imports = [
|
||||
./lsp.nix
|
||||
./none-ls.nix
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,125 @@
|
||||
{ ... }:
|
||||
{
|
||||
programs.nixvim.plugins = {
|
||||
lsp = {
|
||||
enable = true;
|
||||
inlayHints = true;
|
||||
servers = {
|
||||
asm_lsp.enable = true;
|
||||
clangd = {
|
||||
enable = true;
|
||||
cmd = [
|
||||
"clangd"
|
||||
];
|
||||
};
|
||||
cssls.enable = true;
|
||||
eslint.enable = true;
|
||||
lua_ls = {
|
||||
enable = true;
|
||||
settings.telemetry.enable = false;
|
||||
};
|
||||
hls = {
|
||||
enable = true;
|
||||
installGhc = true;
|
||||
settings.haskell = {
|
||||
formattingProvider = "fourmolu";
|
||||
};
|
||||
};
|
||||
html.enable = true;
|
||||
jsonls.enable = true;
|
||||
mlir_lsp_server.enable = true;
|
||||
nil_ls.enable = true;
|
||||
nixd.enable = true;
|
||||
nushell.enable = true;
|
||||
ocamllsp.enable = true;
|
||||
pyright.enable = true;
|
||||
ts_ls.enable = true;
|
||||
zls.enable = true;
|
||||
};
|
||||
};
|
||||
cmp-emoji = {
|
||||
enable = true;
|
||||
};
|
||||
cmp = {
|
||||
enable = true;
|
||||
settings = {
|
||||
autoEnableSources = true;
|
||||
experimental = {
|
||||
ghost_text = true;
|
||||
};
|
||||
performance = {
|
||||
debounce = 60;
|
||||
fetchingTimeout = 200;
|
||||
};
|
||||
snippet = {
|
||||
expand = "luasnip";
|
||||
};
|
||||
formatting = {
|
||||
fields = [
|
||||
"kind"
|
||||
"abbr"
|
||||
"menu"
|
||||
];
|
||||
};
|
||||
sources = [
|
||||
{ name = "nvim_lsp"; }
|
||||
{ name = "emoji"; }
|
||||
|
||||
{
|
||||
name = "buffer"; # text within current buffer
|
||||
option.get_bufnrs.__raw = "vim.api.nvim_list_bufs";
|
||||
keywordLength = 3;
|
||||
}
|
||||
|
||||
{
|
||||
name = "path"; # file system paths
|
||||
keywordLength = 3;
|
||||
}
|
||||
|
||||
{
|
||||
name = "luasnip"; # snippets
|
||||
keywordLength = 3;
|
||||
}
|
||||
];
|
||||
|
||||
window = {
|
||||
completion.__raw = "cmp.config.window.bordered()";
|
||||
documentation.__raw = "cmp.config.window.bordered()";
|
||||
};
|
||||
|
||||
mapping = {
|
||||
"<Tab>" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})";
|
||||
"<S-Tab>" = "cmp.mapping(cmp.mapping.select_prev_item(), {'i', 's'})";
|
||||
"<C-e>" = "cmp.mapping.abort()";
|
||||
"<C-b>" = "cmp.mapping.scroll_docs(-4)";
|
||||
"<C-f>" = "cmp.mapping.scroll_docs(4)";
|
||||
"<C-Space>" = "cmp.mapping.complete()";
|
||||
"<CR>" = "cmp.mapping.confirm({ select = true })";
|
||||
"<S-CR>" = "cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = true })";
|
||||
};
|
||||
};
|
||||
};
|
||||
cmp-nvim-lsp = {
|
||||
enable = true;
|
||||
}; # lsp
|
||||
cmp-buffer = {
|
||||
enable = true;
|
||||
};
|
||||
cmp-path = {
|
||||
enable = true;
|
||||
}; # file system paths
|
||||
cmp_luasnip = {
|
||||
enable = true;
|
||||
}; # snippets
|
||||
cmp-cmdline = {
|
||||
enable = false;
|
||||
}; # autocomplete for cmdline
|
||||
luasnip = {
|
||||
enable = true;
|
||||
settings = {
|
||||
enable_autosnippets = true;
|
||||
store_selection_keys = "<Tab>";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{ ... }:
|
||||
{
|
||||
programs.nixvim.plugins = {
|
||||
lsp-format.enable = true;
|
||||
none-ls = {
|
||||
enable = true;
|
||||
enableLspFormat = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./cmp
|
||||
./plugins
|
||||
|
||||
./keymaps.nix
|
||||
./options.nix
|
||||
];
|
||||
|
||||
programs.nixvim = {
|
||||
enable = true;
|
||||
defaultEditor = true;
|
||||
viAlias = true;
|
||||
vimAlias = true;
|
||||
colorschemes.catppuccin.enable = true;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,94 @@
|
||||
{ ... }:
|
||||
{
|
||||
programs.nixvim = {
|
||||
globals.mapleader = " ";
|
||||
keymaps = [
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>n";
|
||||
action = "<cmd>NvimTreeFindFileToggle<cr>";
|
||||
}
|
||||
|
||||
{
|
||||
mode = [
|
||||
"n"
|
||||
"i"
|
||||
"v"
|
||||
"t"
|
||||
];
|
||||
key = "<c-\\>";
|
||||
action = "<cmd>ToggleTerm<cr>";
|
||||
}
|
||||
|
||||
{
|
||||
mode = [
|
||||
"n"
|
||||
"i"
|
||||
"v"
|
||||
];
|
||||
key = "<c-l>";
|
||||
action = "<cmd>BufferLineCycleNext<cr>";
|
||||
}
|
||||
|
||||
{
|
||||
mode = [
|
||||
"n"
|
||||
"i"
|
||||
"v"
|
||||
];
|
||||
key = "<c-h>";
|
||||
action = "<cmd>BufferLineCyclePrev<cr>";
|
||||
}
|
||||
|
||||
{
|
||||
mode = [
|
||||
"n"
|
||||
"i"
|
||||
"v"
|
||||
];
|
||||
key = "<c-j>";
|
||||
action = "<cmd>BufferLineGoToBuffer 1<cr>";
|
||||
}
|
||||
|
||||
{
|
||||
mode = [
|
||||
"n"
|
||||
"i"
|
||||
"v"
|
||||
];
|
||||
key = "<c-k>";
|
||||
action = "<cmd>BufferLineGoToBuffer -1<cr>";
|
||||
}
|
||||
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader><leader>";
|
||||
action = "<cmd>Yazi<cr>";
|
||||
}
|
||||
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>a";
|
||||
action = "<cmd>AerialToggle<cr>";
|
||||
}
|
||||
|
||||
{
|
||||
mode = "n";
|
||||
key = "{";
|
||||
action = "<cmd>AerialPrev<cr>";
|
||||
}
|
||||
|
||||
{
|
||||
mode = "n";
|
||||
key = "}";
|
||||
action = "<cmd>AerialNext<cr>";
|
||||
}
|
||||
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>c";
|
||||
action = ":hori term ";
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
{ ... }:
|
||||
{
|
||||
programs.nixvim = {
|
||||
autoCmd = [
|
||||
{
|
||||
event = [ "VimLeave" ];
|
||||
command = ":set guicursor=a:ver90-blinkon0";
|
||||
}
|
||||
];
|
||||
diagnostic.settings = {
|
||||
virtual_lines = {
|
||||
current_line = true;
|
||||
};
|
||||
float = {
|
||||
border = "rounded";
|
||||
source = "always";
|
||||
};
|
||||
};
|
||||
opts = {
|
||||
shell = "nu";
|
||||
|
||||
fillchars = "eob: ";
|
||||
|
||||
number = true;
|
||||
relativenumber = true;
|
||||
|
||||
tabstop = 4;
|
||||
softtabstop = 4;
|
||||
showtabline = 4;
|
||||
shiftwidth = 4;
|
||||
expandtab = true;
|
||||
smartindent = true;
|
||||
breakindent = true;
|
||||
|
||||
hlsearch = true;
|
||||
incsearch = true;
|
||||
ignorecase = true;
|
||||
smartcase = true;
|
||||
|
||||
splitbelow = true;
|
||||
splitright = true;
|
||||
|
||||
mouse = "a";
|
||||
|
||||
updatetime = 50;
|
||||
|
||||
swapfile = false;
|
||||
backup = false;
|
||||
undofile = true;
|
||||
|
||||
scrolloff = 10;
|
||||
|
||||
cursorline = true;
|
||||
|
||||
wildmenu = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{ ... }:
|
||||
{
|
||||
programs.nixvim.plugins.codesnap = {
|
||||
enable = true;
|
||||
settings = {
|
||||
has_line_number = true;
|
||||
bg_theme = "grape";
|
||||
watermark = "";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./codesnap.nix
|
||||
./emmet.nix
|
||||
./rustaceanvim.nix
|
||||
./telescope.nix
|
||||
./toggleterm.nix
|
||||
./treesitter.nix
|
||||
];
|
||||
|
||||
programs.nixvim.plugins = {
|
||||
aerial.enable = true;
|
||||
bufferline.enable = true;
|
||||
colorizer.enable = true;
|
||||
comment.enable = true;
|
||||
crates.enable = true;
|
||||
fidget.enable = true;
|
||||
lazygit.enable = true;
|
||||
lsp-lines.enable = true;
|
||||
lualine.enable = true;
|
||||
nvim-tree.enable = true;
|
||||
nvim-autopairs.enable = true;
|
||||
quickmath.enable = true;
|
||||
rainbow.enable = true;
|
||||
render-markdown.enable = true;
|
||||
treesj.enable = true;
|
||||
ts-autotag.enable = true;
|
||||
visual-multi.enable = true;
|
||||
web-devicons.enable = true;
|
||||
yazi.enable = true;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{ ... }:
|
||||
{
|
||||
programs.nixvim.plugins.emmet = {
|
||||
enable = true;
|
||||
settings.leader = "<C-Y>";
|
||||
settings.mode = "a";
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
{ ... }:
|
||||
{
|
||||
programs.nixvim.plugins.rustaceanvim = {
|
||||
enable = true;
|
||||
settings = {
|
||||
tools.enable_clippy = true;
|
||||
server = {
|
||||
default_settings = {
|
||||
inlayHints = {
|
||||
lifetimeElisionHints = {
|
||||
enable = "always";
|
||||
};
|
||||
};
|
||||
rust-analyzer = {
|
||||
cargo = {
|
||||
allFeatures = true;
|
||||
};
|
||||
check = {
|
||||
command = "clippy";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
{ ... }:
|
||||
{
|
||||
programs.nixvim.plugins.telescope = {
|
||||
enable = true;
|
||||
extensions = {
|
||||
# file-browser.enable = true;
|
||||
fzf-native.enable = true;
|
||||
# media-files.enable = true;
|
||||
};
|
||||
settings = {
|
||||
pickers.colorscheme.enable_preview = true;
|
||||
|
||||
defaults = {
|
||||
layout_config = {
|
||||
horizontal = {
|
||||
prompt_position = "bottom";
|
||||
};
|
||||
};
|
||||
sorting_strategy = "descending";
|
||||
};
|
||||
};
|
||||
keymaps = {
|
||||
# "<leader><space>" = {
|
||||
# action = "find_files";
|
||||
# options.desc = "Find Project Files";
|
||||
# };
|
||||
"<leader>f" = {
|
||||
action = "live_grep";
|
||||
options.desc = "Find Text";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{ ... }:
|
||||
{
|
||||
programs.nixvim.plugins.toggleterm = {
|
||||
enable = true;
|
||||
settings = {
|
||||
direction = "horizontal";
|
||||
float_opts = {
|
||||
border = "curved";
|
||||
};
|
||||
shell = "nu";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{ ... }:
|
||||
{
|
||||
programs.nixvim.plugins.treesitter = {
|
||||
enable = true;
|
||||
settings = {
|
||||
auto_install = true;
|
||||
highlight.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
{ config, ... }:
|
||||
{
|
||||
xdg.configFile."rofi/config.rasi".text = ''
|
||||
configuration{
|
||||
modi: "run,drun,window";
|
||||
lines: 5;
|
||||
cycle: false;
|
||||
font: "${config.stylix.fonts.serif.name} 14";
|
||||
show-icons: true;
|
||||
icon-theme: "Papirus-dark";
|
||||
terminal: "foot";
|
||||
drun-display-format: "{icon} {name}";
|
||||
location: 0;
|
||||
disable-history: true;
|
||||
hide-scrollbar: true;
|
||||
display-drun: " Apps ";
|
||||
display-run: " Run ";
|
||||
display-window: " Window ";
|
||||
/* display-Network: " Network"; */
|
||||
sidebar-mode: true;
|
||||
sorting-method: "fzf";
|
||||
}
|
||||
|
||||
@theme "theme"'';
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
imports = [
|
||||
./config.nix
|
||||
./theme.nix
|
||||
];
|
||||
|
||||
home.packages = [
|
||||
pkgs.rofi-power-menu
|
||||
pkgs.rofi
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,102 @@
|
||||
{ config, ... }:
|
||||
{
|
||||
xdg.configFile."rofi/theme.rasi".text = with config.stylix.base16Scheme.palette; ''
|
||||
* {
|
||||
bg-col: #${base00};
|
||||
bg-col-light: #${base01};
|
||||
border-col: #${base0D};
|
||||
selected-col: #${base01};
|
||||
accent: #${base0D};
|
||||
fg-col: #${base07};
|
||||
fg-col2: #${base06};
|
||||
grey: #${base04};
|
||||
}
|
||||
|
||||
element-text, element-icon , mode-switcher {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
|
||||
window {
|
||||
height: 530px;
|
||||
width: 600px;
|
||||
border: 2px;
|
||||
border-color: @border-col;
|
||||
background-color: @bg-col;
|
||||
}
|
||||
|
||||
mainbox {
|
||||
background-color: @bg-col;
|
||||
}
|
||||
|
||||
inputbar {
|
||||
children: [prompt,entry];
|
||||
background-color: @bg-col-light;
|
||||
border-radius: 5px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
prompt {
|
||||
background-color: @accent;
|
||||
padding: 4px;
|
||||
text-color: @bg-col-light;
|
||||
border-radius: 3px;
|
||||
margin: 10px 0px 10px 10px;
|
||||
}
|
||||
|
||||
textbox-prompt-colon {
|
||||
expand: false;
|
||||
str: ":";
|
||||
}
|
||||
|
||||
entry {
|
||||
padding: 6px;
|
||||
margin: 10px 10px 10px 5px;
|
||||
text-color: @fg-col;
|
||||
background-color: @bg-col;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
listview {
|
||||
border: 0px 0px 0px;
|
||||
padding: 6px 0px 0px;
|
||||
margin: 10px 0px 0px 6px;
|
||||
columns: 1;
|
||||
background-color: @bg-col;
|
||||
cycle: true;
|
||||
}
|
||||
|
||||
element {
|
||||
padding: 8px;
|
||||
margin: 0px 10px 4px 4px;
|
||||
background-color: @bg-col;
|
||||
text-color: @fg-col;
|
||||
}
|
||||
|
||||
element-icon {
|
||||
size: 28px;
|
||||
}
|
||||
|
||||
element selected {
|
||||
background-color: @selected-col ;
|
||||
text-color: @fg-col2 ;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
mode-switcher {
|
||||
spacing: 0;
|
||||
}
|
||||
|
||||
button {
|
||||
padding: 10px;
|
||||
background-color: @bg-col-light;
|
||||
text-color: @grey;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
|
||||
button selected {
|
||||
background-color: @bg-col;
|
||||
text-color: @accent;
|
||||
}'';
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
{...}: {
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{...}:
|
||||
{
|
||||
programs.tmux = {
|
||||
enable = true;
|
||||
keyMode = "vi";
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,257 @@
|
||||
{ config, ... }:
|
||||
{
|
||||
home.file.".config/vesktop/themes/base16.css".text =
|
||||
with config.stylix.base16Scheme.palette;
|
||||
with config.stylix.fonts;
|
||||
''
|
||||
@import url('https://refact0r.github.io/midnight-discord/build/midnight.css');
|
||||
@import url('https://gitea.thekittycat.ca/autumn-the-kitty-cat/no-nitro/raw/branch/main/no-nitro.css');
|
||||
|
||||
body {
|
||||
font-family: '${monospace.name}', '${emoji.name}';
|
||||
}
|
||||
|
||||
:root {
|
||||
--font-primary: '${monospace.name}', '${emoji.name}';
|
||||
--font-display: '${monospace.name}', '${emoji.name}';
|
||||
--font-headline: '${monospace.name}', '${emoji.name}';
|
||||
--font-code: '${monospace.name}', '${emoji.name}';
|
||||
--font-clan-body: '${monospace.name}', '${emoji.name}';
|
||||
--font-clan-signature: '${monospace.name}', '${emoji.name}';
|
||||
--font-display-marketing: '${monospace.name}', '${emoji.name}';
|
||||
--font-display-marketing-header: '${monospace.name}', '${emoji.name}';
|
||||
--online-indicator: #${base0B};
|
||||
--dnd-indicator: #${base08};
|
||||
--idle-indicator: #${base08};
|
||||
--streaming-indicator: #${base0E};
|
||||
|
||||
--accent-1: #${base0E}; /* links */
|
||||
--accent-2: #${base0E}; /* general unread/mention elements */
|
||||
--accent-3: #${base0E}; /* accent buttons */
|
||||
--accent-4: #${base0E}; /* accent buttons when hovered */
|
||||
--accent-5: #${base0E}; /* accent buttons when clicked */
|
||||
--accent-new: #${base0E}; /* new indicator */
|
||||
--mention: #${base06}1a; /* mentions & mention messages */
|
||||
--mention-hover: #${base06}1a; /* mentions & mention messages when hovered */
|
||||
|
||||
--text-0: var(--bg-4); /* text on colored elements */
|
||||
--text-1: #${base05}; /* bright text on colored elements */
|
||||
--text-2: #${base05}; /* headings and important text */
|
||||
--text-3: #${base05}; /* normal text */
|
||||
--text-4: #${base05}; /* icon buttons and channels */
|
||||
--text-5: #${base05}; /* muted channels/chats and timestamps */
|
||||
|
||||
--bg-1: #${base03}; /* dark buttons when clicked */
|
||||
--bg-2: #${base02}; /* dark buttons */
|
||||
--bg-3: #${base01}; /* spacing, secondary elements */
|
||||
--bg-4: #${base00}; /* main background color */
|
||||
--hover: #${base03}; /* channels and buttons when hovered */
|
||||
--active: #${base03}; /* channels and buttons when clicked or selected */
|
||||
--message-hover: #${base01}1a; /* messages when hovered */
|
||||
|
||||
/* Unset unthemeable elements*/
|
||||
--login-bg-filter: none; /* login background artwork */
|
||||
--green-to-accent-3-filter: none; /* add friend page explore icon */
|
||||
--blurple-to-accent-3-filter: none; /* add friend page school icon */
|
||||
}
|
||||
'';
|
||||
|
||||
programs.vesktop = {
|
||||
enable = true;
|
||||
vencord.settings = {
|
||||
autoUpdate = true;
|
||||
autoUpdateNotification = true;
|
||||
useQuickCss = true;
|
||||
themeLinks = [ ];
|
||||
enabledThemes = [ "base16.css" ];
|
||||
frameless = false;
|
||||
transparent = false;
|
||||
winCtrlQ = false;
|
||||
disableMinSize = false;
|
||||
winNativeTitleBar = false;
|
||||
plugins = {
|
||||
ChatInputButtonAPI.enabled = true;
|
||||
CommandsAPI.enabled = true;
|
||||
DynamicImageModalAPI.enabled = true;
|
||||
MemberListDecoratorsAPI.enabled = true;
|
||||
MessageAccessoriesAPI.enabled = true;
|
||||
MessageDecorationsAPI.enabled = true;
|
||||
MessageEventsAPI.enabled = true;
|
||||
MessagePopoverAPI.enabled = true;
|
||||
MessageUpdaterAPI.enabled = true;
|
||||
UserSettingsAPI.enabled = true;
|
||||
AlwaysExpandRoles.enabled = true;
|
||||
AnonymiseFileNames.enabled = true;
|
||||
BetterRoleContext.enabled = true;
|
||||
BetterRoleDot = {
|
||||
enabled = true;
|
||||
bothStyles = false;
|
||||
copyRoleColorInProfilePopout = false;
|
||||
};
|
||||
BetterSessions = {
|
||||
enabled = true;
|
||||
backgroundCheck = false;
|
||||
};
|
||||
BlurNSFW = {
|
||||
enabled = true;
|
||||
blurAmount = 10;
|
||||
};
|
||||
CallTimer.enabled = true;
|
||||
ClearURLs.enabled = true;
|
||||
ConsoleJanitor = {
|
||||
enabled = true;
|
||||
disableLoggers = false;
|
||||
disableSpotifyLogger = true;
|
||||
whitelistedLoggers = "GatewaySocket; Routing/Utils";
|
||||
};
|
||||
CopyEmojiMarkdown.enabled = true;
|
||||
CopyFileContents.enabled = true;
|
||||
CopyUserURLs.enabled = true;
|
||||
CrashHandler.enabled = true;
|
||||
ExpressionCloner.enabled = true;
|
||||
FakeNitro.enabled = true;
|
||||
FavoriteGifSearch.enabled = true;
|
||||
FixCodeblockGap.enabled = true;
|
||||
FixImagesQuality.enabled = true;
|
||||
FixSpotifyEmbeds.enabled = true;
|
||||
FixYoutubeEmbeds.enabled = true;
|
||||
ForceOwnerCrown.enabled = true;
|
||||
FriendsSince.enabled = true;
|
||||
FullSearchContext.enabled = true;
|
||||
iLoveSpam.enabled = true;
|
||||
ImplicitRelationships = {
|
||||
enabled = true;
|
||||
sortByAffinity = true;
|
||||
};
|
||||
LoadingQuotes = {
|
||||
enabled = true;
|
||||
replaceEvents = true;
|
||||
enableDiscordPresetQuotes = false;
|
||||
additionalQuotes = "";
|
||||
additionalQuotesDelimiter = "|";
|
||||
enablePluginPresetQuotes = true;
|
||||
};
|
||||
MemberCount = {
|
||||
enabled = true;
|
||||
memberList = true;
|
||||
toolTip = true;
|
||||
};
|
||||
MessageLinkEmbeds.enabled = true;
|
||||
MessageLogger = {
|
||||
enabled = true;
|
||||
deleteStyle = "overlay";
|
||||
logDeletes = true;
|
||||
collapseDeleted = false;
|
||||
logEdits = true;
|
||||
inlineEdits = true;
|
||||
ignoreBots = false;
|
||||
ignoreSelf = false;
|
||||
ignoreUsers = "";
|
||||
ignoreChannels = "";
|
||||
ignoreGuilds = "";
|
||||
};
|
||||
MoreCommands.enabled = true;
|
||||
MutualGroupDMs.enabled = true;
|
||||
NoDevtoolsWarning.enabled = true;
|
||||
NoMaskedUrlPaste.enabled = true;
|
||||
NoOnboardingDelay.enabled = true;
|
||||
NoProfileThemes.enabled = true;
|
||||
NormalizeMessageLinks.enabled = true;
|
||||
OnePingPerDM.enabled = true;
|
||||
OpenInApp = {
|
||||
enabled = true;
|
||||
spotify = true;
|
||||
};
|
||||
PermissionsViewer.enabled = true;
|
||||
petpet.enabled = true;
|
||||
PlatformIndicators = {
|
||||
enabled = true;
|
||||
colorMobileIndicator = true;
|
||||
list = true;
|
||||
badges = true;
|
||||
messages = true;
|
||||
};
|
||||
QuickMention.enabled = true;
|
||||
QuickReply.enabled = true;
|
||||
RelationshipNotifier.enabled = true;
|
||||
RevealAllSpoilers.enabled = true;
|
||||
ReverseImageSearch.enabled = true;
|
||||
SendTimestamps.enabled = true;
|
||||
ServerInfo.enabled = true;
|
||||
ShikiCodeblocks = {
|
||||
enabled = true;
|
||||
useDevIcon = "GREYSCALE";
|
||||
theme = "https =//raw.githubusercontent.com/shikijs/textmate-grammars-themes/2d87559c7601a928b9f7e0f0dda243d2fb6d4499/packages/tm-themes/themes/dark-plus.json";
|
||||
};
|
||||
ShowHiddenChannels = {
|
||||
enabled = true;
|
||||
showMode = 0;
|
||||
hideUnreads = true;
|
||||
};
|
||||
ShowHiddenThings = {
|
||||
enabled = true;
|
||||
showTimeouts = true;
|
||||
showInvitesPaused = true;
|
||||
showModView = true;
|
||||
disableDiscoveryFilters = true;
|
||||
disableDisallowedDiscoveryFilters = true;
|
||||
};
|
||||
SilentMessageToggle.enabled = true;
|
||||
SpotifyControls = {
|
||||
enabled = true;
|
||||
hoverControls = false;
|
||||
};
|
||||
Translate = {
|
||||
enabled = true;
|
||||
autoTranslate = false;
|
||||
showChatBarButton = true;
|
||||
};
|
||||
TypingIndicator = {
|
||||
enabled = true;
|
||||
includeMutedChannels = false;
|
||||
includeCurrentChannel = true;
|
||||
};
|
||||
TypingTweaks = {
|
||||
enabled = true;
|
||||
alternativeFormatting = true;
|
||||
};
|
||||
UnlockedAvatarZoom.enabled = true;
|
||||
UserVoiceShow = {
|
||||
enabled = true;
|
||||
showInUserProfileModal = true;
|
||||
showInMemberList = true;
|
||||
showInMessages = true;
|
||||
};
|
||||
ValidReply.enabled = true;
|
||||
ValidUser.enabled = true;
|
||||
VoiceChatDoubleClick.enabled = true;
|
||||
VcNarrator.enabled = true;
|
||||
ViewIcons.enabled = true;
|
||||
ViewRaw = {
|
||||
enabled = true;
|
||||
clickMethod = "Left";
|
||||
};
|
||||
VoiceDownload.enabled = true;
|
||||
VoiceMessages.enabled = true;
|
||||
VolumeBooster.enabled = true;
|
||||
WebKeybinds.enabled = true;
|
||||
WebScreenShareFixes.enabled = true;
|
||||
WhoReacted.enabled = true;
|
||||
YoutubeAdblock.enabled = true;
|
||||
NoTrack = {
|
||||
enabled = true;
|
||||
disableAnalytics = true;
|
||||
};
|
||||
WebContextMenus = {
|
||||
enabled = true;
|
||||
addBack = true;
|
||||
};
|
||||
Settings = {
|
||||
enabled = true;
|
||||
settingsLocation = "aboveNitro";
|
||||
};
|
||||
SupportHelper.enabled = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,139 @@
|
||||
{ config, ... }:
|
||||
{
|
||||
home.file.".config/waybar/config".text = ''
|
||||
{
|
||||
"position": "top",
|
||||
"spacing": 4,
|
||||
"modules-left": ["custom/icon", "ext/workspaces", "tray"],
|
||||
"modules-center": ["clock"],
|
||||
"modules-right": ["pulseaudio", "cpu", "memory", "temperature", "battery"],
|
||||
"custom/icon": {
|
||||
"format": " ",
|
||||
"tooltip": false
|
||||
},
|
||||
"tray": {
|
||||
"spacing": 10
|
||||
},
|
||||
"clock": {
|
||||
"format": "{:L%Y-%m-%d<small>[%a]</small> <tt><small>%p</small></tt>%I:%M}"
|
||||
},
|
||||
"cpu": {
|
||||
"format": " {usage}%",
|
||||
"tooltip": false
|
||||
},
|
||||
"memory": {
|
||||
"format": " {}%"
|
||||
},
|
||||
"temperature": {
|
||||
"thermal-zone": 2,
|
||||
"critical-threshold": 80,
|
||||
"format-critical": "{icon} {temperatureC}°C",
|
||||
"format": "{icon} {temperatureC}°C",
|
||||
"format-icons": ["", "", ""]
|
||||
},
|
||||
"battery": {
|
||||
"states": {
|
||||
"good": 95,
|
||||
"warning": 30,
|
||||
"critical": 15
|
||||
},
|
||||
"format": "{icon} {capacity}%",
|
||||
"format-charging": " {capacity}%",
|
||||
"format-plugged": " {capacity}%",
|
||||
"format-alt": "{icon} {time}",
|
||||
"format-icons": ["", "", "", "", ""]
|
||||
},
|
||||
"pulseaudio": {
|
||||
"scroll-step": 5, // %, can be a float
|
||||
"format": "{icon} {volume}% {format_source}",
|
||||
"format-bluetooth": " {icon} {volume}% {format_source}",
|
||||
"format-bluetooth-muted": " {icon} {format_source}",
|
||||
"format-muted": " {format_source}",
|
||||
"format-source": " {volume}%",
|
||||
"format-source-muted": "",
|
||||
"format-icons": {
|
||||
"default": ["", "", ""]
|
||||
},
|
||||
"on-click-right": "pavucontrol",
|
||||
},
|
||||
}
|
||||
'';
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
style = ''
|
||||
* {
|
||||
font-family: "${config.stylix.fonts.serif.name}";
|
||||
font-size: 16px;
|
||||
min-height: 10px;
|
||||
}
|
||||
|
||||
#custom-icon,
|
||||
#workspaces,
|
||||
#tray,
|
||||
#clock,
|
||||
#pulseaudio,
|
||||
#cpu,
|
||||
#memory,
|
||||
#temperature,
|
||||
#battery {
|
||||
border-width: 2px;
|
||||
border-style: solid;
|
||||
border-color: #${config.stylix.base16Scheme.palette.base0D};
|
||||
border-radius: 10px;
|
||||
margin-top: 6px;
|
||||
margin-left: 8px;
|
||||
padding-left: 10px;
|
||||
margin-bottom: 0px;
|
||||
padding-right: 10px;
|
||||
border-radius: 10px;
|
||||
transition: none;
|
||||
color: #${config.stylix.base16Scheme.palette.base05};
|
||||
background: #${config.stylix.base16Scheme.palette.base00};
|
||||
}
|
||||
|
||||
#custom-icon {
|
||||
margin-left: 10px;
|
||||
}
|
||||
#memory {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
|
||||
window#waybar {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
window#waybar.hidden {
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
#window {
|
||||
margin-top: 6px;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
border-radius: 10px;
|
||||
transition: none;
|
||||
color: transparent;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
#battery.critical:not(.charging) {
|
||||
animation-name: blink;
|
||||
animation-duration: 0.5s;
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
to {
|
||||
background-color: #${config.stylix.base16Scheme.palette.base08};
|
||||
}
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
color: #${config.stylix.base16Scheme.palette.base0D};
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{...}: {
|
||||
programs.yazi = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
{config, ...}:
|
||||
{
|
||||
programs.zathura = {
|
||||
enable = true;
|
||||
options = with config.stylix.base16Scheme.palette; {
|
||||
font = "${config.stylix.fonts.serif.name} 14";
|
||||
|
||||
default-fg = "#${base05}";
|
||||
default-bg = "#${base00}";
|
||||
completion-bg = "#${base02}";
|
||||
completion-fg = "#${base05}";
|
||||
completion-highlight-bg = "#${base04}";
|
||||
completion-highlight-fg = "#${base05}";
|
||||
completion-group-bg = "#${base02}";
|
||||
completion-group-fg = "#${base0E}";
|
||||
statusbar-fg = "#${base05}";
|
||||
statusbar-bg = "#${base02}";
|
||||
notification-bg = "#${base02}";
|
||||
notification-fg = "#${base05}";
|
||||
notification-error-bg = "#${base02}";
|
||||
notification-error-fg = "#${base08}";
|
||||
notification-warning-bg = "#${base02}";
|
||||
notification-warning-fg = "#${base09}";
|
||||
inputbar-fg = "#${base05}";
|
||||
inputbar-bg = "#${base02}";
|
||||
index-fg = "#${base05}";
|
||||
index-bg = "#${base00}";
|
||||
index-active-fg = "#${base05}";
|
||||
index-active-bg = "#${base02}";
|
||||
render-loading-bg = "#${base00}";
|
||||
render-loading-fg = "#${base05}";
|
||||
recolor-lightcolor = "#${base00}";
|
||||
recolor-darkcolor = "#${base05}";
|
||||
recolor = "true";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,129 @@
|
||||
{ config, pkgs, ... }:
|
||||
let
|
||||
betterfox = pkgs.fetchFromGitHub {
|
||||
owner = "yokoffing";
|
||||
repo = "Betterfox";
|
||||
rev = "116.1";
|
||||
hash = "sha256-Ai8Szbrk/4FhGhS4r5gA2DqjALFRfQKo2a/TwWCIA6g=";
|
||||
};
|
||||
|
||||
catppuccinUserChrome = pkgs.fetchFromGitHub {
|
||||
owner = "catppuccin";
|
||||
repo = "zen-browser";
|
||||
rev = "0893393f721facb884365a318111c4a7fce96b45";
|
||||
hash = "sha256-+Nf7TUairZBnhYCFVBqiQW9QodV/xWSOnH6X9o6S7rM=";
|
||||
};
|
||||
replaceWithStylixColours =
|
||||
textFile:
|
||||
with config.stylix.base16Scheme.palette;
|
||||
builtins.replaceStrings
|
||||
[
|
||||
"1e1e2e"
|
||||
"181825"
|
||||
"313244"
|
||||
"45475a"
|
||||
"585b70"
|
||||
"cdd6f4"
|
||||
"f5e0dc"
|
||||
"b4befe"
|
||||
"f38ba8"
|
||||
"fab387"
|
||||
"f9e2af"
|
||||
"a6e3a1"
|
||||
"94e2d5"
|
||||
"89b4fa"
|
||||
"cba6f7"
|
||||
"f2cdcd"
|
||||
]
|
||||
[
|
||||
base00
|
||||
base01
|
||||
base02
|
||||
base03
|
||||
base04
|
||||
base05
|
||||
base06
|
||||
base07
|
||||
base08
|
||||
base09
|
||||
base0A
|
||||
base0B
|
||||
base0C
|
||||
base0D
|
||||
base0E
|
||||
base0F
|
||||
]
|
||||
(builtins.readFile textFile);
|
||||
|
||||
userChromeText = replaceWithStylixColours "${catppuccinUserChrome}/themes/Mocha/Mauve/userChrome.css";
|
||||
userContentText = replaceWithStylixColours "${catppuccinUserChrome}/themes/Mocha/Mauve/userContent.css";
|
||||
|
||||
installExtension = name: {
|
||||
inherit name;
|
||||
value = {
|
||||
install_url = "https://addons.mozilla.org/firefox/downloads/latest/${name}/latest.xpi";
|
||||
installation_mode = "force_installed";
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
home.file.".zen/default/chrome/userChrome.css".text = userChromeText;
|
||||
home.file.".zen/default/chrome/userContent.css".text = userContentText;
|
||||
programs.zen-browser = {
|
||||
enable = true;
|
||||
policies = {
|
||||
DisableTelemtry = true;
|
||||
DisableFirefoxStudies = true;
|
||||
EnableTrackingProtection = {
|
||||
Value = true;
|
||||
Locked = true;
|
||||
Cryptomining = true;
|
||||
Fingerprinting = true;
|
||||
};
|
||||
DisablePocket = true;
|
||||
DisableFirefoxAccounts = true;
|
||||
DisableAccounts = true;
|
||||
DisableFirefoxScreenshots = true;
|
||||
OverrideFirstRunPage = "";
|
||||
OverridePostUpdatePage = "";
|
||||
DontCheckDefaultBrowser = true;
|
||||
DisplayBookmarksToolbar = "never";
|
||||
DisplayMenuBar = "default-off";
|
||||
SearchBar = "unified";
|
||||
ExtensionSettings = builtins.listToAttrs (
|
||||
builtins.map (name: installExtension name) [
|
||||
# BitWarden
|
||||
"{446900e4-71c2-419f-a6a7-df9c091e268b}"
|
||||
|
||||
# Catppuccin Mocha Mauve
|
||||
"{76aabc99-c1a8-4c1e-832b-d4f2941d5a7a}"
|
||||
|
||||
# Dark Reader
|
||||
"addon@darkreader.org"
|
||||
|
||||
# Language Tool
|
||||
"languagetool-webextension@languagetool.org"
|
||||
|
||||
# Return dislikes to YouTube
|
||||
"{762f9885-5a13-4abd-9c77-433dcd38b8fd}"
|
||||
|
||||
# SponsorBlocker
|
||||
"sponsorBlocker@ajay.app"
|
||||
|
||||
# uBlock Origin:
|
||||
"uBlock0@raymondhill.net"
|
||||
]
|
||||
);
|
||||
};
|
||||
|
||||
profiles.default = {
|
||||
id = 0;
|
||||
isDefault = true;
|
||||
extraConfig = builtins.concatStringsSep "\n" [
|
||||
(builtins.readFile "${betterfox}/Securefox.js")
|
||||
(builtins.readFile "${betterfox}/Fastfox.js")
|
||||
(builtins.readFile "${betterfox}/Peskyfox.js")
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{...}:
|
||||
{
|
||||
programs.zoxide = {
|
||||
enable = true;
|
||||
enableNushellIntegration = true;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
stylix =
|
||||
let
|
||||
palette = {
|
||||
base00 = "11111a"; # 11111a
|
||||
base01 = "181825"; # 181825
|
||||
base02 = "313244"; # 313244
|
||||
base03 = "45475a"; # 45475a
|
||||
base04 = "585b70"; # 585b70
|
||||
base05 = "cdd6f4"; # cdd6f4
|
||||
base06 = "f5e0dc"; # f5e0dc
|
||||
base07 = "b4befe"; # b4befe
|
||||
base08 = "f38ba8"; # f38ba8
|
||||
base09 = "fab387"; # fab387
|
||||
base0A = "f9e2af"; # f9e2af
|
||||
base0B = "a6e3a1"; # a6e3a1
|
||||
base0C = "94e2d5"; # 94e2d5
|
||||
base0D = "89b4fa"; # 89b4fa
|
||||
base0E = "cba6f7"; # cba6f7
|
||||
base0F = "f2cdcd"; # f2cdcd
|
||||
|
||||
#base00 = "1d2021"; #1d2021
|
||||
#base01 = "3c3836"; #3c3836
|
||||
#base02 = "504945"; #504945
|
||||
#base03 = "665c54"; #665c54
|
||||
#base04 = "bdae93"; #bdae93
|
||||
#base05 = "d5c4a1"; #d5c4a1
|
||||
#base06 = "ebdbb2"; #ebdbb2
|
||||
#base07 = "fbf1c7"; #fbf1c7
|
||||
#base08 = "fb4934"; #fb4934
|
||||
#base09 = "fe8019"; #fe8019
|
||||
#base0A = "fabd2f"; #fabd2f
|
||||
#base0B = "b8bb26"; #b8bb26
|
||||
#base0C = "8ec07c"; #8ec07c
|
||||
#base0D = "83a598"; #83a598
|
||||
#base0E = "d3869b"; #d3869b
|
||||
#base0F = "d65d0e"; #d65d0e
|
||||
};
|
||||
wallpaper = inputs.nix-wallpaper.packages.${pkgs.stdenv.hostPlatform.system}.default.override {
|
||||
width = 2560;
|
||||
height = 1440;
|
||||
backgroundColor = "#${palette.base00}";
|
||||
logoColors = {
|
||||
color0 = "#${palette.base0D}";
|
||||
color1 = "#${palette.base0D}";
|
||||
color2 = "#${palette.base0D}";
|
||||
color3 = "#${palette.base0D}";
|
||||
color4 = "#${palette.base0D}";
|
||||
color5 = "#${palette.base0D}";
|
||||
};
|
||||
};
|
||||
in
|
||||
|
||||
{
|
||||
enable = true;
|
||||
image = "${wallpaper}/share/wallpapers/nixos-wallpaper.png";
|
||||
polarity = "dark";
|
||||
targets.waybar.enable = false;
|
||||
targets.zathura.enable = false;
|
||||
targets.vesktop.enable = false;
|
||||
targets.zen-browser.enable = false;
|
||||
fonts =
|
||||
let
|
||||
font = {
|
||||
package = pkgs.nerd-fonts.caskaydia-cove;
|
||||
name = "CaskaydiaCove Nerd Font";
|
||||
};
|
||||
in
|
||||
{
|
||||
monospace = font;
|
||||
serif = font;
|
||||
sansSerif = font;
|
||||
emoji = font;
|
||||
};
|
||||
base16Scheme.palette = palette;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{...}:
|
||||
{
|
||||
xdg.mimeApps = {
|
||||
enable = true;
|
||||
defaultApplications = {
|
||||
"application/pdf" = [ "org.pwmt.zathura.desktop" ];
|
||||
"application/json" = [ "zen-beta.desktop" ];
|
||||
"text/html" = [ "zen-beta.desktop" ];
|
||||
"text/xml" = [ "zen-beta.desktop" ];
|
||||
"x-scheme-handler/http" = [ "zen-beta.desktop" ];
|
||||
"x-scheme-handler/https" = [ "zen-beta.desktop" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{...}:
|
||||
{
|
||||
imports = [ ../common/home.nix ];
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{...}:
|
||||
{
|
||||
imports = [ ../common/home.nix ];
|
||||
}
|
||||
Reference in New Issue
Block a user