major refactor and reorg
This commit is contained in:
parent
0a9342ea3e
commit
332b345753
11 changed files with 290 additions and 78 deletions
24
flake.lock
generated
24
flake.lock
generated
|
@ -135,11 +135,11 @@
|
|||
"nixpkgs-stable": "nixpkgs-stable"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1738686104,
|
||||
"narHash": "sha256-PfG/bm33axdRPsi3nMB5ioOvq1xdJpdw+iptZVJVmE4=",
|
||||
"lastModified": 1738721195,
|
||||
"narHash": "sha256-fg7RyZh7lIXIemVIXNWqoBAXb2Ro5h6P9HJWDMuYi4U=",
|
||||
"owner": "nix-community",
|
||||
"repo": "emacs-overlay",
|
||||
"rev": "52f13caa3c3570bc59582578593b8fafd40f8aaa",
|
||||
"rev": "9af406ea66edc730a2c64cf82b74a03513b94f5e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -508,11 +508,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1738667255,
|
||||
"narHash": "sha256-sMMQb9NydZqQ/MvvtPp+Ny0W9P0Jk0moU7SrTBlO5Vo=",
|
||||
"lastModified": 1738709900,
|
||||
"narHash": "sha256-8Bo5xFlCH5q72ExvAnH7TzStMlLZldKOSLMClRSfmTc=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "7abcf59a365430b36f84eaa452a466b11e469e33",
|
||||
"rev": "f2d32e46fac9d51da6912948ae1156044c71774b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1078,11 +1078,11 @@
|
|||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1738546358,
|
||||
"narHash": "sha256-nLivjIygCiqLp5QcL7l56Tca/elVqM9FG1hGd9ZSsrg=",
|
||||
"lastModified": 1738680400,
|
||||
"narHash": "sha256-ooLh+XW8jfa+91F1nhf9OF7qhuA/y1ChLx6lXDNeY5U=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "c6e957d81b96751a3d5967a0fd73694f303cc914",
|
||||
"rev": "799ba5bffed04ced7067a91798353d360788b30d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1110,11 +1110,11 @@
|
|||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1738546358,
|
||||
"narHash": "sha256-nLivjIygCiqLp5QcL7l56Tca/elVqM9FG1hGd9ZSsrg=",
|
||||
"lastModified": 1738680400,
|
||||
"narHash": "sha256-ooLh+XW8jfa+91F1nhf9OF7qhuA/y1ChLx6lXDNeY5U=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "c6e957d81b96751a3d5967a0fd73694f303cc914",
|
||||
"rev": "799ba5bffed04ced7067a91798353d360788b30d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
@ -8,6 +8,11 @@
|
|||
++ [ inputs.emacs-overlay.overlays.default ];
|
||||
};
|
||||
|
||||
imports = with nix-config.homeModules; [
|
||||
mako
|
||||
mpv
|
||||
];
|
||||
|
||||
home = {
|
||||
packages = lib.mkMerge [
|
||||
[
|
||||
|
@ -17,6 +22,7 @@
|
|||
inputs.shikane.packages.x86_64-linux.default
|
||||
inputs.isd.packages.x86_64-linux.default
|
||||
inputs.hyprpicker.packages.x86_64-linux.default
|
||||
inputs.hyprlock.packages.x86_64-linux.default
|
||||
]
|
||||
|
||||
(with nix-config.packages.x86_64-linux; [
|
||||
|
@ -87,7 +93,6 @@
|
|||
gst_all_1.gstreamer
|
||||
alsa-oss
|
||||
powertop
|
||||
hypridle
|
||||
age
|
||||
sops
|
||||
|
||||
|
@ -398,7 +403,6 @@
|
|||
|
||||
defaultSopsFile = ./secrets.yaml;
|
||||
|
||||
|
||||
secrets = {
|
||||
bw_client_id = {
|
||||
path = "${config.sops.defaultSymlinkPath}/bw_client_id";
|
||||
|
@ -415,37 +419,47 @@
|
|||
};
|
||||
};
|
||||
|
||||
programs = {
|
||||
home-manager.enable = true;
|
||||
mpv = {
|
||||
enable = true;
|
||||
package = (pkgs.mpv-unwrapped.wrapper {
|
||||
scripts = with pkgs.mpvScripts; [
|
||||
thumbfast
|
||||
modernz
|
||||
];
|
||||
|
||||
mpv = pkgs.mpv-unwrapped.override {
|
||||
waylandSupport = true;
|
||||
ffmpeg = pkgs.ffmpeg-full;
|
||||
accounts.email = {
|
||||
maildirBasePath = "/home/emenel/.maildir";
|
||||
accounts = {
|
||||
"matt@emenel.ca" = {
|
||||
address = "matt@emenel.ca";
|
||||
realName = "Matt Nish-Lapidus";
|
||||
primary = true;
|
||||
mu.enable = true;
|
||||
mbsync = {
|
||||
enable = true;
|
||||
create = "maildir";
|
||||
};
|
||||
});
|
||||
config = {
|
||||
osc = "no";
|
||||
profile = "high-quality";
|
||||
ytdl-format = "bestvideo+bestaudio";
|
||||
cache-default = 4000000;
|
||||
msmtp.enable = true;
|
||||
flavor = "fastmail.com";
|
||||
passwordCommand = "rbw get mu4e-fastmail";
|
||||
};
|
||||
|
||||
"admin@studyoftime.org" = {
|
||||
address = "admin@studyoftime.org";
|
||||
realName = "ISST Web Admin";
|
||||
mu.enable = true;
|
||||
mbsync = {
|
||||
enable = true;
|
||||
create = "maildir";
|
||||
};
|
||||
msmtp.enable = true;
|
||||
passwordCommand = "rbw get admin@studyoftime";
|
||||
imap.host = "imap.dreamhost.com";
|
||||
smtp.host = "imap.dreamhost.com";
|
||||
userName = "admin@studyoftime.org";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs = {
|
||||
home-manager.enable = true;
|
||||
|
||||
direnv = {
|
||||
enable = true;
|
||||
nix-direnv.enable = true;
|
||||
};
|
||||
yazi = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
package = inputs.yazi.packages.x86_64-linux.default;
|
||||
};
|
||||
fish = {
|
||||
enable = true;
|
||||
shellAliases = {
|
||||
|
@ -476,7 +490,9 @@
|
|||
enable = true;
|
||||
};
|
||||
mu.enable = true;
|
||||
mbsync.enable = true;
|
||||
mbsync = {
|
||||
enable = true;
|
||||
};
|
||||
msmtp.enable = true;
|
||||
emacs = {
|
||||
enable = true;
|
||||
|
@ -509,6 +525,7 @@
|
|||
wezterm = {
|
||||
enable = true;
|
||||
package = inputs.wezterm.packages.${pkgs.system}.default;
|
||||
extraConfig = lib.readFile ./dotfiles/dot_config/wezterm/wezterm.lua;
|
||||
};
|
||||
bat = {
|
||||
enable = true;
|
||||
|
@ -562,25 +579,12 @@
|
|||
lfs.enable = true;
|
||||
};
|
||||
htop.enable = true;
|
||||
nnn = {
|
||||
enable = true;
|
||||
};
|
||||
pandoc.enable = true;
|
||||
password-store.enable = true;
|
||||
wlogout = {
|
||||
enable = true;
|
||||
};
|
||||
hyprlock = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
waybar = {
|
||||
enable = true;
|
||||
package = pkgs.waybar;
|
||||
# systemd = {
|
||||
# enable = true;
|
||||
# # target = "graphical-session.target";
|
||||
# };
|
||||
};
|
||||
eww = {
|
||||
enable = true;
|
||||
|
@ -639,10 +643,8 @@
|
|||
enable = true;
|
||||
package = pkgs.playerctl;
|
||||
};
|
||||
mako = {
|
||||
enable = true;
|
||||
};
|
||||
# flatpak.enable = true;
|
||||
|
||||
flatpak.enable = true;
|
||||
syncthing = {
|
||||
enable = true;
|
||||
# tray.enable = true;
|
||||
|
@ -717,17 +719,15 @@
|
|||
};
|
||||
|
||||
# moving files!
|
||||
xdg.configFile."mako".source = ./dotfiles/dot_config/mako;
|
||||
xdg.configFile."hypr".source = ./dotfiles/dot_config/hypr;
|
||||
xdg.configFile."halloy/config.toml".source = ./dotfiles/dot_config/halloy/config.toml;
|
||||
xdg.configFile."waybar".source = ./dotfiles/dot_config/waybar;
|
||||
xdg.configFile."just/justfile".source = ./dotfiles/dot_config/just/justfile;
|
||||
xdg.configFile."starship.toml".source = ./dotfiles/dot_config/starship.toml;
|
||||
xdg.configFile."ghostty".source = ./dotfiles/dot_config/ghostty;
|
||||
xdg.configFile."wezterm".source = ./dotfiles/dot_config/wezterm;
|
||||
xdg.configFile."niri/config.kdl".source = ./dotfiles/dot_config/niri/config.kdl;
|
||||
|
||||
|
||||
xdg.configFile."just/justfile".source = ./dotfiles/dot_config/just/justfile;
|
||||
xdg.configFile."git".source = ./dotfiles/dot_config/git;
|
||||
xdg.configFile."rbw".source = ./dotfiles/dot_config/rbw;
|
||||
xdg.configFile."niri/config.kdl".source = ./dotfiles/dot_config/niri/config.kdl;
|
||||
xdg.configFile."shikane".source = ./dotfiles/dot_config/shikane;
|
||||
home.file.".ssh/config".source = ./dotfiles/dot_ssh/config;
|
||||
home.file.".npmrc".source = ./dotfiles/dot_npmrc;
|
||||
|
@ -738,20 +738,17 @@
|
|||
source = ./dotfiles/dot_config/fish/functions;
|
||||
recursive = true;
|
||||
};
|
||||
|
||||
home.file.".config/fish/completions" = {
|
||||
source = ./dotfiles/dot_config/fish/completions;
|
||||
recursive = true;
|
||||
};
|
||||
xdg.configFile."yazi" = {
|
||||
source = ./dotfiles/dot_config/yazi;
|
||||
recursive = true;
|
||||
};
|
||||
|
||||
xdg.configFile."emacs".enable = false;
|
||||
|
||||
home.file.".msmtprc".source = ./dotfiles/dot_msmtprc;
|
||||
home.file.".mbsyncrc".source = ./dotfiles/dot_mbsyncrc;
|
||||
xdg.configFile."isyncrc".enable = false;
|
||||
# home.file.".msmtprc".source = ./dotfiles/dot_msmtprc;
|
||||
# home.file.".mbsyncrc".source = ./dotfiles/dot_mbsyncrc;
|
||||
# xdg.configFile."isyncrc".enable = false;
|
||||
|
||||
home.file.".local/bin" = {
|
||||
source = ./dotfiles/dot_local/bin;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
general {
|
||||
grace = 1
|
||||
grace = 3
|
||||
hide_cursor = true
|
||||
}
|
||||
|
||||
|
@ -9,16 +9,14 @@ background {
|
|||
|
||||
input-field {
|
||||
monitor =
|
||||
# size = 250, 60
|
||||
outline_thickness = 2
|
||||
dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
|
||||
dots_spacing = 0.35 # Scale of dots' absolute size, 0.0 - 1.0
|
||||
dots_size = 0.15 # Scale of input-field height, 0.2 - 0.8
|
||||
dots_spacing = 0.25 # Scale of dots' absolute size, 0.0 - 1.0
|
||||
dots_center = true
|
||||
outer_color = rgba(0, 0, 0, 0)
|
||||
inner_color = rgba(225, 225, 225, 0.25)
|
||||
font_color = rgb(0,0,0)
|
||||
fade_on_empty = false
|
||||
rounding = -1
|
||||
check_color = rgb(204, 136, 34)
|
||||
placeholder_text = <i><span foreground="##cdd6f4">hm ...</span></i>
|
||||
hide_input = false
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
* {
|
||||
border: none;
|
||||
font-size: 12pt;
|
||||
font-family: "JetBrainsMono Nerd Font,JetBrainsMono NF" ;
|
||||
font-family: "JetBrainsMono Nerd Font" ;
|
||||
min-height: 25px;
|
||||
}
|
||||
|
||||
|
|
|
@ -6,10 +6,12 @@
|
|||
|
||||
{
|
||||
|
||||
imports =
|
||||
imports = with nix-config.nixosModules;
|
||||
[ # Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
./razer-speaker-fix.nix
|
||||
|
||||
niri
|
||||
];
|
||||
|
||||
nixpkgs = {
|
||||
|
@ -17,8 +19,7 @@
|
|||
allowUnfree = true;
|
||||
};
|
||||
overlays = builtins.attrValues nix-config.overlays
|
||||
++ [ inputs.emacs-overlay.overlays.default
|
||||
inputs.niri.overlays.default ];
|
||||
++ [ inputs.niri.overlays.default ];
|
||||
};
|
||||
|
||||
# environment.etc."nix/inputs/nixpkgs".source = "${nixpkgs}";
|
||||
|
@ -537,6 +538,7 @@
|
|||
nerd-fonts.jetbrains-mono
|
||||
nerd-fonts.fira-code
|
||||
nerd-fonts._0xproto
|
||||
nerd-fonts.symbols-only
|
||||
];
|
||||
};
|
||||
|
||||
|
|
62
modules/home/hypridle.nix
Normal file
62
modules/home/hypridle.nix
Normal file
|
@ -0,0 +1,62 @@
|
|||
{ inputs, ... }:
|
||||
{
|
||||
services.hypridle = {
|
||||
enable = true;
|
||||
package = inputs.hypridle.packages.x86_64-linux.default;
|
||||
settings = {
|
||||
general = {
|
||||
lock_cmd = "pidof hyprlock || hyprlock";
|
||||
before_sleep_cmd = "loginctl lock-session";
|
||||
};
|
||||
# TODO: add monitor shut off timout
|
||||
# battery timers
|
||||
listener = [
|
||||
{
|
||||
timeout = 30;
|
||||
on-timeout = "systemd-ac-power || light -S 0";
|
||||
on-resume = "systemd-ac-power || light -I";
|
||||
}
|
||||
|
||||
{
|
||||
timeout = "30";
|
||||
on-timeout = "systemd-ac-power || light -s razer/0003:1532:02B6.0004/backlight -S 0";
|
||||
on-resume = "systemd-ac-power || light -s razer/0003:1532:02B6.0004/backlight -S 40";
|
||||
}
|
||||
|
||||
{
|
||||
timeout = "120";
|
||||
on-timeout = "systemd-ac-power || systemd-ac-power && loginctl lock-session";
|
||||
}
|
||||
|
||||
{
|
||||
timeout = "600";
|
||||
on-timeout = "systemd-ac-power || systemctl suspend";
|
||||
}
|
||||
|
||||
# ac power timers
|
||||
{
|
||||
timeout = "60";
|
||||
on-timeout = "systemd-ac-power && light -S 0";
|
||||
on-resume = "systemd-ac-power && light -I";
|
||||
}
|
||||
|
||||
{
|
||||
timeout = "60";
|
||||
on-timeout = "systemd-ac-power && light -s razer/0003:1532:02B6.0004/backlight -S 0";
|
||||
on-resume = "systemd-ac-power && light -s razer/0003:1532:02B6.0004/backlight -S 40";
|
||||
}
|
||||
|
||||
{
|
||||
timeout = "300";
|
||||
on-timeout = "systemd-ac-power && loginctl lock-session";
|
||||
}
|
||||
|
||||
{
|
||||
timeout = "1800";
|
||||
on-timeout = "systemd-ac-power && systemctl suspend";
|
||||
}
|
||||
];
|
||||
|
||||
};
|
||||
};
|
||||
}
|
61
modules/home/hyprlock.nix
Normal file
61
modules/home/hyprlock.nix
Normal file
|
@ -0,0 +1,61 @@
|
|||
{ inputs, ... }:
|
||||
{
|
||||
programs.hyprlock = {
|
||||
enable = true;
|
||||
package = inputs.hyprlock.packages.x86_64-linux.default;
|
||||
settings = {
|
||||
|
||||
general = {
|
||||
grace = 3;
|
||||
hide_cursor = true;
|
||||
};
|
||||
|
||||
background = {
|
||||
color = "rgb(0,0,0)";
|
||||
};
|
||||
|
||||
input-field = {
|
||||
outline_thickness = 2;
|
||||
dots_size = 0.15; # Scale of input-field height, 0.2 - 0.8;
|
||||
dots_spacing = 0.25; # Scale of dots' absolute size, 0.0 - 1.0;
|
||||
dots_center = true;
|
||||
outer_color = "rgba(0, 0, 0, 0)";
|
||||
inner_color = "rgba(225, 225, 225, 0.25)";
|
||||
font_color = "rgb(0,0,0)";
|
||||
fade_on_empty = false;
|
||||
check_color = "rgb(204, 136, 34)";
|
||||
placeholder_text = "<i><span foreground="##cdd6f4">hm ...</span></i>";
|
||||
hide_input = false;
|
||||
position = "0, 0";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
font_family = "JetBrains Mono";
|
||||
};
|
||||
|
||||
# DATE
|
||||
label = [
|
||||
{
|
||||
text = "cmd[update:1000] echo \"$(date +\"%A, %B %d\")\"";
|
||||
color = "rgba(242, 243, 244, 0.75)";
|
||||
font_size = 32;
|
||||
font_family = "JetBrains Mono";
|
||||
position = "0, 300";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}
|
||||
|
||||
# TIME
|
||||
{
|
||||
text = "cmd[update:1000] echo \"$(date +\"%-I:%M\")\"";
|
||||
color = "rgba(242, 243, 244, 0.75)";
|
||||
font_size = 32;
|
||||
font_family = "JetBrains Mono";
|
||||
position = "0, 200";
|
||||
halign = center;
|
||||
valign = center;
|
||||
}
|
||||
];
|
||||
|
||||
};
|
||||
};
|
||||
}
|
29
modules/home/mako.nix
Normal file
29
modules/home/mako.nix
Normal file
|
@ -0,0 +1,29 @@
|
|||
{
|
||||
services.mako = {
|
||||
enable = true;
|
||||
maxVisible=5;
|
||||
sort="-time";
|
||||
layer="top";
|
||||
anchor="top-right";
|
||||
|
||||
font="JetbrainsMono-Light 12";
|
||||
backgroundColor="#111111";
|
||||
textColor="#eeeeee";
|
||||
width=300;
|
||||
height=100;
|
||||
margin="24";
|
||||
padding="16";
|
||||
borderSize=2;
|
||||
borderColor="#eeeeee";
|
||||
borderRadius=6;
|
||||
progressColor="over #5588AAFF";
|
||||
icons=true;
|
||||
maxIconSize=64;
|
||||
|
||||
markup=true;
|
||||
actions=true;
|
||||
format="<b>%s</b>\n%b";
|
||||
defaultTimeout=5000;
|
||||
ignoreTimeout=false;
|
||||
};
|
||||
}
|
23
modules/home/mpv.nix
Normal file
23
modules/home/mpv.nix
Normal file
|
@ -0,0 +1,23 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
programs.mpv = {
|
||||
enable = true;
|
||||
package = (pkgs.mpv-unwrapped.wrapper {
|
||||
scripts = with pkgs.mpvScripts; [
|
||||
thumbfast
|
||||
modernz
|
||||
];
|
||||
|
||||
mpv = pkgs.mpv-unwrapped.override {
|
||||
waylandSupport = true;
|
||||
ffmpeg = pkgs.ffmpeg-full;
|
||||
};
|
||||
});
|
||||
config = {
|
||||
osc = "no";
|
||||
profile = "high-quality";
|
||||
ytdl-format = "bestvideo+bestaudio";
|
||||
cache-default = 4000000;
|
||||
};
|
||||
};
|
||||
}
|
17
modules/home/yazi/default.nix
Normal file
17
modules/home/yazi/default.nix
Normal file
|
@ -0,0 +1,17 @@
|
|||
{ inputs, ... }:
|
||||
{
|
||||
yazi = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
package = inputs.yazi.packages.x86_64-linux.default;
|
||||
initLua = ./init.lua;
|
||||
keymap = {
|
||||
input.prepend_keymap = [
|
||||
{ on = "<C-d>"; run = "shell 'ripdrag \"$@\" -x 2>/dev/null &' --confirm"; }
|
||||
{ on = "y"; run = ["shell 'for path in \"$@\"; do echo \"file://$path\"; done | wl-copy -t text/uri-list'\n" "yank"]; }
|
||||
{ on = ["g" "r"]; run = "shell 'ya emit cd \"$(git rev-parse --show-toplevel)\"'\n"; }
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
}
|
23
modules/home/yazi/init.lua
Normal file
23
modules/home/yazi/init.lua
Normal file
|
@ -0,0 +1,23 @@
|
|||
-- adds user and group of hovered file/dir to status bar
|
||||
Status:children_add(function(self)
|
||||
local h = self._current.hovered
|
||||
if h and h.link_to then
|
||||
return " -> " .. tostring(h.link_to)
|
||||
else
|
||||
return ""
|
||||
end
|
||||
end, 3300, Status.LEFT)
|
||||
|
||||
Status:children_add(function()
|
||||
local h = cx.active.current.hovered
|
||||
if h == nil or ya.target_family() ~= "unix" then
|
||||
return ""
|
||||
end
|
||||
|
||||
return ui.Line {
|
||||
ui.Span(ya.user_name(h.cha.uid) or tostring(h.cha.uid)):fg("magenta"),
|
||||
":",
|
||||
ui.Span(ya.group_name(h.cha.gid) or tostring(h.cha.gid)):fg("magenta"),
|
||||
" ",
|
||||
}
|
||||
end, 500, Status.RIGHT)
|
Loading…
Add table
Add a link
Reference in a new issue