current
linted
This commit is contained in:
parent
4e99a0e323
commit
7485de646a
95 changed files with 2743 additions and 2282 deletions
|
@ -1,4 +1,5 @@
|
|||
{config, ...}: {
|
||||
{ config, ... }:
|
||||
{
|
||||
imports = [
|
||||
../util/firefox-webapp.nix
|
||||
];
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{pkgs, ...}: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
imports = [
|
||||
../programs/kitty.nix
|
||||
../programs/zsh.nix
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) range mapAttrsToList;
|
||||
inherit (builtins) toString;
|
||||
workspaceRange = range 1 6;
|
||||
makeWorkspaceBinding = modifiers: action:
|
||||
makeWorkspaceBinding =
|
||||
modifiers: action:
|
||||
map (i: {
|
||||
inherit modifiers;
|
||||
key = toString i;
|
||||
|
@ -14,10 +15,9 @@
|
|||
type = action;
|
||||
data = i;
|
||||
};
|
||||
})
|
||||
workspaceRange;
|
||||
focusWsBindings = makeWorkspaceBinding ["Super"] "Workspace";
|
||||
moveWsBindings = makeWorkspaceBinding ["Super" "Shift"] "SendToWorkspace";
|
||||
}) workspaceRange;
|
||||
focusWsBindings = makeWorkspaceBinding [ "Super" ] "Workspace";
|
||||
moveWsBindings = makeWorkspaceBinding [ "Super" "Shift" ] "SendToWorkspace";
|
||||
|
||||
hjkl = {
|
||||
"h" = "Left";
|
||||
|
@ -27,24 +27,18 @@
|
|||
# "i" = "In";
|
||||
# "u" = "Out";
|
||||
};
|
||||
makeDirBinding = modifiers: action:
|
||||
mapAttrsToList (
|
||||
key: dir: {
|
||||
inherit key modifiers;
|
||||
action = {
|
||||
type = action;
|
||||
data = dir;
|
||||
};
|
||||
}
|
||||
)
|
||||
hjkl;
|
||||
focusBindings = makeDirBinding ["Super"] "Focus";
|
||||
moveBindings = makeDirBinding ["Super" "Shift"] "Move";
|
||||
winManagementBindings =
|
||||
focusWsBindings
|
||||
++ moveWsBindings
|
||||
++ focusBindings
|
||||
++ moveBindings;
|
||||
makeDirBinding =
|
||||
modifiers: action:
|
||||
mapAttrsToList (key: dir: {
|
||||
inherit key modifiers;
|
||||
action = {
|
||||
type = action;
|
||||
data = dir;
|
||||
};
|
||||
}) hjkl;
|
||||
focusBindings = makeDirBinding [ "Super" ] "Focus";
|
||||
moveBindings = makeDirBinding [ "Super" "Shift" ] "Move";
|
||||
winManagementBindings = focusWsBindings ++ moveWsBindings ++ focusBindings ++ moveBindings;
|
||||
binding = key: modifiers: action: {
|
||||
inherit key modifiers action;
|
||||
};
|
||||
|
@ -62,97 +56,96 @@
|
|||
data = action;
|
||||
};
|
||||
};
|
||||
in {
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
../util/cosmic.nix
|
||||
];
|
||||
config.cosmic = {
|
||||
enable = true;
|
||||
defaultKeybindings = false;
|
||||
keybindings =
|
||||
winManagementBindings
|
||||
++ [
|
||||
# System bindings appear broken?
|
||||
(binding "q" ["Super" "Shift"] "Close")
|
||||
(binding "w" ["Super"] "ToggleStacking")
|
||||
(binding "s" ["Super"] "ToggleOrientation")
|
||||
(binding "space" ["Super"] "ToggleWindowFloating")
|
||||
(binding "space" ["Super" "Shift"] "Maximize")
|
||||
(binding "minus" ["Super"] "Minimize")
|
||||
(binding "r" ["Super"] {
|
||||
type = "Resizing";
|
||||
data = "Outwards";
|
||||
})
|
||||
(binding "r" ["Super" "Shift"] {
|
||||
type = "Resizing";
|
||||
data = "Inwards";
|
||||
})
|
||||
(binding "tab" ["Super"] "NextOutput")
|
||||
(binding "tab" ["Super" "Shift"] "MoveToNextOutput")
|
||||
(binding "grave" ["Super"] "PreviousOutput")
|
||||
(binding "grave" ["Super" "Shift"] "MoveToPreviousOutput")
|
||||
(spawnBinding "equal" ["Super"] "keepassxc")
|
||||
(systemBinding "f" ["Super"] "WebBrowser")
|
||||
# my mime handling is fucked
|
||||
# (systemBinding "e" ["Super"] "HomeFolder")
|
||||
# (systemBinding "return" ["Super"] "Terminal")
|
||||
(spawnBinding "return" ["Super"] "kitty")
|
||||
# (systemBinding "s" ["Super" "Shift"] "Screenshot")
|
||||
(systemBinding null ["Super"] "Launcher")
|
||||
(systemBinding "d" ["Super"] "AppLibrary")
|
||||
(systemBinding "XF86AudioRaiseVolume" [] "VolumeRaise")
|
||||
(systemBinding "XF86AudioLowerVolume" [] "VolumeLower")
|
||||
(systemBinding "XF86AudioMute" [] "Mute")
|
||||
(spawnBinding "XF86AudioNext" [] "playerctl next")
|
||||
(spawnBinding "XF86AudioPrev" [] "playerctl previous")
|
||||
(spawnBinding "XF86AudioPlay" [] "playerctl play-pause")
|
||||
(spawnBinding "XF86AudioStop" [] "playerctl stop")
|
||||
(systemBinding "XF86MonBrightnessUp" [] "BrightnessUp")
|
||||
(systemBinding "XF86MonBrightnessDown" [] "BrightnessDown")
|
||||
(spawnBinding "e" ["Super" "Shift"] "wlogout")
|
||||
keybindings = winManagementBindings ++ [
|
||||
# System bindings appear broken?
|
||||
(binding "q" [ "Super" "Shift" ] "Close")
|
||||
(binding "w" [ "Super" ] "ToggleStacking")
|
||||
(binding "s" [ "Super" ] "ToggleOrientation")
|
||||
(binding "space" [ "Super" ] "ToggleWindowFloating")
|
||||
(binding "space" [ "Super" "Shift" ] "Maximize")
|
||||
(binding "minus" [ "Super" ] "Minimize")
|
||||
(binding "r" [ "Super" ] {
|
||||
type = "Resizing";
|
||||
data = "Outwards";
|
||||
})
|
||||
(binding "r" [ "Super" "Shift" ] {
|
||||
type = "Resizing";
|
||||
data = "Inwards";
|
||||
})
|
||||
(binding "tab" [ "Super" ] "NextOutput")
|
||||
(binding "tab" [ "Super" "Shift" ] "MoveToNextOutput")
|
||||
(binding "grave" [ "Super" ] "PreviousOutput")
|
||||
(binding "grave" [ "Super" "Shift" ] "MoveToPreviousOutput")
|
||||
(spawnBinding "equal" [ "Super" ] "keepassxc")
|
||||
(systemBinding "f" [ "Super" ] "WebBrowser")
|
||||
# my mime handling is fucked
|
||||
# (systemBinding "e" ["Super"] "HomeFolder")
|
||||
# (systemBinding "return" ["Super"] "Terminal")
|
||||
(spawnBinding "return" [ "Super" ] "kitty")
|
||||
# (systemBinding "s" ["Super" "Shift"] "Screenshot")
|
||||
(systemBinding null [ "Super" ] "Launcher")
|
||||
(systemBinding "d" [ "Super" ] "AppLibrary")
|
||||
(systemBinding "XF86AudioRaiseVolume" [ ] "VolumeRaise")
|
||||
(systemBinding "XF86AudioLowerVolume" [ ] "VolumeLower")
|
||||
(systemBinding "XF86AudioMute" [ ] "Mute")
|
||||
(spawnBinding "XF86AudioNext" [ ] "playerctl next")
|
||||
(spawnBinding "XF86AudioPrev" [ ] "playerctl previous")
|
||||
(spawnBinding "XF86AudioPlay" [ ] "playerctl play-pause")
|
||||
(spawnBinding "XF86AudioStop" [ ] "playerctl stop")
|
||||
(systemBinding "XF86MonBrightnessUp" [ ] "BrightnessUp")
|
||||
(systemBinding "XF86MonBrightnessDown" [ ] "BrightnessDown")
|
||||
(spawnBinding "e" [ "Super" "Shift" ] "wlogout")
|
||||
|
||||
# old, pre-System bindings
|
||||
# (binding "q" ["Super" "Shift"] "Close")
|
||||
# (binding "w" ["Super"] "ToggleStacking")
|
||||
# (binding "s" ["Super"] "ToggleOrientation")
|
||||
# (binding "space" ["Super"] "ToggleWindowFloating")
|
||||
# (binding "space" ["Super" "Shift"] "Maximize")
|
||||
# (binding "minus" ["Super"] "Minimize")
|
||||
# (binding "r" ["Super"] {
|
||||
# type = "Resizing";
|
||||
# data = "Outwards";
|
||||
# })
|
||||
# (binding "r" ["Super" "Shift"] {
|
||||
# type = "Resizing";
|
||||
# data = "Inwards";
|
||||
# })
|
||||
# (binding "tab" ["Super"] "NextOutput")
|
||||
# (binding "tab" ["Super" "Shift"] "MoveToNextOutput")
|
||||
# (binding "grave" ["Super"] "PreviousOutput")
|
||||
# (binding "grave" ["Super" "Shift"] "MoveToPreviousOutput")
|
||||
# (spawnBinding "f" ["Super"] "firefox")
|
||||
(spawnBinding "e" ["Super"] "nautilus")
|
||||
# (spawnBinding "equal" ["Super"] "keepassxc")
|
||||
# (spawnBinding "return" ["Super"] "kitty")
|
||||
(spawnBinding "s" ["Super" "Shift"] "cosmic-screenshot")
|
||||
# (spawnBinding null ["Super"] "cosmic-launcher")
|
||||
# (spawnBinding "d" ["Super"] "cosmic-app-library")
|
||||
# (spawnBinding "XF86AudioRaiseVolume" [] "amixer sset Master 5%+")
|
||||
# (spawnBinding "XF86AudioLowerVolume" [] "amixer sset Master 5%-")
|
||||
# (spawnBinding "XF86AudioMute" [] "amixer sset Master toggle")
|
||||
# (spawnBinding "XF86AudioNext" [] "playerctl next")
|
||||
# (spawnBinding "XF86AudioPrev" [] "playerctl previous")
|
||||
# (spawnBinding "XF86AudioPlay" [] "playerctl play-pause")
|
||||
# (spawnBinding "XF86AudioStop" [] "playerctl stop")
|
||||
# (
|
||||
# spawnBinding "XF86MonBrightnessUp" []
|
||||
# "busctl --user call com.system76.CosmicSettingsDaemon /com/system76/CosmicSettingsDaemon com.system76.CosmicSettingsDaemon IncreaseDisplayBrightness"
|
||||
# )
|
||||
# (
|
||||
# spawnBinding "XF86MonBrightnessDown" []
|
||||
# "busctl --user call com.system76.CosmicSettingsDaemon /com/system76/CosmicSettingsDaemon com.system76.CosmicSettingsDaemon DecreaseDisplayBrightness"
|
||||
# )
|
||||
# (spawnBinding "e" ["Super" "Shift"] "wlogout")
|
||||
];
|
||||
# old, pre-System bindings
|
||||
# (binding "q" ["Super" "Shift"] "Close")
|
||||
# (binding "w" ["Super"] "ToggleStacking")
|
||||
# (binding "s" ["Super"] "ToggleOrientation")
|
||||
# (binding "space" ["Super"] "ToggleWindowFloating")
|
||||
# (binding "space" ["Super" "Shift"] "Maximize")
|
||||
# (binding "minus" ["Super"] "Minimize")
|
||||
# (binding "r" ["Super"] {
|
||||
# type = "Resizing";
|
||||
# data = "Outwards";
|
||||
# })
|
||||
# (binding "r" ["Super" "Shift"] {
|
||||
# type = "Resizing";
|
||||
# data = "Inwards";
|
||||
# })
|
||||
# (binding "tab" ["Super"] "NextOutput")
|
||||
# (binding "tab" ["Super" "Shift"] "MoveToNextOutput")
|
||||
# (binding "grave" ["Super"] "PreviousOutput")
|
||||
# (binding "grave" ["Super" "Shift"] "MoveToPreviousOutput")
|
||||
# (spawnBinding "f" ["Super"] "firefox")
|
||||
(spawnBinding "e" [ "Super" ] "nautilus")
|
||||
# (spawnBinding "equal" ["Super"] "keepassxc")
|
||||
# (spawnBinding "return" ["Super"] "kitty")
|
||||
(spawnBinding "s" [ "Super" "Shift" ] "cosmic-screenshot")
|
||||
# (spawnBinding null ["Super"] "cosmic-launcher")
|
||||
# (spawnBinding "d" ["Super"] "cosmic-app-library")
|
||||
# (spawnBinding "XF86AudioRaiseVolume" [] "amixer sset Master 5%+")
|
||||
# (spawnBinding "XF86AudioLowerVolume" [] "amixer sset Master 5%-")
|
||||
# (spawnBinding "XF86AudioMute" [] "amixer sset Master toggle")
|
||||
# (spawnBinding "XF86AudioNext" [] "playerctl next")
|
||||
# (spawnBinding "XF86AudioPrev" [] "playerctl previous")
|
||||
# (spawnBinding "XF86AudioPlay" [] "playerctl play-pause")
|
||||
# (spawnBinding "XF86AudioStop" [] "playerctl stop")
|
||||
# (
|
||||
# spawnBinding "XF86MonBrightnessUp" []
|
||||
# "busctl --user call com.system76.CosmicSettingsDaemon /com/system76/CosmicSettingsDaemon com.system76.CosmicSettingsDaemon IncreaseDisplayBrightness"
|
||||
# )
|
||||
# (
|
||||
# spawnBinding "XF86MonBrightnessDown" []
|
||||
# "busctl --user call com.system76.CosmicSettingsDaemon /com/system76/CosmicSettingsDaemon com.system76.CosmicSettingsDaemon DecreaseDisplayBrightness"
|
||||
# )
|
||||
# (spawnBinding "e" ["Super" "Shift"] "wlogout")
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{...}: {
|
||||
_:
|
||||
{
|
||||
# imports = [
|
||||
# ../util/flatpak.nix
|
||||
# ];
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
{pkgs, ...}: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
imports = [
|
||||
./cosmic.nix
|
||||
./media-players.nix
|
||||
./webapps.nix
|
||||
# ./documents.nix
|
||||
./documents.nix
|
||||
# ./creative.nix
|
||||
./chat.nix
|
||||
../programs/firefox.nix
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{pkgs, ...}: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
imports = [
|
||||
../programs/vscode.nix
|
||||
];
|
||||
|
@ -8,6 +9,47 @@
|
|||
direnv
|
||||
];
|
||||
|
||||
programs.zed-editor = {
|
||||
enable = false;
|
||||
extensions = [
|
||||
"nix"
|
||||
"rust"
|
||||
"ocaml"
|
||||
"kanagawa-themes"
|
||||
];
|
||||
userSettings = {
|
||||
features = {
|
||||
copilot = false;
|
||||
};
|
||||
buffer_font_family = pkgs.rice.fonts.monospace.name;
|
||||
buffer_font_size = pkgs.rice.fonts.monospace.size;
|
||||
theme = {
|
||||
mode = "dark";
|
||||
dark = "Kanagawa Dragon";
|
||||
};
|
||||
telemetry = {
|
||||
metrics = false;
|
||||
diagnostics = false;
|
||||
};
|
||||
vim_mode = true;
|
||||
assistant = {
|
||||
default_model = {
|
||||
provider = "ollama";
|
||||
model = "llama3.2";
|
||||
};
|
||||
inline_alternatives = {
|
||||
provider = "ollama";
|
||||
model = "starcoder2:3b";
|
||||
};
|
||||
};
|
||||
language_models = {
|
||||
ollama = {
|
||||
api_url = "http://localhost:11434";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs.direnv = {
|
||||
enable = true;
|
||||
nix-direnv = {
|
||||
|
|
|
@ -1,14 +1,6 @@
|
|||
{pkgs, ...}: {
|
||||
imports = [
|
||||
# ../util/flatpak.nix
|
||||
];
|
||||
# home.packages = with pkgs; [
|
||||
# libreoffice
|
||||
# ];
|
||||
flatpaks = [
|
||||
# "md.obsidian.Obsidian"
|
||||
# "com.logseq.Logseq"
|
||||
# "org.libreoffice.LibreOffice"
|
||||
# "com.jgraph.drawio.desktop"
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
libreoffice
|
||||
];
|
||||
}
|
||||
|
|
|
@ -3,10 +3,12 @@
|
|||
lib,
|
||||
inputs,
|
||||
...
|
||||
}: let
|
||||
rice = pkgs.rice;
|
||||
}:
|
||||
let
|
||||
inherit (pkgs) rice;
|
||||
palette = pkgs.lib.nix-rice.palette.toRGBShortHex rice.palette;
|
||||
in {
|
||||
in
|
||||
{
|
||||
programs.hyprlock = {
|
||||
# enable = true;
|
||||
};
|
||||
|
@ -24,23 +26,25 @@ in {
|
|||
package = inputs.hyprland.packages.x86_64-linux.hyprland;
|
||||
systemd = {
|
||||
enable = true;
|
||||
variables = ["--all"];
|
||||
variables = [ "--all" ];
|
||||
};
|
||||
settings = {
|
||||
"$mainMod" = "SUPER";
|
||||
general = let
|
||||
inherit (rice.borders) thickness;
|
||||
inherit (palette) normal;
|
||||
in {
|
||||
inherit (rice.borders) gaps_in gaps_out;
|
||||
border_size = thickness;
|
||||
layout = "dwindle";
|
||||
"col.inactive_border" = "rgb(${normal.black})";
|
||||
"col.active_border" = "rgb(${normal.yellow})";
|
||||
"col.nogroup_border" = "rgb(${normal.black})";
|
||||
"col.nogroup_border_active" = "rgb(${normal.yellow})";
|
||||
snap.enabled = true;
|
||||
};
|
||||
general =
|
||||
let
|
||||
inherit (rice.borders) thickness;
|
||||
inherit (palette) normal;
|
||||
in
|
||||
{
|
||||
inherit (rice.borders) gaps_in gaps_out;
|
||||
border_size = thickness;
|
||||
layout = "dwindle";
|
||||
"col.inactive_border" = "rgb(${normal.black})";
|
||||
"col.active_border" = "rgb(${normal.yellow})";
|
||||
"col.nogroup_border" = "rgb(${normal.black})";
|
||||
"col.nogroup_border_active" = "rgb(${normal.yellow})";
|
||||
snap.enabled = true;
|
||||
};
|
||||
cursor = {
|
||||
no_hardware_cursors = true;
|
||||
};
|
||||
|
@ -77,16 +81,17 @@ in {
|
|||
"HDMI-A-2, 1920x1080@60, auto-left, 1"
|
||||
"Unknown-1, disable"
|
||||
];
|
||||
bind = let
|
||||
makeDirBind = bind: extraMods:
|
||||
lib.mapAttrsToList (key: dir: "$mainMod${extraMods}, ${key}, ${bind}, ${dir}")
|
||||
{
|
||||
h = "l";
|
||||
j = "d";
|
||||
k = "u";
|
||||
l = "r";
|
||||
};
|
||||
in
|
||||
bind =
|
||||
let
|
||||
makeDirBind =
|
||||
bind: extraMods:
|
||||
lib.mapAttrsToList (key: dir: "$mainMod${extraMods}, ${key}, ${bind}, ${dir}") {
|
||||
h = "l";
|
||||
j = "d";
|
||||
k = "u";
|
||||
l = "r";
|
||||
};
|
||||
in
|
||||
[
|
||||
"$mainMod, Return, exec, ${lib.getExe pkgs.kitty}"
|
||||
]
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{pkgs, ...}: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
mpv
|
||||
imv
|
||||
|
|
|
@ -2,160 +2,201 @@
|
|||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
inputs,
|
||||
...
|
||||
}: let
|
||||
services = let
|
||||
inherit (pkgs) swaynotificationcenter sway-audio-idle-inhibit;
|
||||
in [
|
||||
swaynotificationcenter
|
||||
sway-audio-idle-inhibit
|
||||
];
|
||||
errata = let
|
||||
inherit (pkgs) sirula avizo playerctl;
|
||||
in [
|
||||
sirula
|
||||
avizo
|
||||
playerctl
|
||||
];
|
||||
extraServices = let
|
||||
inherit (pkgs) swayidle swaybg systemd niri-unstable avizo;
|
||||
in [
|
||||
{
|
||||
name = "swaybg";
|
||||
value = "${lib.getExe swaybg} -m fill -i /home/${config.mainUser}/.nix/wallpaper.jpg";
|
||||
}
|
||||
{
|
||||
name = "avizo-service";
|
||||
value = "${lib.getExe' avizo "avizo-service"}";
|
||||
}
|
||||
{
|
||||
name = "swayidle";
|
||||
value = let
|
||||
lock = lib.getExe pkgs.swaylock;
|
||||
niri = lib.getExe niri-unstable;
|
||||
systemctl = lib.getExe' systemd "systemctl";
|
||||
in ''
|
||||
${lib.getExe swayidle} -w \
|
||||
timeout 1800 '${systemctl} suspend' \
|
||||
timeout 600 '${niri} msg action power-off-monitors' \
|
||||
timeout 599 '${lock} -f' \
|
||||
before-sleep '${lock} -f'
|
||||
'';
|
||||
}
|
||||
];
|
||||
in {
|
||||
}:
|
||||
let
|
||||
services =
|
||||
let
|
||||
inherit (pkgs) swaynotificationcenter sway-audio-idle-inhibit;
|
||||
in
|
||||
[
|
||||
swaynotificationcenter
|
||||
sway-audio-idle-inhibit
|
||||
];
|
||||
errata =
|
||||
let
|
||||
inherit (pkgs) sirula avizo playerctl;
|
||||
in
|
||||
[
|
||||
sirula
|
||||
avizo
|
||||
playerctl
|
||||
];
|
||||
extraServices =
|
||||
let
|
||||
inherit (pkgs)
|
||||
swayidle
|
||||
swaybg
|
||||
systemd
|
||||
niri-unstable
|
||||
avizo
|
||||
;
|
||||
in
|
||||
[
|
||||
{
|
||||
name = "swaybg";
|
||||
value = "${lib.getExe swaybg} -m fill -i /home/${config.mainUser}/.nix/wallpaper.jpg";
|
||||
}
|
||||
{
|
||||
name = "avizo-service";
|
||||
value = "${lib.getExe' avizo "avizo-service"}";
|
||||
}
|
||||
{
|
||||
name = "swayidle";
|
||||
value =
|
||||
let
|
||||
niri = lib.getExe niri-unstable;
|
||||
systemctl = lib.getExe' systemd "systemctl";
|
||||
in
|
||||
''
|
||||
${lib.getExe swayidle} -w \
|
||||
timeout 1800 '${systemctl} suspend' \
|
||||
timeout 600 '${niri} msg action power-off-monitors'
|
||||
'';
|
||||
}
|
||||
];
|
||||
in
|
||||
{
|
||||
home.packages = errata;
|
||||
ezServices = builtins.listToAttrs (
|
||||
(map (entry: {
|
||||
name = "${lib.strings.toLower entry.pname}";
|
||||
value = "${lib.getExe entry}";
|
||||
})
|
||||
services)
|
||||
name = "${lib.strings.toLower entry.pname}";
|
||||
value = "${lib.getExe entry}";
|
||||
}) services)
|
||||
++ extraServices
|
||||
);
|
||||
programs.niri.settings = let
|
||||
inherit (lib) range nameValuePair mapAttrs';
|
||||
inherit (builtins) listToAttrs replaceStrings;
|
||||
inherit (config.lib.niri) actions;
|
||||
in {
|
||||
binds = let
|
||||
hBinds = {
|
||||
H = "left";
|
||||
L = "right";
|
||||
};
|
||||
vBinds = {
|
||||
J = "down";
|
||||
K = "up";
|
||||
};
|
||||
makeDirBind = mods: cmd: keys:
|
||||
mapAttrs' (
|
||||
key: dir:
|
||||
nameValuePair
|
||||
"${mods}+${key}"
|
||||
{action = actions."${replaceStrings ["$DIR"] ["${dir}"] "${cmd}"}";}
|
||||
)
|
||||
keys;
|
||||
makeWsBind = mods: cmd:
|
||||
listToAttrs (map (num: {
|
||||
name = "${mods}+${builtins.toString num}";
|
||||
value = {action."${cmd}" = num;};
|
||||
}) (range 0 6));
|
||||
programs.niri.settings =
|
||||
let
|
||||
inherit (lib) range nameValuePair mapAttrs';
|
||||
inherit (builtins) listToAttrs replaceStrings;
|
||||
inherit (config.lib.niri) actions;
|
||||
in
|
||||
{
|
||||
"Mod+D".action.spawn = "sirula";
|
||||
"Mod+F".action.spawn = "firefox";
|
||||
"Mod+E".action.spawn = "nautilus";
|
||||
"Mod+Return".action.spawn = "kitty";
|
||||
"Mod+Shift+E".action.spawn = "wlogout";
|
||||
"Mod+Equal".action.spawn = "keepassxc";
|
||||
"Mod+Shift+Q".action = actions.close-window;
|
||||
"Mod+Shift+S".action = actions.screenshot;
|
||||
"Mod+R".action = actions.switch-preset-column-width;
|
||||
"Mod+Shift+R".action = actions.maximize-column;
|
||||
"XF86AudioRaiseVolume".action.spawn = ["volumectl" "-u" "up"];
|
||||
"XF86AudioLowerVolume".action.spawn = ["volumectl" "-u" "down"];
|
||||
"XF86AudioMute".action.spawn = ["volumectl" "toggle-mute"];
|
||||
"XF86AudioStop".action.spawn = ["playerctl" "stop"];
|
||||
"XF86AudioPlay".action.spawn = ["playerctl" "play-pause"];
|
||||
"XF86AudioNext".action.spawn = ["playerctl" "next"];
|
||||
"XF86AudioPrev".action.spawn = ["playerctl" "previous"];
|
||||
}
|
||||
// makeDirBind "Mod" "focus-window-or-workspace-$DIR" vBinds
|
||||
// makeDirBind "Mod" "focus-column-or-monitor-$DIR" hBinds
|
||||
// makeDirBind "Mod+Shift" "move-window-to-workspace-$DIR" vBinds
|
||||
// makeDirBind "Mod+Shift" "move-column-$DIR-or-to-monitor-$DIR" hBinds
|
||||
// makeDirBind "Mod+Ctrl" "consume-or-expel-window-$DIR" hBinds
|
||||
// makeDirBind "Mod+Ctrl" "move-window-$DIR" vBinds
|
||||
// makeWsBind "Mod" "focus-workspace"
|
||||
// makeWsBind "Mod+Shift" "move-window-to-workspace";
|
||||
outputs = {
|
||||
"Unknown-1".enable = false;
|
||||
"DP-1" = {
|
||||
variable-refresh-rate = true;
|
||||
scale = 1;
|
||||
{
|
||||
binds =
|
||||
let
|
||||
hBinds = {
|
||||
H = "left";
|
||||
L = "right";
|
||||
};
|
||||
vBinds = {
|
||||
J = "down";
|
||||
K = "up";
|
||||
};
|
||||
makeDirBind =
|
||||
mods: cmd: keys:
|
||||
mapAttrs' (
|
||||
key: dir:
|
||||
nameValuePair "${mods}+${key}" {
|
||||
action = actions."${replaceStrings [ "$DIR" ] [ "${dir}" ] "${cmd}"}";
|
||||
}
|
||||
) keys;
|
||||
makeWsBind =
|
||||
mods: cmd:
|
||||
listToAttrs (
|
||||
map (num: {
|
||||
name = "${mods}+${builtins.toString num}";
|
||||
value = {
|
||||
action."${cmd}" = num;
|
||||
};
|
||||
}) (range 0 6)
|
||||
);
|
||||
in
|
||||
{
|
||||
"Mod+D".action.spawn = "sirula";
|
||||
"Mod+F".action.spawn = "firefox";
|
||||
"Mod+E".action.spawn = "nautilus";
|
||||
"Mod+Return".action.spawn = "kitty";
|
||||
"Mod+Shift+E".action.spawn = "wlogout";
|
||||
"Mod+Equal".action.spawn = "keepassxc";
|
||||
"Mod+Shift+Q".action = actions.close-window;
|
||||
"Mod+Shift+S".action = actions.screenshot;
|
||||
"Mod+R".action = actions.switch-preset-column-width;
|
||||
"Mod+Shift+R".action = actions.maximize-column;
|
||||
"XF86AudioRaiseVolume".action.spawn = [
|
||||
"volumectl"
|
||||
"-u"
|
||||
"up"
|
||||
];
|
||||
"XF86AudioLowerVolume".action.spawn = [
|
||||
"volumectl"
|
||||
"-u"
|
||||
"down"
|
||||
];
|
||||
"XF86AudioMute".action.spawn = [
|
||||
"volumectl"
|
||||
"toggle-mute"
|
||||
];
|
||||
"XF86AudioStop".action.spawn = [
|
||||
"playerctl"
|
||||
"stop"
|
||||
];
|
||||
"XF86AudioPlay".action.spawn = [
|
||||
"playerctl"
|
||||
"play-pause"
|
||||
];
|
||||
"XF86AudioNext".action.spawn = [
|
||||
"playerctl"
|
||||
"next"
|
||||
];
|
||||
"XF86AudioPrev".action.spawn = [
|
||||
"playerctl"
|
||||
"previous"
|
||||
];
|
||||
"Mod+Space".action = actions.toggle-window-floating;
|
||||
}
|
||||
// makeDirBind "Mod" "focus-window-or-workspace-$DIR" vBinds
|
||||
// makeDirBind "Mod" "focus-column-or-monitor-$DIR" hBinds
|
||||
// makeDirBind "Mod+Shift" "move-window-to-workspace-$DIR" vBinds
|
||||
// makeDirBind "Mod+Shift" "move-column-$DIR-or-to-monitor-$DIR" hBinds
|
||||
// makeDirBind "Mod+Ctrl" "consume-or-expel-window-$DIR" hBinds
|
||||
// makeDirBind "Mod+Ctrl" "move-window-$DIR" vBinds
|
||||
// makeWsBind "Mod" "focus-workspace"
|
||||
// makeWsBind "Mod+Shift" "move-window-to-workspace";
|
||||
outputs = {
|
||||
# "Unknown-1".enable = false;
|
||||
"DP-1" = {
|
||||
transform.rotation = 90;
|
||||
scale = 1;
|
||||
};
|
||||
"DP-2" = {
|
||||
variable-refresh-rate = true;
|
||||
scale = 1;
|
||||
};
|
||||
};
|
||||
"HDMI-A-2" = {
|
||||
transform.rotation = 90;
|
||||
scale = 1;
|
||||
input = {
|
||||
warp-mouse-to-focus = true;
|
||||
};
|
||||
};
|
||||
input = {
|
||||
warp-mouse-to-focus = true;
|
||||
};
|
||||
cursor = {
|
||||
hide-after-inactive-ms = 5000;
|
||||
hide-when-typing = true;
|
||||
size = 16;
|
||||
theme = pkgs.rice.cursor.name;
|
||||
};
|
||||
layout = {
|
||||
always-center-single-column = true;
|
||||
gaps = 24;
|
||||
default-column-width.proportion = 0.5;
|
||||
preset-column-widths =
|
||||
map
|
||||
(p: {proportion = p;})
|
||||
[
|
||||
cursor = {
|
||||
hide-after-inactive-ms = 5000;
|
||||
hide-when-typing = true;
|
||||
size = 16;
|
||||
theme = pkgs.rice.cursor.name;
|
||||
};
|
||||
layout = {
|
||||
always-center-single-column = true;
|
||||
gaps = 24;
|
||||
default-column-width.proportion = 0.5;
|
||||
preset-column-widths = map (p: { proportion = p; }) [
|
||||
(2.0 / 3.0)
|
||||
0.5
|
||||
(1.0 / 3.0)
|
||||
];
|
||||
focus-ring = let
|
||||
pal = pkgs.lib.nix-rice.palette.toRgbHex pkgs.rice.palette;
|
||||
in {
|
||||
active = {color = pal.bright.yellow;};
|
||||
inactive = {color = pal.normal.black;};
|
||||
focus-ring =
|
||||
let
|
||||
pal = pkgs.lib.nix-rice.palette.toRgbHex pkgs.rice.palette;
|
||||
in
|
||||
{
|
||||
active = {
|
||||
color = pal.bright.yellow;
|
||||
};
|
||||
inactive = {
|
||||
color = pal.normal.black;
|
||||
};
|
||||
};
|
||||
};
|
||||
prefer-no-csd = true;
|
||||
hotkey-overlay.skip-at-startup = true;
|
||||
};
|
||||
prefer-no-csd = true;
|
||||
hotkey-overlay.skip-at-startup = true;
|
||||
};
|
||||
|
||||
programs.swaylock = {
|
||||
enable = true;
|
||||
settings.color = (pkgs.lib.nix-rice.palette.toRGBShortHex pkgs.rice.palette).normal.black;
|
||||
};
|
||||
|
||||
programs.ironbar = {
|
||||
enable = true;
|
||||
|
@ -178,20 +219,20 @@ in {
|
|||
}
|
||||
];
|
||||
end = [
|
||||
{type = "clock";}
|
||||
{type = "tray";}
|
||||
{ type = "clock"; }
|
||||
{ type = "tray"; }
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
systemd.user.services.ironbar = {
|
||||
Unit.PartOf = ["graphical-session.target"];
|
||||
Unit.PartOf = [ "graphical-session.target" ];
|
||||
Unit.After = [
|
||||
"graphical-session.target"
|
||||
"niri.service"
|
||||
];
|
||||
Install.WantedBy = ["graphical-session.target"];
|
||||
Install.WantedBy = [ "graphical-session.target" ];
|
||||
};
|
||||
|
||||
xdg.configFile = {
|
||||
|
@ -211,17 +252,19 @@ in {
|
|||
term_command = "kitty {}"
|
||||
'';
|
||||
|
||||
"sirula/style.css".text = let
|
||||
pal = pkgs.lib.nix-rice.palette.toRgbHex pkgs.rice.palette;
|
||||
in ''
|
||||
#root-box {
|
||||
background-color: ${pal.normal.black};
|
||||
color: ${pal.normal.yellow};
|
||||
font-family: '${pkgs.rice.fonts.sans.name}';
|
||||
}
|
||||
/* what's the name of the highlighted search text?
|
||||
color: ${pal.normal.white};
|
||||
*/
|
||||
'';
|
||||
"sirula/style.css".text =
|
||||
let
|
||||
pal = pkgs.lib.nix-rice.palette.toRgbHex pkgs.rice.palette;
|
||||
in
|
||||
''
|
||||
#root-box {
|
||||
background-color: ${pal.normal.black};
|
||||
color: ${pal.normal.yellow};
|
||||
font-family: '${pkgs.rice.fonts.sans.name}';
|
||||
}
|
||||
/* what's the name of the highlighted search text?
|
||||
color: ${pal.normal.white};
|
||||
*/
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{pkgs, ...}: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
gtk-engine-murrine
|
||||
];
|
||||
|
@ -10,17 +11,19 @@
|
|||
platformTheme.name = "adwaita";
|
||||
};
|
||||
|
||||
gtk = with pkgs;
|
||||
with rice; {
|
||||
enable = true;
|
||||
theme = with gtk-theme; {
|
||||
inherit package name;
|
||||
gtk =
|
||||
with pkgs;
|
||||
with rice;
|
||||
{
|
||||
enable = true;
|
||||
theme = with gtk-theme; {
|
||||
inherit package name;
|
||||
};
|
||||
iconTheme = with icons; {
|
||||
inherit package name;
|
||||
};
|
||||
font = with fonts.sans; {
|
||||
inherit name size package;
|
||||
};
|
||||
};
|
||||
iconTheme = with icons; {
|
||||
inherit package name;
|
||||
};
|
||||
font = with fonts.sans; {
|
||||
inherit name size package;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,21 +1,20 @@
|
|||
{config, ...}: {
|
||||
{ config, ... }:
|
||||
{
|
||||
imports = [
|
||||
../util/firefox-webapp.nix
|
||||
];
|
||||
programs.firefox.webapps = {
|
||||
"Syncthing" = {
|
||||
url = "http://127.0.0.1:8384";
|
||||
# id = 3;
|
||||
extraSettings = config.programs.firefox.profiles.default.settings;
|
||||
name = "Syncthing";
|
||||
icon = ../icons/syncthing.png;
|
||||
};
|
||||
"StudyTAFE" = {
|
||||
url = "https://www.studytafensw.edu.au";
|
||||
# id = 4;
|
||||
"Open-WebUI" = {
|
||||
url = "http://127.0.0.1:8088";
|
||||
extraSettings = config.programs.firefox.profiles.default.settings;
|
||||
name = "TAFE Study";
|
||||
icon = ../icons/tafe.jpg;
|
||||
name = "Open-WebUI";
|
||||
icon = ../icons/openwebui.png;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue