Desktop environment refactor
This commit is contained in:
@@ -68,10 +68,8 @@ in
|
||||
# - Desktop ----------------------------------
|
||||
desktop = {
|
||||
inherit wallpaper;
|
||||
enable = true;
|
||||
laptop = true;
|
||||
hyprland = {
|
||||
enable = true;
|
||||
env.grapheio.enable = true;
|
||||
wm.hyprland = {
|
||||
kb_layout = "es,gr";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
let
|
||||
cfg = config.samfelag.modules.app.alacritty;
|
||||
i3Cfg = config.samfelag.modules.desktop.i3;
|
||||
hyprCfg = config.samfelag.modules.desktop.hyprland;
|
||||
i3Cfg = config.samfelag.modules.desktop.wm.i3;
|
||||
hyprCfg = config.samfelag.modules.desktop.wm.hyprland;
|
||||
in
|
||||
{
|
||||
options.samfelag.modules.app.alacritty = {
|
||||
@@ -57,12 +57,12 @@ in
|
||||
white = "0x${config.colorScheme.palette.base07}"
|
||||
'';
|
||||
|
||||
samfelag.modules.desktop.i3.extraKeybindings = lib.mkIf i3Cfg.enable {
|
||||
samfelag.modules.desktop.wm.i3.extraKeybindings = lib.mkIf i3Cfg.enable {
|
||||
"${i3Cfg.mod}+Return" = "exec ${pkgs.alacritty}/bin/alacritty";
|
||||
"${i3Cfg.mod}+Shift+Return" = "exec ${pkgs.alacritty}/bin/alacritty -t floating-term";
|
||||
};
|
||||
|
||||
samfelag.modules.desktop.hyprland.extraKeybindings = lib.mkIf hyprCfg.enable [
|
||||
samfelag.modules.desktop.wm.hyprland.extraKeybindings = lib.mkIf hyprCfg.enable [
|
||||
"${hyprCfg.mod}, Return, exec, ${pkgs.alacritty}/bin/alacritty"
|
||||
"${hyprCfg.mod} SHIFT, Return, exec, [float] ${pkgs.alacritty}/bin/alacritty"
|
||||
];
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
let
|
||||
cfg = config.samfelag.modules.app.firefox;
|
||||
i3Cfg = config.samfelag.modules.desktop.i3;
|
||||
hyprCfg = config.samfelag.modules.desktop.hyprland;
|
||||
i3Cfg = config.samfelag.modules.desktop.wm.i3;
|
||||
hyprCfg = config.samfelag.modules.desktop.wm.hyprland;
|
||||
in
|
||||
{
|
||||
options.samfelag.modules.app.firefox = {
|
||||
@@ -27,11 +27,11 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
samfelag.modules.desktop.i3.extraKeybindings = lib.mkIf i3Cfg.enable {
|
||||
samfelag.modules.desktop.wm.i3.extraKeybindings = lib.mkIf i3Cfg.enable {
|
||||
"${i3Cfg.mod}+Shift+i" = "exec ${pkgs.firefox}/bin/firefox";
|
||||
};
|
||||
|
||||
samfelag.modules.desktop.hyprland.extraKeybindings = lib.mkIf hyprCfg.enable [
|
||||
samfelag.modules.desktop.wm.hyprland.extraKeybindings = lib.mkIf hyprCfg.enable [
|
||||
"${hyprCfg.mod} SHIFT, i, exec, ${pkgs.firefox}/bin/firefox"
|
||||
];
|
||||
};
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
let
|
||||
cfg = config.samfelag.modules.app.spotify;
|
||||
i3Cfg = config.samfelag.modules.desktop.i3;
|
||||
hyprCfg = config.samfelag.modules.desktop.hyprland;
|
||||
i3Cfg = config.samfelag.modules.desktop.wm.i3;
|
||||
hyprCfg = config.samfelag.modules.desktop.wm.hyprland;
|
||||
in
|
||||
{
|
||||
options.samfelag.modules.app.spotify = {
|
||||
@@ -14,11 +14,11 @@ in
|
||||
spotify
|
||||
];
|
||||
|
||||
samfelag.modules.desktop.i3.extraKeybindings = lib.mkIf i3Cfg.enable {
|
||||
samfelag.modules.desktop.wm.i3.extraKeybindings = lib.mkIf i3Cfg.enable {
|
||||
"${i3Cfg.mod}+Shift+m" = "exec ${pkgs.spotify}/bin/spotify";
|
||||
};
|
||||
|
||||
samfelag.modules.desktop.hyprland.extraKeybindings = lib.mkIf hyprCfg.enable [
|
||||
samfelag.modules.desktop.wm.hyprland.extraKeybindings = lib.mkIf hyprCfg.enable [
|
||||
"${hyprCfg.mod} SHIFT, m, exec, ${pkgs.spotify}/bin/spotify"
|
||||
];
|
||||
};
|
||||
|
||||
@@ -3,71 +3,11 @@
|
||||
with lib;
|
||||
let
|
||||
cfg = config.samfelag.modules.desktop;
|
||||
laptopPkgs = with pkgs; [
|
||||
];
|
||||
in
|
||||
{
|
||||
options.samfelag.modules.desktop = {
|
||||
|
||||
enable = mkEnableOption "desktop environment";
|
||||
|
||||
laptop = mkOption {
|
||||
description = "Enable features for a laptop (trackpad, battery, etc...)";
|
||||
type = types.bool;
|
||||
default = false;
|
||||
};
|
||||
# Define generic desktop options to be used by the environments
|
||||
|
||||
wallpaper = my.mkOpt' types.path ../../data/wallpaper/flors "Path to wallpaper(s)";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
# - Packages ---------------------------------
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
pamixer
|
||||
i3lock-blur
|
||||
brightnessctl
|
||||
playerctl
|
||||
feh
|
||||
] ++ optionals cfg.laptop laptopPkgs;
|
||||
|
||||
# - Audio ------------------------------------
|
||||
|
||||
services = {
|
||||
pipewire = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
# - Compositor -------------------------------
|
||||
|
||||
services.picom.enable = true;
|
||||
|
||||
# - Modules ----------------------------------
|
||||
|
||||
samfelag.modules = {
|
||||
|
||||
app.alacritty.enable = true;
|
||||
app.firefox.enable = true;
|
||||
|
||||
desktop.rofi.enable = true;
|
||||
desktop.polybar.enable = true;
|
||||
|
||||
desktop.i3 = {
|
||||
laptop = cfg.laptop;
|
||||
|
||||
extraStartup = [
|
||||
{ command = "systemctl --user restart polybar"; always = true; notification = false; }
|
||||
{ command = "feh --bg-fill -B \"#${config.colorScheme.palette.base00}\" -z --no-fehbg ${cfg.wallpaper}"; always = true; notification = false; }
|
||||
];
|
||||
|
||||
extraKeybindings = {
|
||||
"${cfg.i3.mod}+space" = "exec $HOME/.config/rofi/menus/launcher/launcher.sh";
|
||||
"${cfg.i3.mod}+End" = "exec $HOME/.config/rofi/menus/powermenu/powermenu.sh";
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
91
modules/desktop/env/grapheio.nix
vendored
Normal file
91
modules/desktop/env/grapheio.nix
vendored
Normal file
@@ -0,0 +1,91 @@
|
||||
{ config, lib, pkgs, inputs, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.samfelag.modules.desktop.env.grapheio;
|
||||
in
|
||||
{
|
||||
options.samfelag.modules.desktop.env.grapheio = {
|
||||
enable = mkEnableOption "Grapheio desktop environment - hyprland based";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
# - Packages ---------------------------------
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
# - System ---------------------------------
|
||||
# - Audio
|
||||
alsa-utils
|
||||
playerctl
|
||||
brightnessctl
|
||||
|
||||
# - Appearance -----------------------------
|
||||
# - Cursor
|
||||
inputs.hyprcursor-rose-pine.packages.${pkgs.system}.default
|
||||
# - Wallpaper
|
||||
hyprpaper
|
||||
];
|
||||
|
||||
# - Audio ------------------------------------
|
||||
|
||||
services = {
|
||||
pipewire = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
# - Hyprpaper --------------------------------
|
||||
hm.xdg.configFile."hypr/hyprpaper.conf".text = ''
|
||||
preload = ${config.samfelag.modules.desktop.wallpaper}
|
||||
wallpaper = ,${config.samfelag.modules.desktop.wallpaper}
|
||||
'';
|
||||
|
||||
# - Cursor -----------------------------------
|
||||
hm.home.pointerCursor = {
|
||||
gtk.enable = true;
|
||||
package = pkgs.rose-pine-cursor;
|
||||
name = "BreezeX Cursor";
|
||||
size = 24;
|
||||
};
|
||||
|
||||
hm.gtk = {
|
||||
enable = true;
|
||||
cursorTheme = {
|
||||
package = pkgs.rose-pine-cursor;
|
||||
name = "BreezeX Cursor";
|
||||
};
|
||||
};
|
||||
|
||||
# - Modules ----------------------------------
|
||||
|
||||
samfelag.modules = {
|
||||
|
||||
desktop = {
|
||||
# Window Manager
|
||||
wm.hyprland.enable = true;
|
||||
|
||||
# Greeter (login screen)
|
||||
greeter.greetd = {
|
||||
enable = true;
|
||||
wm_cmd = "Hyprland";
|
||||
};
|
||||
|
||||
tools = {
|
||||
# Status bars
|
||||
eww.enable = true;
|
||||
# Launcher
|
||||
rofi.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
system.kanata.enable = true;
|
||||
|
||||
app = {
|
||||
alacritty.enable = true;
|
||||
firefox.enable = true;
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
}
|
||||
50
modules/desktop/greeter/greetd.nix
Normal file
50
modules/desktop/greeter/greetd.nix
Normal file
@@ -0,0 +1,50 @@
|
||||
{ inputs, config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
cfg = config.samfelag.modules.desktop.greeter.greetd;
|
||||
in {
|
||||
|
||||
options.samfelag.modules.desktop.greeter.greetd = with lib; {
|
||||
enable = mkEnableOption "Greetd based greeter";
|
||||
wm_cmd = lib.my.mkOpt' types.str "" "Window manager command";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
greetd.gtkgreet
|
||||
cage
|
||||
];
|
||||
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
settings = {
|
||||
default_session = {
|
||||
command = "${pkgs.cage}/bin/cage -d -s ${pkgs.greetd.gtkgreet}/bin/gtkgreet -- -c ${cfg.wm_cmd} -s /etc/greetd/greetd.css";
|
||||
user = config.user.name;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
environment.etc."greetd/environments".text = ''
|
||||
${cfg.wm_cmd}
|
||||
'';
|
||||
|
||||
environment.etc."greetd/greetd.css".text = ''
|
||||
window {
|
||||
background-image: url("file://${config.samfelag.modules.desktop.wallpaper}");
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
font-family: Iosevka;
|
||||
color: #${config.colorScheme.palette.base00};
|
||||
}
|
||||
|
||||
box#body {
|
||||
background-color: #${config.colorScheme.palette.base06};
|
||||
opacity: 0.75;
|
||||
border-radius: 10px;
|
||||
padding: 50px;
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
@@ -1,14 +1,14 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
cfg = config.samfelag.modules.desktop.eww;
|
||||
hyprCfg = config.samfelag.modules.desktop.hyprland;
|
||||
cfg = config.samfelag.modules.desktop.tools.eww;
|
||||
hyprCfg = config.samfelag.modules.desktop.wm.hyprland;
|
||||
# Paths
|
||||
paths = {
|
||||
};
|
||||
in {
|
||||
|
||||
options.samfelag.modules.desktop.eww = {
|
||||
options.samfelag.modules.desktop.tools.eww = {
|
||||
enable = lib.mkEnableOption "eww";
|
||||
};
|
||||
|
||||
@@ -23,11 +23,11 @@ in {
|
||||
socat
|
||||
];
|
||||
|
||||
hm.xdg.configFile."eww/eww.yuck".source = ../../config/eww/eww.yuck;
|
||||
hm.xdg.configFile."eww/eww.scss".source = ../../config/eww/eww.scss;
|
||||
hm.xdg.configFile."eww/bars".source = ../../config/eww/bars;
|
||||
hm.xdg.configFile."eww/widgets".source = ../../config/eww/widgets;
|
||||
hm.xdg.configFile."eww/scripts".source = ../../config/eww/scripts;
|
||||
hm.xdg.configFile."eww/eww.yuck".source = ../../../config/eww/eww.yuck;
|
||||
hm.xdg.configFile."eww/eww.scss".source = ../../../config/eww/eww.scss;
|
||||
hm.xdg.configFile."eww/bars".source = ../../../config/eww/bars;
|
||||
hm.xdg.configFile."eww/widgets".source = ../../../config/eww/widgets;
|
||||
hm.xdg.configFile."eww/scripts".source = ../../../config/eww/scripts;
|
||||
|
||||
# - Themeing ---------------------------------
|
||||
hm.xdg.configFile."eww/colour-scheme.scss".text = ''
|
||||
@@ -50,7 +50,7 @@ in {
|
||||
'';
|
||||
|
||||
# - Dependencies -----------------------------
|
||||
samfelag.modules.desktop.rofi.enable = true;
|
||||
samfelag.modules.desktop.tools.rofi.enable = true;
|
||||
|
||||
};
|
||||
}
|
||||
@@ -1,8 +1,8 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
cfg = config.samfelag.modules.desktop.polybar;
|
||||
i3Cfg = config.samfelag.modules.desktop.i3;
|
||||
cfg = config.samfelag.modules.desktop.tools.polybar;
|
||||
i3Cfg = config.samfelag.modules.desktop.wm.i3;
|
||||
polybar_pkg = pkgs.polybar.override {
|
||||
i3Support = true;
|
||||
pulseSupport = true;
|
||||
@@ -13,13 +13,13 @@ let
|
||||
'';
|
||||
# Paths
|
||||
paths = {
|
||||
config = ../../config/polybar/config.ini;
|
||||
bars = ../../config/polybar/bars;
|
||||
scripts = ../../config/polybar/scripts;
|
||||
config = ../../../config/polybar/config.ini;
|
||||
bars = ../../../config/polybar/bars;
|
||||
scripts = ../../../config/polybar/scripts;
|
||||
};
|
||||
in {
|
||||
|
||||
options.samfelag.modules.desktop.polybar = {
|
||||
options.samfelag.modules.desktop.tools.polybar = {
|
||||
enable = lib.mkEnableOption "polybar";
|
||||
};
|
||||
|
||||
@@ -59,10 +59,14 @@ in {
|
||||
# - Dependencies -----------------------------
|
||||
|
||||
# The polybar modules use rofi
|
||||
samfelag.modules.desktop.rofi.enable = true;
|
||||
samfelag.modules.desktop.i3.extraKeybindings = lib.mkIf i3Cfg.enable {
|
||||
samfelag.modules.desktop.tools.rofi.enable = true;
|
||||
samfelag.modules.desktop.wm.i3.extraKeybindings = lib.mkIf i3Cfg.enable {
|
||||
"${i3Cfg.mod}+Shift+w" = "exec $HOME/.config/rofi/menus/wifi/wifi.sh";
|
||||
};
|
||||
samfelag.modules.desktop.wm.i3.extraStartup = lib.mkIf i3Cfg.enable [
|
||||
{ command = "systemctl --user restart polybar"; always = true; notification = false; }
|
||||
{ command = "feh --bg-fill -B \"#${config.colorScheme.palette.base00}\" -z --no-fehbg ${cfg.wallpaper}"; always = true; notification = false; }
|
||||
];
|
||||
|
||||
# - Services ---------------------------------
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
{ config, lib, pkgs, inputs, ... }:
|
||||
|
||||
let
|
||||
cfg = config.samfelag.modules.desktop.rofi;
|
||||
hyprCfg = config.samfelag.modules.desktop.hyprland;
|
||||
cfg = config.samfelag.modules.desktop.tools.rofi;
|
||||
hyprCfg = config.samfelag.modules.desktop.wm.hyprland;
|
||||
i3Cfg = config.samfelag.modules.desktop.wm.i3;
|
||||
nix-colors-lib = inputs.nix-colors.lib-contrib { inherit pkgs; };
|
||||
in
|
||||
{
|
||||
options.samfelag.modules.desktop.rofi = {
|
||||
options.samfelag.modules.desktop.tools.rofi = {
|
||||
enable = lib.mkEnableOption "rofi";
|
||||
};
|
||||
config = lib.mkIf cfg.enable {
|
||||
@@ -17,7 +18,7 @@ in
|
||||
rofi
|
||||
];
|
||||
|
||||
hm.xdg.configFile."rofi/menus".source = ../../config/rofi/menus;
|
||||
hm.xdg.configFile."rofi/menus".source = ../../../config/rofi/menus;
|
||||
hm.xdg.configFile."rofi/nix.png".source = nix-colors-lib.nixWallpaperFromScheme {
|
||||
scheme = config.colorScheme;
|
||||
width = 600;
|
||||
@@ -38,11 +39,17 @@ in
|
||||
}
|
||||
'';
|
||||
|
||||
samfelag.modules.desktop.hyprland.extraKeybindings = lib.mkIf hyprCfg.enable [
|
||||
samfelag.modules.desktop.wm.hyprland.extraKeybindings = lib.mkIf hyprCfg.enable [
|
||||
"${hyprCfg.mod}, SPACE, exec, $HOME/.config/rofi/menus/launcher/launcher.sh"
|
||||
"${hyprCfg.mod}, END, exec, $HOME/.config/rofi/menus/powermenu/powermenu.sh"
|
||||
"${hyprCfg.mod} SHIFT, W, exec, $HOME/.config/rofi/menus/wifi/wifi.sh"
|
||||
];
|
||||
|
||||
samfelag.modules.desktop.wm.i3.extraKeybindings = lib.mkIf i3Cfg.enable {
|
||||
"${i3Cfg.mod}+space" = "exec $HOME/.config/rofi/menus/launcher/launcher.sh";
|
||||
"${i3Cfg.mod}+End" = "exec $HOME/.config/rofi/menus/powermenu/powermenu.sh";
|
||||
"${i3Cfg.mod}+Shift+w" = "exec $HOME/.config/rofi/menus/wifi/wifi.sh";
|
||||
};
|
||||
|
||||
};
|
||||
}
|
||||
@@ -1,11 +1,11 @@
|
||||
{ inputs, config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
cfg = config.samfelag.modules.desktop.hyprland;
|
||||
cfg = config.samfelag.modules.desktop.wm.hyprland;
|
||||
mod = "Mod4";
|
||||
in {
|
||||
|
||||
options.samfelag.modules.desktop.hyprland = with lib; {
|
||||
options.samfelag.modules.desktop.wm.hyprland = with lib; {
|
||||
enable = mkEnableOption "hyprland window manager";
|
||||
|
||||
mod = my.mkOpt' types.str "Mod4" "Main modifier key for hyprland";
|
||||
@@ -19,60 +19,11 @@ in {
|
||||
config = lib.mkIf cfg.enable {
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
# Cursor
|
||||
inputs.hyprcursor-rose-pine.packages.${pkgs.system}.default
|
||||
# Wallpaper
|
||||
hyprpaper
|
||||
# Greeter
|
||||
greetd.gtkgreet
|
||||
cage
|
||||
];
|
||||
|
||||
# - Login screen -----------------------------
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
settings = {
|
||||
default_session = {
|
||||
command = "${pkgs.cage}/bin/cage -d -s ${pkgs.greetd.gtkgreet}/bin/gtkgreet -- -c Hyprland -s /etc/greetd/greetd.css";
|
||||
user = config.user.name;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
environment.etc."greetd/environments".text = ''
|
||||
Hyprland
|
||||
'';
|
||||
|
||||
environment.etc."greetd/greetd.css".text = ''
|
||||
window {
|
||||
background-image: url("file://${config.samfelag.modules.desktop.wallpaper}");
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
font-family: Iosevka;
|
||||
color: #${config.colorScheme.palette.base00};
|
||||
}
|
||||
|
||||
box#body {
|
||||
background-color: #${config.colorScheme.palette.base06};
|
||||
opacity: 0.75;
|
||||
border-radius: 10px;
|
||||
padding: 50px;
|
||||
}
|
||||
'';
|
||||
|
||||
# - Dependencies -----------------------------
|
||||
samfelag.modules.desktop.rofi.enable = true;
|
||||
samfelag.modules.desktop.eww.enable = true;
|
||||
samfelag.modules.system.kanata.enable = true;
|
||||
|
||||
# - Configuration -----------------------------
|
||||
|
||||
# Hyprpaper
|
||||
hm.xdg.configFile."hypr/hyprpaper.conf".text = ''
|
||||
preload = ${config.samfelag.modules.desktop.wallpaper}
|
||||
wallpaper = ,${config.samfelag.modules.desktop.wallpaper}
|
||||
'';
|
||||
|
||||
# Hyprland config
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
xwayland.enable = true;
|
||||
@@ -99,6 +50,7 @@ in {
|
||||
|
||||
env = [
|
||||
"HYPRCURSOR_THEME,rose-pine-hyprcursor"
|
||||
"HYPRCURSOR_SIZE,24"
|
||||
];
|
||||
|
||||
input = {
|
||||
@@ -1,11 +1,11 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
cfg = config.samfelag.modules.desktop.i3;
|
||||
cfg = config.samfelag.modules.desktop.wm.i3;
|
||||
mod = "Mod4";
|
||||
in {
|
||||
|
||||
options.samfelag.modules.desktop.i3 = with lib; {
|
||||
options.samfelag.modules.desktop.wm.i3 = with lib; {
|
||||
enable = mkEnableOption "i3 window manager";
|
||||
|
||||
mod = my.mkOpt' types.str "Mod4" "Main modifier key for i3";
|
||||
@@ -23,8 +23,12 @@ in {
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
playerctl
|
||||
i3lock-blur
|
||||
feh
|
||||
];
|
||||
|
||||
samfelag.modules.desktop.tools.polybar.enable = true;
|
||||
|
||||
fonts.packages = with pkgs; [
|
||||
iosevka
|
||||
(nerdfonts.override { fonts = [ "Iosevka" ]; })
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
let
|
||||
cfg = config.samfelag.modules.dev.devenv;
|
||||
i3Cfg = config.samfelag.modules.desktop.i3;
|
||||
i3Cfg = config.samfelag.modules.desktop.wm.i3;
|
||||
in
|
||||
{
|
||||
options.samfelag.modules.dev.devenv = {
|
||||
@@ -21,7 +21,7 @@ in
|
||||
};
|
||||
|
||||
# TODO: This assumes we have alacritty and a python311 devenv set up (may want to fix this at some point)
|
||||
samfelag.modules.desktop.i3.extraKeybindings = lib.mkIf i3Cfg.enable {
|
||||
samfelag.modules.desktop.wm.i3.extraKeybindings = lib.mkIf i3Cfg.enable {
|
||||
"${i3Cfg.mod}+Shift+P" = "exec ${pkgs.alacritty}/bin/alacritty -t floating-term -e zsh -c \"direnv exec ~/sandbox/python311 ipython\"";
|
||||
};
|
||||
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
with lib;
|
||||
let
|
||||
cfg = config.samfelag.modules.editors.emacs;
|
||||
i3Cfg = config.samfelag.modules.desktop.i3;
|
||||
hyprCfg = config.samfelag.modules.desktop.hyprland;
|
||||
i3Cfg = config.samfelag.modules.desktop.wm.i3;
|
||||
hyprCfg = config.samfelag.modules.desktop.wm.hyprland;
|
||||
emacsPackages = epkgs: [
|
||||
epkgs.vterm
|
||||
];
|
||||
@@ -103,11 +103,11 @@ in {
|
||||
'';
|
||||
};
|
||||
|
||||
samfelag.modules.desktop.i3.extraKeybindings = lib.mkIf i3Cfg.enable {
|
||||
samfelag.modules.desktop.wm.i3.extraKeybindings = lib.mkIf i3Cfg.enable {
|
||||
"${i3Cfg.mod}+Shift+e" = "exec ${emacsWithPackages}/bin/emacs";
|
||||
};
|
||||
|
||||
samfelag.modules.desktop.hyprland.extraKeybindings = lib.mkIf hyprCfg.enable [
|
||||
samfelag.modules.desktop.wm.hyprland.extraKeybindings = lib.mkIf hyprCfg.enable [
|
||||
"${hyprCfg.mod} SHIFT, e, exec, ${emacsWithPackages}/bin/emacs"
|
||||
];
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ in
|
||||
hardware.bluetooth.enable = true;
|
||||
services.blueman.enable = true;
|
||||
|
||||
samfelag.modules.desktop.i3.extraKeybindings = lib.mkIf desktopCfg.enable {
|
||||
samfelag.modules.desktop.wm.i3.extraKeybindings = lib.mkIf desktopCfg.enable {
|
||||
"${desktopCfg.i3.mod}+b" = "exec $HOME/.config/rofi/menus/bluetooth/bluetooth.sh";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
let
|
||||
cfg = config.samfelag.modules.system.pass;
|
||||
i3Cfg = config.samfelag.modules.desktop.i3;
|
||||
hyprCfg = config.samfelag.modules.desktop.hyprland;
|
||||
i3Cfg = config.samfelag.modules.desktop.wm.i3;
|
||||
hyprCfg = config.samfelag.modules.desktop.wm.hyprland;
|
||||
in
|
||||
{
|
||||
options.samfelag.modules.system.pass = {
|
||||
@@ -36,11 +36,11 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
samfelag.modules.desktop.i3.extraKeybindings = lib.mkIf i3Cfg.enable {
|
||||
samfelag.modules.desktop.wm.i3.extraKeybindings = lib.mkIf i3Cfg.enable {
|
||||
"${i3Cfg.mod}+p" = "exec rofi-pass";
|
||||
};
|
||||
|
||||
samfelag.modules.desktop.hyprland.extraKeybindings = lib.mkIf hyprCfg.enable [
|
||||
samfelag.modules.desktop.wm.hyprland.extraKeybindings = lib.mkIf hyprCfg.enable [
|
||||
"${hyprCfg.mod}, P, exec, rofi-pass"
|
||||
];
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user