Compare commits
5 commits
a8fde8ae1b
...
92995bac8b
| Author | SHA1 | Date | |
|---|---|---|---|
| 92995bac8b | |||
| fac35b5010 | |||
| 4467238597 | |||
| 463beff6e3 | |||
| 3272e94157 |
10 changed files with 357 additions and 17 deletions
3
TODO.md
3
TODO.md
|
|
@ -1,3 +1,5 @@
|
|||
- [ ] get kanshi working with hyprland
|
||||
|
||||
- [ ] Update the README.md
|
||||
- [ ] switch ssh keys to ECC (fuck RSA)
|
||||
|
||||
|
|
@ -22,4 +24,3 @@ systemd.tmpfiles.rules = let
|
|||
|
||||
# Cerulean should automatically add set home-managers `home.username` and `home.homeDirectory`
|
||||
# (this can be done by using .extendModule from the nixos module system :3)
|
||||
|
||||
|
|
|
|||
31
flake.lock
generated
31
flake.lock
generated
|
|
@ -240,11 +240,11 @@
|
|||
"nixpkgs-lib": "nixpkgs-lib_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1769996383,
|
||||
"narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=",
|
||||
"lastModified": 1772408722,
|
||||
"narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "57928607ea566b5db3ad13af0e57e921e6b12381",
|
||||
"rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -807,14 +807,15 @@
|
|||
"flake-parts": "flake-parts_3",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
],
|
||||
"nixpkgs-nixcord": "nixpkgs-nixcord"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1772891434,
|
||||
"narHash": "sha256-+MUN+5lOvWS6T4pvIZBGL4AKJkflLXGgVRYTlNeZEiE=",
|
||||
"lastModified": 1774312874,
|
||||
"narHash": "sha256-mFc7Iy+Oqwr7Vwb7CmNIWilSYiTw2857imf6Rb75ITg=",
|
||||
"owner": "FlameFlag",
|
||||
"repo": "nixcord",
|
||||
"rev": "fc63af2dbc92cdcfeb6c650d986280057b0f135c",
|
||||
"rev": "71f4b3f92ca534c3665deb63e229195955d96cf9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -885,6 +886,22 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-nixcord": {
|
||||
"locked": {
|
||||
"lastModified": 1773222311,
|
||||
"narHash": "sha256-BHoB/XpbqoZkVYZCfXJXfkR+GXFqwb/4zbWnOr2cRcU=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "0590cd39f728e129122770c029970378a79d076a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-25.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1772773019,
|
||||
|
|
|
|||
|
|
@ -4,8 +4,10 @@
|
|||
./modules/cli/ssh.nix
|
||||
|
||||
../modules/term/foot.nix
|
||||
../modules/shell/fish.nix
|
||||
../modules/shell/zsh.nix
|
||||
../modules/shell/zsh.nix
|
||||
../modules/shell/fish.nix
|
||||
../modules/shell/elvish.nix
|
||||
../modules/editor/helix.nix
|
||||
../modules/editor/neovim
|
||||
|
||||
|
|
@ -23,8 +25,11 @@
|
|||
../modules/wm/hyprland
|
||||
../modules/wm/mango
|
||||
../modules/de/mako.nix
|
||||
../modules/de/waybar
|
||||
];
|
||||
|
||||
programs.elvish.enable = true;
|
||||
|
||||
home = {
|
||||
shellAliases = {
|
||||
# nix
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
programs.nixcord = {
|
||||
enable = true;
|
||||
equibop.enable = true;
|
||||
# equibop.enable = true;
|
||||
|
||||
discord = {
|
||||
vencord.enable = false;
|
||||
|
|
@ -18,6 +18,7 @@
|
|||
"base16-colors.css"
|
||||
];
|
||||
plugins = {
|
||||
invisibleChat.enable = true;
|
||||
anonymiseFileNames = {
|
||||
enable = true;
|
||||
anonymiseByDefault = true;
|
||||
|
|
@ -68,7 +69,6 @@
|
|||
forwardAnywhere.enable = true;
|
||||
spotifyCrack.enable = true;
|
||||
spotifyShareCommands.enable = true;
|
||||
spotifyControls.enable = true;
|
||||
fullUserInChatbox.enable = true;
|
||||
gifPaste.enable = true;
|
||||
ignoreActivities = {
|
||||
|
|
@ -96,6 +96,11 @@
|
|||
revealAllSpoilers.enable = true;
|
||||
serverInfo.enable = true;
|
||||
serverListIndicators.enable = true;
|
||||
musicControls = {
|
||||
enable = true;
|
||||
showSpotifyControls.enable = true;
|
||||
showSpotifyLyrics.enable = true;
|
||||
};
|
||||
showHiddenChannels.enable = true;
|
||||
showHiddenThings.enable = true;
|
||||
showTimeoutDuration = {
|
||||
|
|
@ -133,7 +138,6 @@
|
|||
whoReacted.enable = true;
|
||||
whosWatching.enable = true;
|
||||
quickReply.enable = true;
|
||||
questCompleter.enable = true;
|
||||
shikiCodeblocks = {
|
||||
enable = true;
|
||||
useDevIcon = "COLOR";
|
||||
|
|
|
|||
19
homes/modules/de/waybar/colors.css
Normal file
19
homes/modules/de/waybar/colors.css
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
@define-color colorbg #26233a;
|
||||
@define-color colorfg #eb6f92;
|
||||
|
||||
@define-color color00 #26233a; /* black (Overlay) */
|
||||
@define-color color01 #eb6f92; /* red (Love) */
|
||||
@define-color color02 #9ccfd8; /* green (Foam) */
|
||||
@define-color color03 #f6c177; /* yellow (Gold) */
|
||||
@define-color color04 #31748f; /* blue (Pine) */
|
||||
@define-color color05 #c4a7e7; /* magenta (Iris) */
|
||||
@define-color color06 #ebbcba; /* cyan (Rose) */
|
||||
@define-color color07 #e0def4; /* white (Text) */
|
||||
@define-color color08 #47435d; /* bright black (lighter Overlay) */
|
||||
@define-color color09 #ff98ba; /* bright red (lighter Love) */
|
||||
@define-color color10 #c5f9ff; /* bright green (lighter Foam) */
|
||||
@define-color color11 #ffeb9e; /* bright yellow (lighter Gold) */
|
||||
@define-color color12 #5b9ab7; /* bright blue (lighter Pine) */
|
||||
@define-color color13 #eed0ff; /* bright magenta (lighter Iris) */
|
||||
@define-color color14 #ffe5e3; /* bright cyan (lighter Rose) */
|
||||
@define-color color15 #fefcff; /* bright white (lighter Text) */
|
||||
101
homes/modules/de/waybar/default.nix
Normal file
101
homes/modules/de/waybar/default.nix
Normal file
|
|
@ -0,0 +1,101 @@
|
|||
{upkgs, ...}: {
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
settings = {
|
||||
mainBar = {
|
||||
layer = "top";
|
||||
position = "top";
|
||||
height = 30;
|
||||
# modules-left = ["hyprland/workspaces" "wlr/taskbar" "custom/media"];
|
||||
modules-left = ["hyprland/workspaces" "wlr/taskbar"];
|
||||
modules-center = ["clock"];
|
||||
modules-right = ["cpu" "memory" "network" "pulseaudio" "privacy" "tray"];
|
||||
|
||||
# left
|
||||
"hyprland/workspaces" = {
|
||||
format = "{id}";
|
||||
};
|
||||
"ext/workspaces" = {
|
||||
# not enabled yet, hyprland and mango need two different configs ;-;
|
||||
format = "{id}";
|
||||
ignore-hidden = true;
|
||||
on-click = "activate";
|
||||
};
|
||||
"wlr/taskbar" = {
|
||||
format = "{icon}";
|
||||
icon-size = 12;
|
||||
};
|
||||
# "custom/media" = {
|
||||
# exec = "auroramedia";
|
||||
# return-type = "json";
|
||||
# escape = true;
|
||||
# restart-interval = 1;
|
||||
# };
|
||||
|
||||
# center
|
||||
"clock" = {
|
||||
format = "{:%Y %b %a %d %H:%M:%S}";
|
||||
interval = 1;
|
||||
tooltip = false;
|
||||
};
|
||||
|
||||
# right
|
||||
"cpu" = {
|
||||
format = " {usage}%";
|
||||
interval = 1;
|
||||
};
|
||||
"memory" = {
|
||||
format = " {used:0.1f} / {total:0.1f} GiB";
|
||||
interval = 1;
|
||||
};
|
||||
"network" = {
|
||||
format = "{bandwidthUpBytes} {bandwidthDownBytes} {ifname}";
|
||||
format-wifi = " {bandwidthUpBytes} {bandwidthDownBytes} ";
|
||||
format-ethernet = " {bandwidthUpBytes} {bandwidthDownBytes} ";
|
||||
format-disconnected = "no internet ~ rawr! ~ x3"; # empty format hides module
|
||||
interval = 1;
|
||||
max-length = 32;
|
||||
};
|
||||
"pulseaudio" = {
|
||||
format = "{icon} {volume}%";
|
||||
format-muted = " {volume}%";
|
||||
format-icons = {
|
||||
default = [
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
};
|
||||
"scroll-step" = 5;
|
||||
};
|
||||
"privacy" = {
|
||||
icon-size = 12;
|
||||
icon-spacing = 5;
|
||||
transition-duration = 200;
|
||||
modules = [
|
||||
{
|
||||
type = "screenshare";
|
||||
tooltip = true;
|
||||
tooltip-icon-size = 12;
|
||||
}
|
||||
{
|
||||
type = "audio-in";
|
||||
tooltip = true;
|
||||
tooltip-icon-size = 12;
|
||||
}
|
||||
];
|
||||
};
|
||||
"tray" = {
|
||||
icon-size = 12;
|
||||
spacing = 10;
|
||||
# fixes spotify not showing up when "close button should minimize the Spotify window" is false
|
||||
show-passive-items = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
style =
|
||||
builtins.readFile ./colors.css
|
||||
+ builtins.readFile ./style.css;
|
||||
};
|
||||
}
|
||||
164
homes/modules/de/waybar/style.css
Normal file
164
homes/modules/de/waybar/style.css
Normal file
|
|
@ -0,0 +1,164 @@
|
|||
* {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
font-family: 'GeistMono Nerd Font';
|
||||
font-size: 15px;
|
||||
font-weight: bold;
|
||||
min-height: 10px;
|
||||
}
|
||||
window#waybar {
|
||||
background: rgba(0, 0, 0, 0);
|
||||
}
|
||||
/*
|
||||
adds a margin around the edge of the taskbar, surrounding the modules,
|
||||
spacing it out from the edge of the screen and windows below
|
||||
*/
|
||||
window#waybar > box {
|
||||
margin: 0px 12px;
|
||||
}
|
||||
|
||||
tooltip {
|
||||
background: @colorbg;
|
||||
color: @colorfg;
|
||||
opacity: 0.9;
|
||||
padding: 4px;
|
||||
border-radius: 12px;
|
||||
border: 1px solid @color01;
|
||||
}
|
||||
tooltip label {
|
||||
background: rgba(0, 0, 0, 0);
|
||||
color: @colorfg;
|
||||
}
|
||||
|
||||
#clock,
|
||||
#memory,
|
||||
#network,
|
||||
#workspaces,
|
||||
#taskbar,
|
||||
#cpu,
|
||||
#pulseaudio,
|
||||
#privacy,
|
||||
#tray,
|
||||
#custom-media {
|
||||
background: @colorbg;
|
||||
color: @colorfg;
|
||||
opacity: 0.9;
|
||||
padding: 4px 16px;
|
||||
border-radius: 32px;
|
||||
border: 1px solid @color01;
|
||||
}
|
||||
|
||||
/*
|
||||
left-side modules
|
||||
*/
|
||||
#workspaces,
|
||||
#taskbar,
|
||||
#custom-media {
|
||||
margin: 4px 4px 4px 0px;
|
||||
}
|
||||
|
||||
/*
|
||||
center modules
|
||||
*/
|
||||
#clock {
|
||||
margin: 4px 0px 4px 0px;
|
||||
}
|
||||
|
||||
/*
|
||||
right-side modules
|
||||
*/
|
||||
#memory,
|
||||
#network,
|
||||
#cpu,
|
||||
#pulseaudio,
|
||||
#tray,
|
||||
#privacy {
|
||||
margin: 4px 0px 4px 4px;
|
||||
}
|
||||
|
||||
#workspaces,
|
||||
#taskbar {
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
#taskbar.empty {
|
||||
opacity: 0;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
border: none;
|
||||
}
|
||||
#tray.empty {
|
||||
opacity: 0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
border: none;
|
||||
}
|
||||
|
||||
/*
|
||||
connects the workspace and taskbar together :3
|
||||
*/
|
||||
/*
|
||||
#workspaces {
|
||||
margin: 4px 0px 4px 12px;
|
||||
padding: 0px 8px 0px 0px;
|
||||
border-radius: 100px 0px 0px 100px;
|
||||
border-width: 1px 0px 1px 1px;
|
||||
}
|
||||
#taskbar {
|
||||
margin: 4px 0px 4px 0px;
|
||||
padding: 0px 0px 0px 8px;
|
||||
border-radius: 0px 100px 100px 0px;
|
||||
}
|
||||
*/
|
||||
|
||||
#cpu {
|
||||
margin: 4px 0 4px 0;
|
||||
border-radius: 32px 0px 0px 32px;
|
||||
}
|
||||
#memory {
|
||||
margin: 4px 0 4px 0;
|
||||
border-radius: 0px;
|
||||
border-width: 1px 0px 1px 0px;
|
||||
}
|
||||
#network {
|
||||
margin: 4px 0 4px 0;
|
||||
border-radius: 0px 32px 32px 0px;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 2px 4px;
|
||||
border-radius: 32px;
|
||||
color: @colorfg;
|
||||
}
|
||||
#workspaces button:hover {
|
||||
background: @colorfg;
|
||||
color: @colorbg;
|
||||
opacity: 0.8;
|
||||
}
|
||||
#workspaces button.active {
|
||||
background: @colorfg;
|
||||
color: @colorbg;
|
||||
}
|
||||
|
||||
#taskbar button {
|
||||
padding: 2px 4px;
|
||||
border-radius: 32px;
|
||||
color: @colorfg;
|
||||
}
|
||||
#taskbar button:hover {
|
||||
background: @colorfg;
|
||||
color: @colorbg;
|
||||
opacity: 0.8;
|
||||
}
|
||||
#taskbar button.active {
|
||||
background: @colorfg;
|
||||
color: @colorbg;
|
||||
}
|
||||
/*
|
||||
icons in each button on the taskbar to correct
|
||||
for them not being properly centred sometimes :3
|
||||
*/
|
||||
#taskbar button box image {
|
||||
padding-left: 2px;
|
||||
}
|
||||
|
||||
29
homes/modules/shell/elvish.nix
Normal file
29
homes/modules/shell/elvish.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
cfg = config.programs.elvish;
|
||||
in {
|
||||
options.programs.elvish = {
|
||||
enable = lib.mkEnableOption "elvish";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
home = {
|
||||
packages = with pkgs; [elvish];
|
||||
|
||||
file.".elvish/nix.elv".source = let
|
||||
elvish-modules = pkgs.fetchFromGitHub {
|
||||
owner = "zzamboni";
|
||||
repo = "elvish-modules";
|
||||
rev = "9005c970346ab06214b3cd3ed3e70f04f3c632ba";
|
||||
hash = "sha256-/Dwtl12QzPvMoMMGoj+v3dwX2ZwFT8t/bohVy1zDE0c=";
|
||||
};
|
||||
in
|
||||
builtins.toPath "${elvish-modules}/nix.elv";
|
||||
# /${builtins.toPath elvish-modules.outPath}/nix.elv;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -41,15 +41,15 @@
|
|||
|
||||
# startup programs
|
||||
exec-once = [
|
||||
# TODO: make these independent of hyprland, add these to the
|
||||
"mako &"
|
||||
"awww-daemon &"
|
||||
"waybar &"
|
||||
|
||||
# "wl-paste --type text --watch cliphist store"
|
||||
# "wl-paste --type image --watch cliphist store"
|
||||
# "wl-clip-persist --clipboard regular"
|
||||
# "playerctld daemon"
|
||||
|
||||
"dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
|
||||
];
|
||||
|
||||
# monitor configuration
|
||||
|
|
@ -61,8 +61,8 @@
|
|||
]
|
||||
else if hostname == "myputer"
|
||||
then [
|
||||
"DP-2, 3840x2160@59.99700, 0x0, 1.5"
|
||||
"HDMI-A-1, 1920x1080@119.98Hz, 2560x0, 1.0"
|
||||
"DP-2, 3840x2160@60.00Hz, 0x0, 1.0"
|
||||
"HDMI-A-1, 1920x1080@119.98Hz, 3840x0, 1.0"
|
||||
]
|
||||
else [];
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
# TODO: find a way to make this modular (ie put something different for my laptop)
|
||||
# my idea is to have a "monitors" module and use kanshi for wayland
|
||||
services.kanshi = {
|
||||
enable = true;
|
||||
enable = false;
|
||||
systemdTarget = "hyprland-session.target";
|
||||
# You can find your monitors in hyprland by using `hyprctl monitors all`
|
||||
settings = [
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue