feat: switched back to hyprland
|
@ -71,6 +71,24 @@ in {
|
|||
};
|
||||
};
|
||||
|
||||
hyprland = {
|
||||
imports = builtins.attrValues {
|
||||
inherit
|
||||
(modules)
|
||||
gtk
|
||||
cursor
|
||||
dunst
|
||||
easyEffects
|
||||
gammastep
|
||||
hyprland
|
||||
misc-hyprland
|
||||
network
|
||||
swaylock
|
||||
tofi
|
||||
waybar
|
||||
;
|
||||
};
|
||||
};
|
||||
productionArt = {
|
||||
imports = builtins.attrValues {
|
||||
inherit
|
||||
|
@ -128,7 +146,7 @@ in {
|
|||
fastfetch
|
||||
git
|
||||
helix
|
||||
home-manager
|
||||
homeManager
|
||||
lazygit
|
||||
misc-commandLine
|
||||
nushell
|
||||
|
|
|
@ -1,27 +1,41 @@
|
|||
{
|
||||
settings = {
|
||||
colors = {
|
||||
tableHeaderColor = "#f4dbd6";
|
||||
allCpuColor = "#f4dbd6";
|
||||
avgCpuColor = "#ee99a0";
|
||||
cpuCoreColors = ["#ed8796" "#f5a97f" "#eed49f" "#a6da95" "#7dc4e4" "#c6a0f6"];
|
||||
ramColor = "#a6da95";
|
||||
swapColor = "#f5a97f";
|
||||
rxColor = "#a6da95";
|
||||
txColor = "#ed8796";
|
||||
widgetTitleColor = "#f0c6c6";
|
||||
borderColor = "#5b6078";
|
||||
highlightedBorderColor = "#f5bde6";
|
||||
textColor = "#cad3f5";
|
||||
graphColor = "#a5adcb";
|
||||
cursorColor = "#f5bde6";
|
||||
selectedTextColor = "#181926";
|
||||
selectedBgColor = "#c6a0f6";
|
||||
highBatteryColor = "#a6da95";
|
||||
mediumBatteryColor = "#eed49f";
|
||||
lowBatteryColor = "#ed8796";
|
||||
gpuCoreColors = ["#7dc4e4" "#c6a0f6" "#ed8796" "#f5a97f" "#eed49f" "#a6da95"];
|
||||
arcColor = "#91d7e3";
|
||||
};
|
||||
{flake, ...}: let
|
||||
inherit (flake.config.aesthetics.themes.theme) colors;
|
||||
in {
|
||||
colors = {
|
||||
tableHeaderColor = colors.rosewater;
|
||||
allCpuColor = colors.rosewater;
|
||||
avgCpuColor = colors.maroon;
|
||||
cpuCoreColors = [
|
||||
colors.sapphire
|
||||
colors.peach
|
||||
colors.yellow
|
||||
colors.green
|
||||
colors.sky
|
||||
colors.mauve
|
||||
];
|
||||
ramColor = colors.green;
|
||||
swapColor = colors.peach;
|
||||
rxColor = colors.green;
|
||||
txColor = colors.red;
|
||||
widgetTitleColor = colors.flamingo;
|
||||
borderColor = colors.surface2;
|
||||
highlightedBorderColor = colors.pink;
|
||||
textColor = colors.text;
|
||||
graphColor = colors.subtext0;
|
||||
cursorColor = colors.pink;
|
||||
selectedTextColor = colors.crust;
|
||||
selectedBgColor = colors.mauve;
|
||||
highBatteryColor = colors.green;
|
||||
mediumBatteryColor = colors.yellow;
|
||||
lowBatteryColor = colors.red;
|
||||
gpuCoreColors = [
|
||||
colors.sky
|
||||
colors.mauve
|
||||
colors.red
|
||||
colors.peach
|
||||
colors.yellow
|
||||
colors.green
|
||||
];
|
||||
arcColor = colors.sky;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
{
|
||||
{flake, ...}: {
|
||||
programs.bottom = let
|
||||
configPath = ./config;
|
||||
in
|
||||
{
|
||||
enable = true;
|
||||
}
|
||||
// (import (configPath + /settings.nix));
|
||||
settingsPath = import (configPath + "/settings.nix");
|
||||
in {
|
||||
enable = true;
|
||||
settings = settingsPath {inherit flake;};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
{
|
||||
extensions = [
|
||||
{id = "cjpalhdlnbpafiamejdnhcphjbkeiagm";} # uBlock Origin
|
||||
{id = "cmpdlhmnmjhihmcfnigoememnffkimlk";} # Catppuccin Macchiato
|
||||
{id = "dlnpfhfhmkiebpnlllpehlmklgdggbhn";} # Don't Close Last Tab
|
||||
{id = "iplffkdpngmdjhlpjmppncnlhomiipha";} # Unpaywall
|
||||
{id = "mnjggcdmjocbbbhaepdhchncahnbgone";} # SponsorBlock
|
||||
{id = "ponfpcnoihfmfllpaingbgckeeldkhle";} # YouTube Enhancer
|
||||
];
|
||||
}
|
||||
[
|
||||
{id = "cjpalhdlnbpafiamejdnhcphjbkeiagm";} # uBlock Origin
|
||||
{id = "cmpdlhmnmjhihmcfnigoememnffkimlk";} # Catppuccin Macchiato
|
||||
{id = "dlnpfhfhmkiebpnlllpehlmklgdggbhn";} # Don't Close Last Tab
|
||||
{id = "iplffkdpngmdjhlpjmppncnlhomiipha";} # Unpaywall
|
||||
{id = "mnjggcdmjocbbbhaepdhchncahnbgone";} # SponsorBlock
|
||||
{id = "ponfpcnoihfmfllpaingbgckeeldkhle";} # YouTube Enhancer
|
||||
]
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
{
|
||||
programs.brave = let
|
||||
configPath = ./config;
|
||||
in
|
||||
{
|
||||
enable = true;
|
||||
}
|
||||
// (import (configPath + /extensions.nix));
|
||||
extensionsPath = import (configPath + "/extensions.nix");
|
||||
in {
|
||||
enable = true;
|
||||
extensions = extensionsPath;
|
||||
};
|
||||
}
|
||||
|
|
8
home/modules/cursor.nix
Executable file
|
@ -0,0 +1,8 @@
|
|||
{pkgs, ...}: {
|
||||
home.pointerCursor = {
|
||||
gtk.enable = true;
|
||||
name = "catppuccin-mocha-dark-cursors";
|
||||
package = pkgs.catppuccin-cursors.macchiatoDark;
|
||||
size = 14;
|
||||
};
|
||||
}
|
32
home/modules/dunst.nix
Executable file
|
@ -0,0 +1,32 @@
|
|||
{flake, ...}: let
|
||||
inherit (flake.config.aesthetics.themes.theme) colors font;
|
||||
makeColor = c: "#" + c;
|
||||
in {
|
||||
services.dunst = {
|
||||
enable = true;
|
||||
settings = {
|
||||
global = {
|
||||
font = "${font} 10";
|
||||
background = makeColor colors.base;
|
||||
corner_radius = 10;
|
||||
fade_in_duration = 1000;
|
||||
foreground = makeColor colors.text;
|
||||
frame = 10000;
|
||||
frame_color = makeColor colors.mauve;
|
||||
frame_width = 1;
|
||||
icon_corner_radius = 10;
|
||||
monitor = 1;
|
||||
offset = "20x20";
|
||||
origin = "bottom-right";
|
||||
progress_bar_corner_radius = 4;
|
||||
timeout = 10;
|
||||
transparecncy = true;
|
||||
};
|
||||
|
||||
urgency_critical = {
|
||||
frame_color = makeColor colors.peach;
|
||||
timeout = 0;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
3
home/modules/easyEffects.nix
Executable file
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
services.easyeffects.enable = true;
|
||||
}
|
|
@ -14,6 +14,11 @@
|
|||
overflow: visible !important;
|
||||
}
|
||||
|
||||
.titlebar-buttonbox-container {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
|
||||
/* Nav bar */
|
||||
/* #nav-bar {
|
||||
height: 0px;
|
||||
|
|
|
@ -7,6 +7,11 @@
|
|||
in {
|
||||
programs.firefox = let
|
||||
configPath = ./config;
|
||||
bookmarksPath = import (configPath + /bookmarks) {inherit flake;};
|
||||
extensionsPath = import (configPath + /extensions) {inherit pkgs;};
|
||||
searchPath = import (configPath + /search) {inherit flake;};
|
||||
settingsPath = import (configPath + /settings);
|
||||
themesPath = import (configPath + /themes);
|
||||
in {
|
||||
enable = true;
|
||||
package = pkgs.firefox;
|
||||
|
@ -16,19 +21,19 @@ in {
|
|||
isDefault = true;
|
||||
id = 0;
|
||||
}
|
||||
// (import (configPath + /bookmarks) {inherit flake;})
|
||||
// (import (configPath + /extensions) {inherit pkgs;})
|
||||
// (import (configPath + /search) {inherit flake;})
|
||||
// (import (configPath + /settings))
|
||||
// (import (configPath + /themes));
|
||||
// bookmarksPath
|
||||
// extensionsPath
|
||||
// searchPath
|
||||
// settingsPath
|
||||
// themesPath;
|
||||
testing =
|
||||
{
|
||||
isDefault = false;
|
||||
id = 1;
|
||||
}
|
||||
// (import (configPath + /bookmarks) {inherit flake;})
|
||||
// (import (configPath + /search) {inherit flake;})
|
||||
// (import (configPath + /themes));
|
||||
// bookmarksPath
|
||||
// searchPath
|
||||
// themesPath;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,46 +1,44 @@
|
|||
{
|
||||
settings = {
|
||||
allSettingsSectionsExpandedByDefault = false;
|
||||
barColor = false;
|
||||
baseTheme = "catppuccinMocha";
|
||||
bounds = {
|
||||
x = 880;
|
||||
y = 221;
|
||||
width = 1200;
|
||||
height = 800;
|
||||
maximized = false;
|
||||
fullScreen = false;
|
||||
};
|
||||
defaultQuality = "1080";
|
||||
downloadAskPath = false;
|
||||
downloadBehavior = "download";
|
||||
downloadFolderPath = "/home/nick/Downloads/FreeTube";
|
||||
expandSideBar = true;
|
||||
externalPlayer = "mpv";
|
||||
hideActiveSubscriptions = false;
|
||||
hideCommentLikes = true;
|
||||
hideCommentPhotos = true;
|
||||
hideHeaderLogo = true;
|
||||
hideLabelsSideBar = true;
|
||||
hidePlaylists = true;
|
||||
hidePopularVideos = true;
|
||||
hideRecommendedVideos = true;
|
||||
hideSubscriptionsShorts = false;
|
||||
hideSubscriptionsVideos = false;
|
||||
hideTrendingVideos = true;
|
||||
hideVideoLikesAndDislikes = true;
|
||||
mainColor = "CatppuccinMochaMauve";
|
||||
maxVideoPlaybackRate = 10;
|
||||
playNextVideo = false;
|
||||
quickBookmarkTargetPlaylistId = "favorites";
|
||||
rememberHistory = false;
|
||||
saveWatchedProgress = false;
|
||||
secColor = "CatppuccinMochaLavender";
|
||||
useDeArrowThumbnails = true;
|
||||
useDeArrowTitles = true;
|
||||
useSponsorBlock = true;
|
||||
defaultTheatreMode = true;
|
||||
listType = "grid";
|
||||
currentLocale = "en_GB";
|
||||
allSettingsSectionsExpandedByDefault = false;
|
||||
barColor = false;
|
||||
baseTheme = "catppuccinMocha";
|
||||
bounds = {
|
||||
x = 880;
|
||||
y = 221;
|
||||
width = 1200;
|
||||
height = 800;
|
||||
maximized = false;
|
||||
fullScreen = false;
|
||||
};
|
||||
defaultQuality = "1080";
|
||||
downloadAskPath = false;
|
||||
downloadBehavior = "download";
|
||||
downloadFolderPath = "/home/nick/Downloads/FreeTube";
|
||||
expandSideBar = true;
|
||||
externalPlayer = "mpv";
|
||||
hideActiveSubscriptions = false;
|
||||
hideCommentLikes = true;
|
||||
hideCommentPhotos = true;
|
||||
hideHeaderLogo = true;
|
||||
hideLabelsSideBar = true;
|
||||
hidePlaylists = true;
|
||||
hidePopularVideos = true;
|
||||
hideRecommendedVideos = true;
|
||||
hideSubscriptionsShorts = false;
|
||||
hideSubscriptionsVideos = false;
|
||||
hideTrendingVideos = true;
|
||||
hideVideoLikesAndDislikes = true;
|
||||
mainColor = "CatppuccinMochaMauve";
|
||||
maxVideoPlaybackRate = 10;
|
||||
playNextVideo = false;
|
||||
quickBookmarkTargetPlaylistId = "favorites";
|
||||
rememberHistory = false;
|
||||
saveWatchedProgress = false;
|
||||
secColor = "CatppuccinMochaLavender";
|
||||
useDeArrowThumbnails = true;
|
||||
useDeArrowTitles = true;
|
||||
useSponsorBlock = true;
|
||||
defaultTheatreMode = true;
|
||||
listType = "grid";
|
||||
currentLocale = "en_GB";
|
||||
}
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
{
|
||||
programs.freetube = let
|
||||
configPath = ./config;
|
||||
in
|
||||
{
|
||||
enable = true;
|
||||
}
|
||||
// (import (configPath + /settings.nix));
|
||||
settingsPath = import (configPath + "/settings.nix");
|
||||
in {
|
||||
enable = true;
|
||||
settings = settingsPath;
|
||||
};
|
||||
}
|
||||
|
|
13
home/modules/gammastep.nix
Executable file
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
services.gammastep = {
|
||||
enable = true;
|
||||
tray = true;
|
||||
provider = "geoclue2";
|
||||
temperature = {
|
||||
day = 3500;
|
||||
night = 3500;
|
||||
};
|
||||
dawnTime = "8:00-8:30";
|
||||
duskTime = "20:30-21:00";
|
||||
};
|
||||
}
|
27
home/modules/gtk.nix
Executable file
|
@ -0,0 +1,27 @@
|
|||
{pkgs, ...}: {
|
||||
gtk = {
|
||||
cursorTheme = {
|
||||
name = "catppuccin-macchiato-dark-cursors";
|
||||
package = pkgs.catppuccin-cursors.macchiatoDark;
|
||||
};
|
||||
|
||||
enable = true;
|
||||
|
||||
iconTheme = {
|
||||
package = pkgs.catppuccin-papirus-folders.override {
|
||||
flavor = "macchiato";
|
||||
accent = "mauve";
|
||||
};
|
||||
name = "Papirus-Dark";
|
||||
};
|
||||
|
||||
theme = {
|
||||
package = pkgs.catppuccin-gtk.override {
|
||||
size = "compact";
|
||||
variant = "macchiato";
|
||||
accents = ["mauve"];
|
||||
};
|
||||
name = "catppuccin-macchiato-mauve-compact";
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,43 +1,41 @@
|
|||
{
|
||||
languages = {
|
||||
language = [
|
||||
{
|
||||
auto-format = true;
|
||||
formatter.command = "alejandra";
|
||||
name = "nix";
|
||||
}
|
||||
{
|
||||
auto-format = true;
|
||||
formatter.command = "cssfmt";
|
||||
name = "css";
|
||||
}
|
||||
{
|
||||
auto-format = true;
|
||||
language-servers = ["elm-language-server"];
|
||||
name = "elm";
|
||||
}
|
||||
{
|
||||
auto-format = true;
|
||||
formatter.command = "haskell";
|
||||
name = "haskell";
|
||||
}
|
||||
{
|
||||
auto-format = true;
|
||||
formatter.command = "yamlfmt";
|
||||
name = "yaml";
|
||||
}
|
||||
{
|
||||
auto-format = true;
|
||||
formatter.command = "yuck";
|
||||
name = "yuck";
|
||||
}
|
||||
];
|
||||
language-server = {
|
||||
elm-language-server = {
|
||||
config.elmLS = {
|
||||
disableElmLSDiagnostics = true;
|
||||
elmReviewDiagnostics = "warning";
|
||||
};
|
||||
language = [
|
||||
{
|
||||
auto-format = true;
|
||||
formatter.command = "alejandra";
|
||||
name = "nix";
|
||||
}
|
||||
{
|
||||
auto-format = true;
|
||||
formatter.command = "cssfmt";
|
||||
name = "css";
|
||||
}
|
||||
{
|
||||
auto-format = true;
|
||||
language-servers = ["elm-language-server"];
|
||||
name = "elm";
|
||||
}
|
||||
{
|
||||
auto-format = true;
|
||||
formatter.command = "haskell";
|
||||
name = "haskell";
|
||||
}
|
||||
{
|
||||
auto-format = true;
|
||||
formatter.command = "yamlfmt";
|
||||
name = "yaml";
|
||||
}
|
||||
{
|
||||
auto-format = true;
|
||||
formatter.command = "yuck";
|
||||
name = "yuck";
|
||||
}
|
||||
];
|
||||
language-server = {
|
||||
elm-language-server = {
|
||||
config.elmLS = {
|
||||
disableElmLSDiagnostics = true;
|
||||
elmReviewDiagnostics = "warning";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,25 +1,23 @@
|
|||
{
|
||||
settings = {
|
||||
editor = {
|
||||
mouse = true;
|
||||
auto-format = true;
|
||||
soft-wrap.enable = true;
|
||||
auto-save = true;
|
||||
line-number = "relative";
|
||||
lsp = {
|
||||
display-messages = true;
|
||||
display-inlay-hints = true;
|
||||
};
|
||||
editor = {
|
||||
mouse = true;
|
||||
auto-format = true;
|
||||
soft-wrap.enable = true;
|
||||
auto-save = true;
|
||||
line-number = "relative";
|
||||
lsp = {
|
||||
display-messages = true;
|
||||
display-inlay-hints = true;
|
||||
};
|
||||
keys = {
|
||||
normal = {
|
||||
space = {
|
||||
f = ":format";
|
||||
q = ":q";
|
||||
w = ":w";
|
||||
};
|
||||
};
|
||||
};
|
||||
theme = "catppuccin_macchiato";
|
||||
};
|
||||
keys = {
|
||||
normal = {
|
||||
space = {
|
||||
f = ":format";
|
||||
q = ":q";
|
||||
w = ":w";
|
||||
};
|
||||
};
|
||||
};
|
||||
theme = "catppuccin_macchiato";
|
||||
}
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
{pkgs, ...}: {
|
||||
programs.helix = let
|
||||
configPath = ./config;
|
||||
in
|
||||
{
|
||||
enable = true;
|
||||
package = pkgs.helix;
|
||||
}
|
||||
// (import (configPath + /languages.nix))
|
||||
// (import (configPath + /settings.nix));
|
||||
settingsPath = import (configPath + "/settings.nix");
|
||||
languagesPath = import (configPath + "/languages.nix");
|
||||
in {
|
||||
enable = true;
|
||||
package = pkgs.helix;
|
||||
languages = languagesPath;
|
||||
settings = settingsPath;
|
||||
};
|
||||
}
|
||||
|
|
9
home/modules/hyprland/config/animation.nix
Executable file
|
@ -0,0 +1,9 @@
|
|||
[
|
||||
"border, 1, 2.2, bounce"
|
||||
"fadeIn, 1, 0.1, bounce"
|
||||
"fadeOut, 1, 4.5, bounce"
|
||||
"fadeSwitch, 1, 2.2, bounce"
|
||||
"windows, 1, 2.2, bounce"
|
||||
"windowsOut, 1, 1.1, bounce"
|
||||
"workspaces, 1, 2.2, bounce, slide"
|
||||
]
|
6
home/modules/hyprland/config/bezier.nix
Executable file
|
@ -0,0 +1,6 @@
|
|||
[
|
||||
"wind, 0, 1, 0.5, 1"
|
||||
"winIn, 0, 0.5, 0, 1"
|
||||
"winOut, 0, 0.5, 0, 1"
|
||||
"bounce, 0.7, 1.7, 0.5, 1"
|
||||
]
|
84
home/modules/hyprland/config/bind.nix
Executable file
|
@ -0,0 +1,84 @@
|
|||
let
|
||||
superBinds = builtins.map (x: "SUPER, " + x) [
|
||||
# Apps
|
||||
"Space, exec, rm -r /home/$USER/.cache/tofi* ; tofi-drun"
|
||||
"C, exec, code"
|
||||
"D, exec, obsidian"
|
||||
"T, exec, ghostty -e zellij a dotfiles"
|
||||
"E, exec, ghostty -e y"
|
||||
"B, exec, firefox"
|
||||
"V, exec, vesktop"
|
||||
"W, exec, bitwarden"
|
||||
"H, exec, feishin"
|
||||
"R, exec, ghostty -e btm"
|
||||
"N, exec, signal-desktop"
|
||||
"M, exec, element-desktop"
|
||||
"End, exec, hyprctl dispatch exit"
|
||||
"S, exec, steam"
|
||||
"period, exec, emote"
|
||||
# Workspaces
|
||||
"1, workspace, 1"
|
||||
"2, workspace, 2"
|
||||
"3, workspace, 3"
|
||||
"4, workspace, 4"
|
||||
"5, workspace, 5"
|
||||
# Windows
|
||||
"F, togglefloating"
|
||||
"X, killactive"
|
||||
"Tab, fullscreen, 0"
|
||||
"P, pin, enable"
|
||||
"bracketleft, splitratio, -0.1"
|
||||
"bracketright, splitratio, +0.1"
|
||||
# Window Focus
|
||||
"left , movefocus, l"
|
||||
"down , movefocus, d"
|
||||
"up , movefocus, u"
|
||||
"right , movefocus, r"
|
||||
# Audio
|
||||
"F8, exec, playerctl next"
|
||||
"F7, exec, playerctl previous"
|
||||
"F6, exec, playerctl play-pause"
|
||||
];
|
||||
|
||||
superShiftBinds = builtins.map (x: "SUPER SHIFT, " + x) [
|
||||
# Super+shift binds
|
||||
"S, exec, grim -g \"$(slurp)\" - | wl-copy -t image/png"
|
||||
"Print, exec, grim -g \"$(slurp)\""
|
||||
"ScrollDown, workspace, previous"
|
||||
"left , movewindow, l"
|
||||
"down , movewindow, d"
|
||||
"up , movewindow, u"
|
||||
"right , movewindow, r"
|
||||
];
|
||||
superCtrlBinds = builtins.map (x: "SUPER CTRL, " + x) [
|
||||
# Super+shift binds
|
||||
"Space, workspace, previous"
|
||||
"S, layoutmsg, togglesplit"
|
||||
"equal, splitratio, 0.33"
|
||||
"minus, splitratio, -0.33"
|
||||
];
|
||||
|
||||
altBinds = builtins.map (x: "ALT, " + x) [
|
||||
# Alt binds
|
||||
];
|
||||
|
||||
shiftBinds = builtins.map (x: "SHIFT, " + x) [
|
||||
# Shift binds
|
||||
];
|
||||
|
||||
ctrlBinds = builtins.map (x: "CTRL, " + x) [
|
||||
# Ctrl binds
|
||||
];
|
||||
|
||||
ctrlShiftBinds = builtins.map (x: "CTRL SHIFT, " + x) [
|
||||
# Ctrl+shift binds
|
||||
"1, movetoworkspacesilent, 1"
|
||||
"2, movetoworkspacesilent, 2"
|
||||
"3, movetoworkspacesilent, 3"
|
||||
"4, movetoworkspacesilent, 4"
|
||||
];
|
||||
in
|
||||
superBinds ++ superShiftBinds ++ superCtrlBinds ++ altBinds ++ ctrlBinds ++ ctrlShiftBinds ++ shiftBinds
|
||||
# Docs
|
||||
# https://wiki.hyprland.org/Getting-Started/Master-Tutorial/
|
||||
|
10
home/modules/hyprland/config/bindm.nix
Executable file
|
@ -0,0 +1,10 @@
|
|||
let
|
||||
superBinds = builtins.map (x: "SUPER, " + x) [
|
||||
"mouse:272, resizewindow"
|
||||
];
|
||||
|
||||
altBinds = builtins.map (x: "ALT, " + x) [
|
||||
"mouse:272, movewindow"
|
||||
];
|
||||
in
|
||||
superBinds ++ altBinds
|
3
home/modules/hyprland/config/binds.nix
Executable file
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"allow_workspace_cycles" = "1";
|
||||
}
|
36
home/modules/hyprland/config/decoration.nix
Executable file
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
active_opacity = 0.95;
|
||||
inactive_opacity = 0.95;
|
||||
fullscreen_opacity = 1;
|
||||
rounding = 10;
|
||||
dim_inactive = 1;
|
||||
dim_strength = 0.05;
|
||||
|
||||
shadow = {
|
||||
enabled = true;
|
||||
color = "rgba(00000055)";
|
||||
ignore_window = true;
|
||||
offset = "0 2";
|
||||
range = 20;
|
||||
render_power = 3;
|
||||
scale = 0.97;
|
||||
};
|
||||
|
||||
blur = {
|
||||
enabled = true;
|
||||
|
||||
size = 5;
|
||||
passes = 2;
|
||||
|
||||
brightness = 1;
|
||||
contrast = 1.300000;
|
||||
ignore_opacity = true;
|
||||
noise = 0.011700;
|
||||
|
||||
new_optimizations = true;
|
||||
|
||||
xray = true;
|
||||
popups = true;
|
||||
popups_ignorealpha = 0.2;
|
||||
};
|
||||
}
|
4
home/modules/hyprland/config/dwindle.nix
Executable file
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
pseudotile = true;
|
||||
preserve_split = true;
|
||||
}
|
12
home/modules/hyprland/config/exec-once.nix
Executable file
|
@ -0,0 +1,12 @@
|
|||
[
|
||||
"swaylock"
|
||||
"grim"
|
||||
"wl-clipboard"
|
||||
"wpaperd"
|
||||
"gammastep"
|
||||
"dunst"
|
||||
"playerctrld"
|
||||
"waybar"
|
||||
"blueman-manager &"
|
||||
"nm-applet"
|
||||
]
|
7
home/modules/hyprland/config/general.nix
Executable file
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
gaps_in = 5;
|
||||
gaps_out = 5;
|
||||
border_size = 2;
|
||||
"col.active_border" = "rgb(c6a0f6)";
|
||||
"col.inactive_border" = "0xff292a37";
|
||||
}
|
6
home/modules/hyprland/config/input.nix
Executable file
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
sensitivity = 0.07;
|
||||
accel_profile = "flat";
|
||||
follow_mouse = 1;
|
||||
numlock_by_default = true;
|
||||
}
|
5
home/modules/hyprland/config/misc.nix
Executable file
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
focus_on_activate = 1;
|
||||
force_default_wallpaper = 0;
|
||||
# vrr = 1;
|
||||
}
|
19
home/modules/hyprland/config/windowrule.nix
Executable file
|
@ -0,0 +1,19 @@
|
|||
let
|
||||
centerWindows = [
|
||||
"center, ^(gnome-characters)$"
|
||||
"center, ^(mpv)$"
|
||||
"center, ^(nomacs)$"
|
||||
];
|
||||
opaqueWindows = builtins.map (x: "opaque, " + x) [
|
||||
"^(firefox)$"
|
||||
"^(org.kde.kdenlive)$"
|
||||
"^(krita)$"
|
||||
"^(mpv)$"
|
||||
"^(Brave-browser)$"
|
||||
"^(Gimp-2.10)$"
|
||||
"^(org.kde.okular)$"
|
||||
"^(vlc)$"
|
||||
"^(obsidian)$"
|
||||
];
|
||||
in
|
||||
centerWindows ++ opaqueWindows
|
30
home/modules/hyprland/config/windowrulev2.nix
Executable file
|
@ -0,0 +1,30 @@
|
|||
let
|
||||
blueman = "(.blueman-manager-wrapped)";
|
||||
easyeffects = "(com.github.wwmm.easyeffects)";
|
||||
nomacs = "(org.nomacs.ImageLounge)";
|
||||
mpv = "(mpv)";
|
||||
emote = "(emote)";
|
||||
proton = "(.protonvpn-app-wrapped)";
|
||||
|
||||
maxsizeWindows = [
|
||||
"maxsize 640x360, class:^${blueman}$"
|
||||
"maxsize 640x360, class:^${easyeffects}$"
|
||||
"maxsize 960x540, class:^${mpv}$"
|
||||
"maxsize 960x540, class:^${nomacs}$"
|
||||
"maxsize 1000x1000, class:^${proton}$"
|
||||
];
|
||||
floatWindows = builtins.map (x: "float, " + x) [
|
||||
"class:${blueman}"
|
||||
"class:${easyeffects}"
|
||||
"class:${emote}"
|
||||
"class:${mpv}"
|
||||
"class:${nomacs}"
|
||||
"class:${proton}"
|
||||
"title:^(Picture-in-Picture)$"
|
||||
];
|
||||
|
||||
pinWindows = builtins.map (x: "pin, " + x) [
|
||||
"title:^(Picture-in-Picture)$"
|
||||
];
|
||||
in
|
||||
maxsizeWindows ++ floatWindows ++ pinWindows
|
3
home/modules/hyprland/config/xwayland.nix
Executable file
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
force_zero_scaling = true;
|
||||
}
|
27
home/modules/hyprland/default.nix
Executable file
|
@ -0,0 +1,27 @@
|
|||
{pkgs, ...}: let
|
||||
configPath = ./config;
|
||||
configImports = {
|
||||
animation = import (configPath + /animation.nix);
|
||||
bezier = import (configPath + /bezier.nix);
|
||||
bind = import (configPath + /bind.nix);
|
||||
bindm = import (configPath + /bindm.nix);
|
||||
binds = import (configPath + /binds.nix);
|
||||
decoration = import (configPath + /decoration.nix);
|
||||
dwindle = import (configPath + /dwindle.nix);
|
||||
exec-once = import (configPath + /exec-once.nix);
|
||||
general = import (configPath + /general.nix);
|
||||
input = import (configPath + /input.nix);
|
||||
misc = import (configPath + /misc.nix);
|
||||
windowrule = import (configPath + /windowrule.nix);
|
||||
windowrulev2 = import (configPath + /windowrulev2.nix);
|
||||
};
|
||||
in {
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
# package = inputs.hyprland.packages.${pkgs.system}.hyprland;
|
||||
xwayland.enable = true;
|
||||
systemd.enable = false;
|
||||
settings = configImports;
|
||||
};
|
||||
xdg.configFile."wpaperd/wallpaper.toml".source = pkgs.lib.mkForce ./wpaperd/wallpaper.toml;
|
||||
}
|
5
home/modules/hyprland/wpaperd/wallpaper.toml
Executable file
|
@ -0,0 +1,5 @@
|
|||
[default]
|
||||
path = "~/Files/Projects/dotfiles/home/modules/hyprland/wpaperd/wallpaper"
|
||||
duration = "1m"
|
||||
sorting = "random"
|
||||
apply-shadow = false
|
After Width: | Height: | Size: 4.2 MiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/20210924_180737.jpg
Executable file
After Width: | Height: | Size: 201 KiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/Copilot1.png
Executable file
After Width: | Height: | Size: 2.1 MiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/Copilot10.png
Executable file
After Width: | Height: | Size: 2 MiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/Copilot2.png
Executable file
After Width: | Height: | Size: 4.2 MiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/Copilot3.png
Executable file
After Width: | Height: | Size: 3.3 MiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/Copilot4.png
Executable file
After Width: | Height: | Size: 3.9 MiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/Copilot5.png
Executable file
After Width: | Height: | Size: 3.5 MiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/Copilot6.png
Executable file
After Width: | Height: | Size: 2.6 MiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/Copilot7.png
Executable file
After Width: | Height: | Size: 2.7 MiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/Copilot8.png
Executable file
After Width: | Height: | Size: 3.9 MiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/Copilot9.png
Executable file
After Width: | Height: | Size: 3.5 MiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/FTDCMyaXoAEUn5h.jpg
Executable file
After Width: | Height: | Size: 578 KiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/u6ne2q214dx71.jpg
Executable file
After Width: | Height: | Size: 808 KiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallhaven-0wj757.jpg
Executable file
After Width: | Height: | Size: 578 KiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallhaven-2ege2g.jpg
Executable file
After Width: | Height: | Size: 1.7 MiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallhaven-4dj2qo.png
Executable file
After Width: | Height: | Size: 3.3 MiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallhaven-4xq6vv.png
Executable file
After Width: | Height: | Size: 5.1 MiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallhaven-5dyvy3.jpg
Executable file
After Width: | Height: | Size: 1.2 MiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallhaven-735xv3.jpg
Executable file
After Width: | Height: | Size: 3.5 MiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallhaven-8xe25y.jpg
Executable file
After Width: | Height: | Size: 632 KiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallhaven-95591x.jpg
Executable file
After Width: | Height: | Size: 302 KiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallhaven-g8ky73.jpg
Executable file
After Width: | Height: | Size: 8.2 MiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallhaven-j8wzvp.jpg
Executable file
After Width: | Height: | Size: 1.1 MiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallhaven-nekxjk.png
Executable file
After Width: | Height: | Size: 3.3 MiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallhaven-nryz87.jpg
Executable file
After Width: | Height: | Size: 833 KiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallhaven-r7yey1.jpg
Executable file
After Width: | Height: | Size: 467 KiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallhaven-vge32m.jpg
Executable file
After Width: | Height: | Size: 2 MiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallhaven-vgxgem.jpg
Executable file
After Width: | Height: | Size: 1.8 MiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallpaperflare.com_wallpaper (1).jpg
Executable file
After Width: | Height: | Size: 1.6 MiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallpaperflare.com_wallpaper (10).jpg
Executable file
After Width: | Height: | Size: 257 KiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallpaperflare.com_wallpaper (11).jpg
Executable file
After Width: | Height: | Size: 261 KiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallpaperflare.com_wallpaper (12).jpg
Executable file
After Width: | Height: | Size: 144 KiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallpaperflare.com_wallpaper (13).jpg
Executable file
After Width: | Height: | Size: 501 KiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallpaperflare.com_wallpaper (14).jpg
Executable file
After Width: | Height: | Size: 252 KiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallpaperflare.com_wallpaper (15).jpg
Executable file
After Width: | Height: | Size: 646 KiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallpaperflare.com_wallpaper (16).jpg
Executable file
After Width: | Height: | Size: 422 KiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallpaperflare.com_wallpaper (17).jpg
Executable file
After Width: | Height: | Size: 552 KiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallpaperflare.com_wallpaper (19).jpg
Executable file
After Width: | Height: | Size: 366 KiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallpaperflare.com_wallpaper (2).jpg
Executable file
After Width: | Height: | Size: 1.2 MiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallpaperflare.com_wallpaper (20).jpg
Executable file
After Width: | Height: | Size: 747 KiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallpaperflare.com_wallpaper (21).jpg
Executable file
After Width: | Height: | Size: 1.3 MiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallpaperflare.com_wallpaper (22).jpg
Executable file
After Width: | Height: | Size: 1.7 MiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallpaperflare.com_wallpaper (23).jpg
Executable file
After Width: | Height: | Size: 665 KiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallpaperflare.com_wallpaper (24).jpg
Executable file
After Width: | Height: | Size: 1.8 MiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallpaperflare.com_wallpaper (25).jpg
Executable file
After Width: | Height: | Size: 464 KiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallpaperflare.com_wallpaper (26).jpg
Executable file
After Width: | Height: | Size: 869 KiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallpaperflare.com_wallpaper (27).jpg
Executable file
After Width: | Height: | Size: 302 KiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallpaperflare.com_wallpaper (28).jpg
Executable file
After Width: | Height: | Size: 457 KiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallpaperflare.com_wallpaper (29).jpg
Executable file
After Width: | Height: | Size: 876 KiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallpaperflare.com_wallpaper (3).jpg
Executable file
After Width: | Height: | Size: 529 KiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallpaperflare.com_wallpaper (30).jpg
Executable file
After Width: | Height: | Size: 258 KiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallpaperflare.com_wallpaper (31).jpg
Executable file
After Width: | Height: | Size: 568 KiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallpaperflare.com_wallpaper (32).jpg
Executable file
After Width: | Height: | Size: 323 KiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallpaperflare.com_wallpaper (34).jpg
Executable file
After Width: | Height: | Size: 720 KiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallpaperflare.com_wallpaper (35).jpg
Executable file
After Width: | Height: | Size: 185 KiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallpaperflare.com_wallpaper (37).jpg
Executable file
After Width: | Height: | Size: 289 KiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallpaperflare.com_wallpaper (38).jpg
Executable file
After Width: | Height: | Size: 405 KiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallpaperflare.com_wallpaper (4).jpg
Executable file
After Width: | Height: | Size: 1.6 MiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallpaperflare.com_wallpaper (5).jpg
Executable file
After Width: | Height: | Size: 1.6 MiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallpaperflare.com_wallpaper (6).jpg
Executable file
After Width: | Height: | Size: 1.6 MiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallpaperflare.com_wallpaper (7).jpg
Executable file
After Width: | Height: | Size: 4.1 MiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallpaperflare.com_wallpaper (8).jpg
Executable file
After Width: | Height: | Size: 787 KiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallpaperflare.com_wallpaper (9).jpg
Executable file
After Width: | Height: | Size: 1.3 MiB |
BIN
home/modules/hyprland/wpaperd/wallpaper/wallpaperflare.com_wallpaper.jpg
Executable file
After Width: | Height: | Size: 1.7 MiB |
|
@ -6,6 +6,7 @@
|
|||
kolourpaint
|
||||
okular
|
||||
partitionmanager
|
||||
plasma-nm
|
||||
;
|
||||
inherit
|
||||
(pkgs)
|
||||
|
@ -13,9 +14,13 @@
|
|||
gnome-calculator
|
||||
gnome-disk-utility
|
||||
gnome-software
|
||||
gnome-characters
|
||||
emote
|
||||
gparted
|
||||
usbimager
|
||||
nomacs
|
||||
jamesdsp
|
||||
networkmanagerapplet
|
||||
;
|
||||
};
|
||||
}
|
||||
|
|