aaa
This commit is contained in:
parent
604c6c9a69
commit
19a880c98d
22
users/patriot/config/helix/cfg.nix
Normal file
22
users/patriot/config/helix/cfg.nix
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
{...}: ''
|
||||||
|
theme = "mytheme"
|
||||||
|
|
||||||
|
[editor]
|
||||||
|
line-number = "relative"
|
||||||
|
middle-click-paste = false
|
||||||
|
true-color = true
|
||||||
|
|
||||||
|
[editor.cursor-shape]
|
||||||
|
insert = "bar"
|
||||||
|
|
||||||
|
[editor.auto-pairs]
|
||||||
|
'(' = ')'
|
||||||
|
'{' = '}'
|
||||||
|
'[' = ']'
|
||||||
|
'"' = '"'
|
||||||
|
"'" = "'"
|
||||||
|
'<' = '>'
|
||||||
|
|
||||||
|
[editor.lsp]
|
||||||
|
display-messages = true
|
||||||
|
''
|
5
users/patriot/config/helix/languages.nix
Normal file
5
users/patriot/config/helix/languages.nix
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{pkgBin, ...}: ''
|
||||||
|
[[language]]
|
||||||
|
name = "nix"
|
||||||
|
language-server = { command = "${pkgBin "rnix-lsp"}" }
|
||||||
|
''
|
83
users/patriot/config/helix/mytheme.nix
Normal file
83
users/patriot/config/helix/mytheme.nix
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
{...}: ''
|
||||||
|
# rose pine
|
||||||
|
|
||||||
|
"ui.background" = { bg = "base" }
|
||||||
|
"ui.menu" = { fg = "text", bg = "overlay" }
|
||||||
|
"ui.menu.selected" = { fg = "iris", bg = "surface" }
|
||||||
|
"ui.linenr" = {fg = "subtle" }
|
||||||
|
"ui.liner.selected" = "highlightOverlay"
|
||||||
|
"ui.selection" = { bg = "highlight" }
|
||||||
|
"comment" = { fg = "subtle", modifiers = ["italic"] }
|
||||||
|
"ui.statusline" = {fg = "foam", bg = "surface" }
|
||||||
|
"ui.statusline.inactive" = { fg = "iris", bg = "surface" }
|
||||||
|
"ui.help" = { fg = "foam", bg = "surface" }
|
||||||
|
"ui.cursor" = { fg = "rose", modifiers = ["reversed"] }
|
||||||
|
"ui.text" = { fg = "text" }
|
||||||
|
"ui.text.focus" = { fg = "foam", modifiers = ["bold"]}
|
||||||
|
"ui.text.info" = {fg = "pine", modifiers = ["bold"]}
|
||||||
|
"ui.virtual" = "highlight"
|
||||||
|
"operator" = "rose"
|
||||||
|
"variable" = "text"
|
||||||
|
"constant.numeric" = "iris"
|
||||||
|
"constant" = "gold"
|
||||||
|
"attributes" = "gold"
|
||||||
|
"type" = "foam"
|
||||||
|
"ui.cursor.match" = { fg = "gold", modifiers = ["underlined"] }
|
||||||
|
"string" = "gold"
|
||||||
|
"property" = "foam"
|
||||||
|
"constant.character.escape" = "subtle"
|
||||||
|
"function" = "rose"
|
||||||
|
"function.builtin" = "rose"
|
||||||
|
"function.method" = "foam"
|
||||||
|
"constructor" = "gold"
|
||||||
|
"special" = "gold"
|
||||||
|
"keyword" = "pine"
|
||||||
|
"label" = "iris"
|
||||||
|
"namespace" = "pine"
|
||||||
|
"ui.popup" = { bg = "surface" }
|
||||||
|
"ui.popup.info" = { bg = "surface" }
|
||||||
|
"ui.window" = { bg = "base" }
|
||||||
|
"ui.help" = { bg = "overlay", fg = "foam" }
|
||||||
|
"text" = "text"
|
||||||
|
"diff.plus" = "foam"
|
||||||
|
"diff.delta" = "rose"
|
||||||
|
"diff.minus" = "love"
|
||||||
|
|
||||||
|
"info" = "gold"
|
||||||
|
"hint" = "gold"
|
||||||
|
"debug" = "rose"
|
||||||
|
"diagnostic" = "rose"
|
||||||
|
"error" = "love"
|
||||||
|
|
||||||
|
"markup.heading.marker" = "subtle"
|
||||||
|
"markup.heading.1" = { fg = "love", modifiers = ["bold"] }
|
||||||
|
"markup.heading.2" = { fg = "gold", modifiers = ["bold"] }
|
||||||
|
"markup.heading.3" = { fg = "rose", modifiers = ["bold"] }
|
||||||
|
"markup.heading.4" = { fg = "pine", modifiers = ["bold"] }
|
||||||
|
"markup.heading.5" = { fg = "form", modifiers = ["bold"] }
|
||||||
|
"markup.heading.6" = { fg = "fg", modifiers = ["bold"] }
|
||||||
|
"markup.list" = { fg = "love" }
|
||||||
|
"markup.bold" = { fg = "gold", modifiers = ["bold"] }
|
||||||
|
"markup.italic" = { fg = "iris", modifiers = ["italic"] }
|
||||||
|
"markup.link.url" = { fg = "pine", modifiers = ["underlined"]}
|
||||||
|
"markup.link.text" = { fg = "foam" }
|
||||||
|
"markup.quote" = { fg = "rose" }
|
||||||
|
"markup.raw" = { fg = "foam" }
|
||||||
|
|
||||||
|
[palette]
|
||||||
|
base = "#191724"
|
||||||
|
surface = "#1f1d2e"
|
||||||
|
overlay = "#26233a"
|
||||||
|
inactive = "#555169"
|
||||||
|
subtle = "#6e6a86"
|
||||||
|
text = "#e0def4"
|
||||||
|
love = "#eb6f92"
|
||||||
|
gold = "#f6c177"
|
||||||
|
rose = "#ebbcba"
|
||||||
|
pine = "#31748f"
|
||||||
|
foam = "#9ccfd8"
|
||||||
|
iris = "#c4a7e7"
|
||||||
|
highlight = "#2a2837"
|
||||||
|
highlightInactive = "#211f2d"
|
||||||
|
highlightOverlay = "#3a384a"
|
||||||
|
''
|
9
users/patriot/config/wezterm/cfg.nix
Normal file
9
users/patriot/config/wezterm/cfg.nix
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{font, ...}: ''
|
||||||
|
local wezterm = require 'wezterm';
|
||||||
|
|
||||||
|
return {
|
||||||
|
font = wezterm.font("${font.name}"),
|
||||||
|
font_size = ${builtins.toJSON font.size},
|
||||||
|
color_scheme = "mytheme"
|
||||||
|
}
|
||||||
|
''
|
13
users/patriot/config/wezterm/mytheme.nix
Normal file
13
users/patriot/config/wezterm/mytheme.nix
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{...}: ''
|
||||||
|
[colors]
|
||||||
|
foreground = "#e0def4"
|
||||||
|
background = "#191724"
|
||||||
|
cursor_bg = "#ebbcba"
|
||||||
|
cursor_border = "#ebbcba"
|
||||||
|
cursor_fg = "#ebbcba"
|
||||||
|
selection_bg = "#2a2837"
|
||||||
|
selection_fg = "#191724"
|
||||||
|
|
||||||
|
ansi = ["#191724","#1f1d2e","#26233a","#555169","#6e6a86","#e0def4","#f0f0f3","#c5c3ce"]
|
||||||
|
brights = ["#e2e1e7","#eb6f92","#f6c177","#ebbcba","#31748f","#9ccfd8","#c4a7e7","#e5e5e5"]
|
||||||
|
''
|
@ -34,11 +34,6 @@ in {
|
|||||||
programs = {
|
programs = {
|
||||||
adb.enable = true;
|
adb.enable = true;
|
||||||
steam.enable = true;
|
steam.enable = true;
|
||||||
java = {
|
|
||||||
enable = false;
|
|
||||||
package = pkgs.adoptopenjdk-jre-bin;
|
|
||||||
};
|
|
||||||
wireshark.enable = false;
|
|
||||||
};
|
};
|
||||||
security = {
|
security = {
|
||||||
pam.services.patriot = {
|
pam.services.patriot = {
|
||||||
@ -68,21 +63,18 @@ in {
|
|||||||
xserver = {
|
xserver = {
|
||||||
enable = true;
|
enable = true;
|
||||||
desktopManager = {
|
desktopManager = {
|
||||||
plasma5.enable = false;
|
|
||||||
gnome.enable = true;
|
gnome.enable = true;
|
||||||
xterm.enable = false;
|
xterm.enable = false;
|
||||||
};
|
};
|
||||||
displayManager = {
|
displayManager = {
|
||||||
autoLogin = {
|
autoLogin = {
|
||||||
enable = false;
|
enable = true;
|
||||||
user = "patriot";
|
user = "patriot";
|
||||||
};
|
};
|
||||||
lightdm.enable = false;
|
|
||||||
gdm = {
|
gdm = {
|
||||||
enable = true;
|
enable = true;
|
||||||
wayland = true;
|
wayland = true;
|
||||||
};
|
};
|
||||||
sddm.enable = false;
|
|
||||||
startx.enable = false;
|
startx.enable = false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -102,136 +94,20 @@ in {
|
|||||||
personal = import ../../personal.nix;
|
personal = import ../../personal.nix;
|
||||||
name = personal.name;
|
name = personal.name;
|
||||||
email = personal.emails.primary;
|
email = personal.emails.primary;
|
||||||
font = "Monoid HalfTight";
|
font = {
|
||||||
fontSize = 11;
|
name = "Comic Mono";
|
||||||
fontComb = "${font} ${toString fontSize}";
|
size = 13;
|
||||||
fontPackage = pkgs.monoid;
|
package = let
|
||||||
colorSchemeLight = {
|
ttf = pkgs.fetchurl {
|
||||||
primary = {
|
url = "https://dtinth.github.io/comic-mono-font/ComicMono.ttf";
|
||||||
normal = {
|
sha256 = "sha256-O8FCXpIqFqvw7HZ+/+TQJoQ5tMDc6YQy4H0V9drVcZY=";
|
||||||
background = "fbf3db";
|
|
||||||
foreground = "53676d";
|
|
||||||
};
|
};
|
||||||
bright = {
|
in
|
||||||
background = "d5cdb6";
|
pkgs.runCommand "comic-mono" {} ''
|
||||||
foreground = "3a4d53";
|
mkdir -p $out/share/fonts/truetype
|
||||||
};
|
ln -s ${ttf} $out/share/fonts/truetype
|
||||||
};
|
|
||||||
normal = {
|
|
||||||
black = "ece3cc";
|
|
||||||
gray = "5b5b5b";
|
|
||||||
red = "d2212d";
|
|
||||||
green = "489100";
|
|
||||||
yellow = "ad8900";
|
|
||||||
blue = "0072d4";
|
|
||||||
magenta = "ca4898";
|
|
||||||
cyan = "009c8f";
|
|
||||||
white = "909995";
|
|
||||||
};
|
|
||||||
bright = {
|
|
||||||
black = "d5cdb6";
|
|
||||||
gray = "7b7b7b";
|
|
||||||
red = "cc1729";
|
|
||||||
green = "428b00";
|
|
||||||
yellow = "a78300";
|
|
||||||
blue = "006dce";
|
|
||||||
magenta = "c44392";
|
|
||||||
cyan = "00978a";
|
|
||||||
white = "3a4d53";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
colorSchemeDark = let
|
|
||||||
normal = {
|
|
||||||
black = "252525";
|
|
||||||
gray = "5b5b5b";
|
|
||||||
red = "ed4a46";
|
|
||||||
green = "70b433";
|
|
||||||
yellow = "dbb32d";
|
|
||||||
blue = "368aeb";
|
|
||||||
magenta = "eb6eb7";
|
|
||||||
cyan = "3fc5b7";
|
|
||||||
white = "777777";
|
|
||||||
};
|
|
||||||
bright = {
|
|
||||||
black = "3b3b3b";
|
|
||||||
gray = "7b7b7b";
|
|
||||||
red = "ff5e56";
|
|
||||||
green = "83c746";
|
|
||||||
yellow = "efc541";
|
|
||||||
blue = "4f9cfe";
|
|
||||||
magenta = "ff81ca";
|
|
||||||
cyan = "56d8c9";
|
|
||||||
white = "dedede";
|
|
||||||
};
|
|
||||||
in {
|
|
||||||
inherit normal bright;
|
|
||||||
primary = {
|
|
||||||
normal = {
|
|
||||||
background = "181818";
|
|
||||||
foreground = "b9b9b9";
|
|
||||||
};
|
|
||||||
bright = {
|
|
||||||
background = bright.black;
|
|
||||||
foreground = bright.white;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
colorScheme =
|
|
||||||
# if builtins.pathExists ./light then colorSchemeLight else colorSchemeDark;
|
|
||||||
colorSchemeDark;
|
|
||||||
bgColor = colorScheme.primary.normal.background;
|
|
||||||
fgColor = colorScheme.primary.bright.foreground;
|
|
||||||
acColor = colorScheme.normal.yellow;
|
|
||||||
acColor2 = colorScheme.normal.magenta;
|
|
||||||
alacrittyColors = {
|
|
||||||
primary = {
|
|
||||||
background = "0x${bgColor}";
|
|
||||||
foreground = "0x${fgColor}";
|
|
||||||
};
|
|
||||||
normal = lib.mapAttrs (_: v: "0x${v}") colorScheme.normal;
|
|
||||||
bright = lib.mapAttrs (_: v: "0x${v}") colorScheme.bright;
|
|
||||||
};
|
|
||||||
# sway attrs reused
|
|
||||||
focusedWorkspace = {
|
|
||||||
background = "#${bgColor}";
|
|
||||||
border = "#${acColor}";
|
|
||||||
text = "#${acColor}";
|
|
||||||
};
|
|
||||||
activeWorkspace = {
|
|
||||||
background = "#${bgColor}";
|
|
||||||
border = "#${colorScheme.primary.bright.background}";
|
|
||||||
text = "#${fgColor}";
|
|
||||||
};
|
|
||||||
inactiveWorkspace = {
|
|
||||||
background = "#${bgColor}";
|
|
||||||
border = "#${bgColor}";
|
|
||||||
text = "#${fgColor}";
|
|
||||||
};
|
|
||||||
urgentWorkspace = {
|
|
||||||
background = "#${bgColor}";
|
|
||||||
border = "#${acColor2}";
|
|
||||||
text = "#${acColor2}";
|
|
||||||
};
|
|
||||||
addIndSway = x: {
|
|
||||||
background = x.background;
|
|
||||||
border = x.border;
|
|
||||||
childBorder = x.border;
|
|
||||||
text = x.text;
|
|
||||||
indicator = "#111111";
|
|
||||||
# don't care
|
|
||||||
};
|
|
||||||
fonts = [fontComb];
|
|
||||||
extraEnv = ''
|
|
||||||
# export SDL_VIDEODRIVER=wayland
|
|
||||||
# needs qt5.qtwayland in systemPackages
|
|
||||||
export QT_QPA_PLATFORM=wayland
|
|
||||||
#export QT_WAYLAND_DISABLE_WINDOWDECORATION="1"
|
|
||||||
# Fix for some Java AWT applications (e.g. Android Studio),
|
|
||||||
# use this if they aren't displayed properly:
|
|
||||||
export _JAVA_AWT_WM_NONREPARENTING=1
|
|
||||||
#export QT_QPA_PLATFORMTHEME=qt5ct
|
|
||||||
#export QT_PLATFORM_PLUGIN=qt5ct
|
|
||||||
'';
|
'';
|
||||||
|
};
|
||||||
in {
|
in {
|
||||||
imports = [
|
imports = [
|
||||||
../modules/direnv
|
../modules/direnv
|
||||||
@ -243,12 +119,13 @@ in {
|
|||||||
homeDirectory = nixosConfig.users.users.patriot.home;
|
homeDirectory = nixosConfig.users.users.patriot.home;
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
# Font stuff
|
# Font stuff
|
||||||
fontPackage
|
font.package
|
||||||
noto-fonts-cjk
|
noto-fonts-cjk
|
||||||
font-awesome
|
font-awesome
|
||||||
dejavu_fonts
|
dejavu_fonts
|
||||||
(nerdfonts.override {fonts = ["Monoid"];})
|
(nerdfonts.override {fonts = ["Monoid"];})
|
||||||
# Programs
|
# Programs
|
||||||
|
wezterm
|
||||||
cargo-outdated
|
cargo-outdated
|
||||||
cargo-release
|
cargo-release
|
||||||
cargo-udeps
|
cargo-udeps
|
||||||
@ -306,115 +183,7 @@ in {
|
|||||||
#discord-system-electron
|
#discord-system-electron
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
wayland.windowManager = {
|
|
||||||
sway = let
|
|
||||||
mkRofiCmd = args: "${config.programs.rofi.package}/bin/rofi ${lib.concatStringsSep " " args} | ${pkgs.sway}/bin/swaymsg --";
|
|
||||||
in {
|
|
||||||
enable = false;
|
|
||||||
extraSessionCommands = extraEnv;
|
|
||||||
wrapperFeatures.gtk = true;
|
|
||||||
extraConfig = ''
|
|
||||||
exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway
|
|
||||||
output HEADLESS-1 {
|
|
||||||
mode 1920x1080
|
|
||||||
bg ~/wallpaper.png fill
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
config = {
|
|
||||||
fonts = {
|
|
||||||
names = [font];
|
|
||||||
size = fontSize + 0.0;
|
|
||||||
};
|
|
||||||
bars = [{command = "${pkgBin "waybar"}";}];
|
|
||||||
colors = {
|
|
||||||
background = "#${bgColor}";
|
|
||||||
focused = addIndSway focusedWorkspace;
|
|
||||||
focusedInactive = addIndSway inactiveWorkspace;
|
|
||||||
unfocused = addIndSway activeWorkspace;
|
|
||||||
urgent = addIndSway urgentWorkspace;
|
|
||||||
};
|
|
||||||
gaps.smartBorders = "on";
|
|
||||||
menu = mkRofiCmd ["-show" "drun"];
|
|
||||||
modifier = "Mod4";
|
|
||||||
terminal = pkgBin "alacritty";
|
|
||||||
keybindings = let
|
|
||||||
mod = config.wayland.windowManager.sway.config.modifier;
|
|
||||||
cat = pkgs.coreutils + "/bin/cat";
|
|
||||||
grim = pkgBin "grim";
|
|
||||||
slurp = pkgBin "slurp";
|
|
||||||
pactl = pkgs.pulseaudio + "/bin/pactl";
|
|
||||||
playerctl = pkgBin "playerctl";
|
|
||||||
wf-recorder = pkgBin "wf-recorder";
|
|
||||||
wl-copy = pkgs.wl-clipboard + "/bin/wl-copy";
|
|
||||||
wl-paste = pkgs.wl-clipboard + "/bin/wl-paste";
|
|
||||||
shotFile = config.home.homeDirectory + "/shots/shot_$(date '+%Y_%m_%d_%H_%M')";
|
|
||||||
in
|
|
||||||
lib.mkOptionDefault
|
|
||||||
{
|
|
||||||
"${mod}+q" = "kill";
|
|
||||||
"${mod}+Shift+e" = "exit";
|
|
||||||
"${mod}+Shift+r" = "reload";
|
|
||||||
# Screenshot and copy it to clipboard
|
|
||||||
"Mod1+s" = ''
|
|
||||||
exec export SFILE="${shotFile}.png" && ${grim} "$SFILE" && ${cat} "$SFILE" | ${wl-copy} -t image/png
|
|
||||||
'';
|
|
||||||
# Save selected area as a picture and copy it to clipboard
|
|
||||||
"Mod1+Shift+s" = ''
|
|
||||||
exec export SFILE="${shotFile}.png" && ${grim} -g "$(${slurp})" "$SFILE" && ${cat} "$SFILE" | ${wl-copy} -t image/png
|
|
||||||
'';
|
|
||||||
# Record screen
|
|
||||||
"Mod1+r" = ''exec ${wf-recorder} -f "${shotFile}.mp4"'';
|
|
||||||
# Record an area
|
|
||||||
"Mod1+Shift+r" = ''exec ${wf-recorder} -g "$(${slurp})" -f "${shotFile}.mp4"'';
|
|
||||||
# Stop recording
|
|
||||||
"Mod1+c" = "exec pkill -INT wf-recorder";
|
|
||||||
"XF86AudioRaiseVolume" = "exec ${pactl} set-sink-volume 0 +5%";
|
|
||||||
"XF86AudioLowerVolume" = "exec ${pactl} set-sink-volume 0 -5%";
|
|
||||||
"XF86AudioMute" = "exec ${pactl} set-sink-mute 0 toggle";
|
|
||||||
"XF86AudioPlay" = "exec ${playerctl} play-pause";
|
|
||||||
"XF86AudioPrev" = "exec ${playerctl} previous";
|
|
||||||
"XF86AudioNext" = "exec ${playerctl} next";
|
|
||||||
"XF86AudioStop" = "exec ${playerctl} stop";
|
|
||||||
};
|
|
||||||
input = {
|
|
||||||
"*" = {
|
|
||||||
xkb_layout = nixosConfig.services.xserver.layout;
|
|
||||||
accel_profile = "flat";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
output = {"*" = {bg = config.home.homeDirectory + "/wallpaper.png" + " fill";};};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
programs = {
|
programs = {
|
||||||
alacritty = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
/*shell = {
|
|
||||||
program = "${pkgs.tmux}/bin/tmux";
|
|
||||||
args = ["attach"];
|
|
||||||
};*/
|
|
||||||
font = {
|
|
||||||
normal = {family = font;};
|
|
||||||
size = fontSize;
|
|
||||||
};
|
|
||||||
colors = alacrittyColors;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
tmux = {
|
|
||||||
enable = false;
|
|
||||||
newSession = true;
|
|
||||||
secureSocket = true;
|
|
||||||
baseIndex = 1;
|
|
||||||
escapeTime = 0;
|
|
||||||
keyMode = "vi";
|
|
||||||
shortcut = "a";
|
|
||||||
extraConfig = ''
|
|
||||||
set -g default-terminal "alacritty"
|
|
||||||
set -ga terminal-overrides ",alacritty:Tc"
|
|
||||||
set -g status off
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
firefox = {
|
firefox = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
@ -440,35 +209,6 @@ in {
|
|||||||
# privacy redirect
|
# privacy redirect
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
qutebrowser = {
|
|
||||||
enable = false;
|
|
||||||
settings = {
|
|
||||||
content.javascript.enabled = false;
|
|
||||||
colors.webpage.darkmode.enabled = false;
|
|
||||||
tabs = {
|
|
||||||
show = "multiple";
|
|
||||||
tabs_are_windows = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
extraConfig = let
|
|
||||||
domains = [
|
|
||||||
"discord.com"
|
|
||||||
"github.com"
|
|
||||||
"gitlab.com"
|
|
||||||
"nixos.org"
|
|
||||||
"protonmail.com"
|
|
||||||
"bitwarden.com"
|
|
||||||
"duckduckgo.com"
|
|
||||||
"youtube.com"
|
|
||||||
"docker.com"
|
|
||||||
];
|
|
||||||
enableJsForDomain = d: ''
|
|
||||||
config.set('content.javascript.enabled', True, 'https://*.${d}')
|
|
||||||
'';
|
|
||||||
in ''
|
|
||||||
${lib.concatStrings (map enableJsForDomain domains)}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
git = {
|
git = {
|
||||||
signing = {
|
signing = {
|
||||||
key = "E1C119F91F4CAE53E8445CAFBB57FCE7E35984F6";
|
key = "E1C119F91F4CAE53E8445CAFBB57FCE7E35984F6";
|
||||||
@ -520,12 +260,6 @@ in {
|
|||||||
# xdg compliant
|
# xdg compliant
|
||||||
dotDir = ".config/zsh";
|
dotDir = ".config/zsh";
|
||||||
history.path = ".local/share/zsh/history";
|
history.path = ".local/share/zsh/history";
|
||||||
envExtra = extraEnv;
|
|
||||||
loginExtra = ''
|
|
||||||
if [ "$(${pkgs.coreutils}/bin/tty)" = "/dev/tty1" ]; then
|
|
||||||
exec sway
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
initExtra = ''
|
initExtra = ''
|
||||||
export TERM=alacritty
|
export TERM=alacritty
|
||||||
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
|
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
|
||||||
@ -553,13 +287,6 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
fzf.enable = true;
|
fzf.enable = true;
|
||||||
rofi = {
|
|
||||||
enable = false;
|
|
||||||
package = pkgs.rofi-wayland;
|
|
||||||
cycle = true;
|
|
||||||
font = fontComb;
|
|
||||||
terminal = pkgBin "alacritty";
|
|
||||||
};
|
|
||||||
vscode = {
|
vscode = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.vscode;
|
package = pkgs.vscode;
|
||||||
@ -613,10 +340,10 @@ in {
|
|||||||
"rust-analyzer.procMacro.enable" = true;
|
"rust-analyzer.procMacro.enable" = true;
|
||||||
"rust-analyzer.server.path" = "${pkgs.rust-analyzer}/bin/rust-analyzer";
|
"rust-analyzer.server.path" = "${pkgs.rust-analyzer}/bin/rust-analyzer";
|
||||||
"rust-analyzer.updates.channel" = "nightly";
|
"rust-analyzer.updates.channel" = "nightly";
|
||||||
"editor.fontFamily" = "'${font}'";
|
"editor.fontFamily" = "'${font.name}'";
|
||||||
"debug.console.fontFamily" = "${font}";
|
"debug.console.fontFamily" = "${font.name}";
|
||||||
"debug.console.fontSize" = toString fontSize;
|
"debug.console.fontSize" = toString font.size;
|
||||||
"terminal.integrated.fontSize" = toString fontSize;
|
"terminal.integrated.fontSize" = toString font.size;
|
||||||
"go.useLanguageServer" = true;
|
"go.useLanguageServer" = true;
|
||||||
"rust-analyzer.checkOnSave.command" = "clippy";
|
"rust-analyzer.checkOnSave.command" = "clippy";
|
||||||
"nix.enableLanguageServer" = true;
|
"nix.enableLanguageServer" = true;
|
||||||
@ -644,7 +371,7 @@ in {
|
|||||||
pinentryFlavor = "qt";
|
pinentryFlavor = "qt";
|
||||||
};
|
};
|
||||||
gammastep = {
|
gammastep = {
|
||||||
enable = true;
|
enable = false;
|
||||||
latitude = 36.9;
|
latitude = 36.9;
|
||||||
longitude = 30.7;
|
longitude = 30.7;
|
||||||
};
|
};
|
||||||
@ -652,222 +379,11 @@ in {
|
|||||||
xdg = {
|
xdg = {
|
||||||
enable = true;
|
enable = true;
|
||||||
configFile = {
|
configFile = {
|
||||||
"helix/themes/mytheme.toml".text = ''
|
"wezterm/wezterm.lua".text = import ./config/wezterm/cfg.nix {inherit font;};
|
||||||
"attribute" = { fg = "#${colorScheme.bright.yellow}]" }
|
"wezterm/colors/mytheme.toml".text = import ./config/wezterm/mytheme.nix {};
|
||||||
"comment" = { fg = "#${colorScheme.normal.gray}", modifiers = ['italic'] }
|
"helix/themes/mytheme.toml".text = import ./config/helix/mytheme.nix {};
|
||||||
"constant" = { fg = "#${colorScheme.normal.blue}" }
|
"helix/config.toml".text = import ./config/helix/cfg.nix {};
|
||||||
"constant.builtin" = { fg = "#${colorScheme.bright.blue}" }
|
"helix/languages.toml".text = import ./config/helix/languages.nix {inherit pkgBin;};
|
||||||
"constructor" = { fg = "#${colorScheme.bright.blue}" }
|
|
||||||
"escape" = { fg = "#${colorScheme.bright.yellow}" }
|
|
||||||
"function" = { fg = "#${colorScheme.bright.blue}" }
|
|
||||||
"function.builtin" = { fg = "#${colorScheme.bright.blue}" }
|
|
||||||
"function.macro" = { fg = "#${colorScheme.bright.magenta}" }
|
|
||||||
"keyword" = { fg = "#${colorScheme.normal.magenta}", modifiers = ['italic'] }
|
|
||||||
"keyword.directive" = { fg = "#${colorScheme.normal.magenta}" }
|
|
||||||
"label" = { fg = "#${colorScheme.bright.magenta}" }
|
|
||||||
"namespace" = { fg = "#${colorScheme.bright.blue}" }
|
|
||||||
"number" = { fg = "#${colorScheme.normal.cyan}" }
|
|
||||||
"operator" = { fg = "#${colorScheme.bright.magenta}", modifiers = ['italic'] }
|
|
||||||
"property" = { fg = "#${colorScheme.normal.red}" }
|
|
||||||
"special" = { fg = "#${colorScheme.bright.blue}" }
|
|
||||||
"string" = { fg = "#${colorScheme.normal.green}" }
|
|
||||||
"type" = { fg = "#${colorScheme.normal.cyan}", modifiers = ['bold'] }
|
|
||||||
"type.builtin" = { fg = "#${colorScheme.normal.cyan}", modifiers = ['bold'] }
|
|
||||||
"variable" = { fg = "#${colorScheme.bright.blue}", modifiers = ['italic'] }
|
|
||||||
"variable.builtin" = { fg = "#${colorScheme.bright.blue}", modifiers = ['italic'] }
|
|
||||||
"variable.parameter" = { fg = "#${colorScheme.bright.red}", modifiers = ['italic'] }
|
|
||||||
"ui.menu.selected" = { fg = "#${bgColor}", bg = "#${acColor}" }
|
|
||||||
"ui.background" = { fg = "#${fgColor}", bg = "#${bgColor}" }
|
|
||||||
"ui.help" = { bg = "#${colorScheme.normal.black}" }
|
|
||||||
"ui.linenr" = { fg = "#${colorScheme.primary.bright.background}", modifiers = ['bold'] }
|
|
||||||
"ui.linenr.selected" = { fg = "#${fgColor}", modifiers = ['bold'] }
|
|
||||||
"ui.popup" = { bg = "#${colorScheme.normal.black}" }
|
|
||||||
"ui.statusline" = { fg = "#${fgColor}", bg = "#${bgColor}" }
|
|
||||||
"ui.statusline.inactive" = { fg = "#${fgColor}", bg = "#${bgColor}" }
|
|
||||||
"ui.selection" = { bg = "#${colorScheme.primary.bright.background}" }
|
|
||||||
"ui.text" = { fg = "#${fgColor}", bg = "#${bgColor}" }
|
|
||||||
"ui.text.focus" = { fg = "#${fgColor}", bg = "#${bgColor}", modifiers = ['bold'] }
|
|
||||||
"ui.window" = { bg = "#${bgColor}" }
|
|
||||||
"ui.cursor.primary" = { fg = "#${fgColor}", modifiers = ["reversed"] }
|
|
||||||
|
|
||||||
"info" = { fg = "#${colorScheme.normal.blue}", modifiers = ['bold'] }
|
|
||||||
"hint" = { fg = "#${colorScheme.bright.green}", modifiers = ['bold'] }
|
|
||||||
"warning" = { fg = "#${colorScheme.normal.yellow}", modifiers = ['bold'] }
|
|
||||||
"error" = { fg = "#${colorScheme.bright.red}", modifiers = ['bold'] }
|
|
||||||
'';
|
|
||||||
"helix/config.toml".text = ''
|
|
||||||
theme = "mytheme"
|
|
||||||
|
|
||||||
[editor]
|
|
||||||
line-number = "relative"
|
|
||||||
middle-click-paste = false
|
|
||||||
true-color = true
|
|
||||||
|
|
||||||
[editor.cursor-shape]
|
|
||||||
insert = "bar"
|
|
||||||
|
|
||||||
[editor.auto-pairs]
|
|
||||||
'(' = ')'
|
|
||||||
'{' = '}'
|
|
||||||
'[' = ']'
|
|
||||||
'"' = '"'
|
|
||||||
"'" = "'"
|
|
||||||
'<' = '>'
|
|
||||||
|
|
||||||
[editor.lsp]
|
|
||||||
display-messages = true
|
|
||||||
'';
|
|
||||||
"helix/languages.toml".text = ''
|
|
||||||
[[language]]
|
|
||||||
name = "nix"
|
|
||||||
language-server = { command = "${pkgBin "rnix-lsp"}" }
|
|
||||||
'';
|
|
||||||
"waybar/config".text = let
|
|
||||||
swayEnabled = config.wayland.windowManager.sway.enable;
|
|
||||||
in
|
|
||||||
builtins.toJSON
|
|
||||||
{
|
|
||||||
layer = "top";
|
|
||||||
position = "top";
|
|
||||||
modules-left =
|
|
||||||
if swayEnabled
|
|
||||||
then ["sway/workspaces"]
|
|
||||||
else [];
|
|
||||||
modules-center =
|
|
||||||
if swayEnabled
|
|
||||||
then ["sway/window"]
|
|
||||||
else [];
|
|
||||||
modules-right = ["pulseaudio" "cpu" "memory" "temperature" "clock" "tray"];
|
|
||||||
tray = {spacing = 8;};
|
|
||||||
cpu = {format = "/cpu {usage}/";};
|
|
||||||
memory = {format = "/mem {}/";};
|
|
||||||
temperature = {
|
|
||||||
hwmon-path = "/sys/class/hwmon/hwmon1/temp2_input";
|
|
||||||
format = "/tmp {temperatureC}C/";
|
|
||||||
};
|
|
||||||
pulseaudio = {
|
|
||||||
format = "/vol {volume}/ {format_source}";
|
|
||||||
format-bluetooth = "/volb {volume}/ {format_source}";
|
|
||||||
format-bluetooth-muted = "/volb/ {format_source}";
|
|
||||||
format-muted = "/vol/ {format_source}";
|
|
||||||
format-source = "/mic {volume}/";
|
|
||||||
format-source-muted = "/mic/";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"waybar/style.css".text = let
|
|
||||||
makeBorder = color: "border-bottom: 3px solid #${color};";
|
|
||||||
makeInfo = color: ''
|
|
||||||
color: #${color};
|
|
||||||
${makeBorder color}
|
|
||||||
'';
|
|
||||||
clockColor = colorScheme.bright.magenta;
|
|
||||||
cpuColor = colorScheme.bright.green;
|
|
||||||
memColor = colorScheme.bright.blue;
|
|
||||||
pulseColor = {
|
|
||||||
normal = colorScheme.bright.cyan;
|
|
||||||
muted = colorScheme.bright.gray;
|
|
||||||
};
|
|
||||||
tmpColor = {
|
|
||||||
normal = colorScheme.bright.yellow;
|
|
||||||
critical = colorScheme.bright.red;
|
|
||||||
};
|
|
||||||
in ''
|
|
||||||
* {
|
|
||||||
border: none;
|
|
||||||
border-radius: 0;
|
|
||||||
/* `otf-font-awesome` is required to be installed for icons */
|
|
||||||
font-family: ${font};
|
|
||||||
font-size: ${toString fontSize}px;
|
|
||||||
min-height: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
window#waybar {
|
|
||||||
background-color: #${bgColor};
|
|
||||||
/* border-bottom: 0px solid rgba(100, 114, 125, 0.5); */
|
|
||||||
color: #${fgColor};
|
|
||||||
transition-property: background-color;
|
|
||||||
transition-duration: .5s;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button {
|
|
||||||
padding: 0 5px;
|
|
||||||
background-color: transparent;
|
|
||||||
color: #${fgColor};
|
|
||||||
border-bottom: 3px solid transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
|
|
||||||
#workspaces button:hover {
|
|
||||||
background: rgba(0, 0, 0, 0.2);
|
|
||||||
box-shadow: inherit;
|
|
||||||
border-bottom: 3px solid #ffffff;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.focused {
|
|
||||||
border-bottom: 3px solid #${acColor};
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.urgent {
|
|
||||||
background-color: #${acColor};
|
|
||||||
color: #${bgColor};
|
|
||||||
}
|
|
||||||
|
|
||||||
#mode {
|
|
||||||
background-color: #64727D;
|
|
||||||
border-bottom: 3px solid #ffffff;
|
|
||||||
}
|
|
||||||
|
|
||||||
#clock,
|
|
||||||
#battery,
|
|
||||||
#cpu,
|
|
||||||
#memory,
|
|
||||||
#temperature,
|
|
||||||
#backlight,
|
|
||||||
#network,
|
|
||||||
#pulseaudio,
|
|
||||||
#custom-media,
|
|
||||||
#tray,
|
|
||||||
#mode,
|
|
||||||
#idle_inhibitor,
|
|
||||||
#mpd {
|
|
||||||
padding: 0 10px;
|
|
||||||
margin: 0 4px;
|
|
||||||
background-color: transparent;
|
|
||||||
${makeInfo fgColor}
|
|
||||||
}
|
|
||||||
|
|
||||||
label:focus {
|
|
||||||
color: #000000;
|
|
||||||
}
|
|
||||||
|
|
||||||
#clock {
|
|
||||||
${makeInfo clockColor}
|
|
||||||
}
|
|
||||||
|
|
||||||
#cpu {
|
|
||||||
${makeInfo cpuColor}
|
|
||||||
}
|
|
||||||
|
|
||||||
#memory {
|
|
||||||
${makeInfo memColor}
|
|
||||||
}
|
|
||||||
|
|
||||||
#pulseaudio {
|
|
||||||
${makeInfo pulseColor.normal}
|
|
||||||
}
|
|
||||||
|
|
||||||
#pulseaudio.muted {
|
|
||||||
${makeInfo pulseColor.muted}
|
|
||||||
}
|
|
||||||
|
|
||||||
#temperature {
|
|
||||||
${makeInfo tmpColor.normal}
|
|
||||||
}
|
|
||||||
|
|
||||||
#temperature.critical {
|
|
||||||
${makeInfo tmpColor.critical}
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user