Massive nixfmt reformatting
This commit is contained in:
parent
fe4492f004
commit
b29ddd5e65
109 changed files with 4323 additions and 2368 deletions
|
@ -1,4 +1,9 @@
|
|||
{ pkgs, config, lib, ... }:
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
let
|
||||
|
@ -28,7 +33,10 @@ in
|
|||
};
|
||||
shell = {
|
||||
program = "/bin/sh";
|
||||
args = [ "-ic" "${config.programs.fish.package}/bin/fish" ];
|
||||
args = [
|
||||
"-ic"
|
||||
"${config.programs.fish.package}/bin/fish"
|
||||
];
|
||||
};
|
||||
colors = {
|
||||
# Default colors
|
||||
|
@ -57,7 +65,11 @@ in
|
|||
};
|
||||
|
||||
key_bindings = [
|
||||
{ key = "C"; mods = "Alt|Control"; action = "SpawnNewInstance"; }
|
||||
{
|
||||
key = "C";
|
||||
mods = "Alt|Control";
|
||||
action = "SpawnNewInstance";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,4 +1,9 @@
|
|||
{ pkgs, lib, config, ... }:
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.linux.graphical;
|
||||
|
@ -17,34 +22,56 @@ let
|
|||
end
|
||||
'';
|
||||
|
||||
mkPackageWithDesktopOption = opts: mkOption ({
|
||||
type = types.submodule {
|
||||
options = {
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
description = "The package for " + description;
|
||||
mkPackageWithDesktopOption =
|
||||
opts:
|
||||
mkOption (
|
||||
{
|
||||
type = types.submodule {
|
||||
options = {
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
description = "The package for " + description;
|
||||
};
|
||||
desktopFile = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = "The desktop file name for " + description + ", defaults to [packagename].desktop";
|
||||
};
|
||||
};
|
||||
};
|
||||
desktopFile = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = "The desktop file name for " + description + ", defaults to [packagename].desktop";
|
||||
};
|
||||
};
|
||||
};
|
||||
} // opts);
|
||||
}
|
||||
// opts
|
||||
);
|
||||
|
||||
desktopFileOf = cfg: if cfg.desktopFile == null then "${cfg.package}/share/applications/${cfg.package.pname}.desktop" else cfg.desktopFile;
|
||||
desktopFileOf =
|
||||
cfg:
|
||||
if cfg.desktopFile == null then
|
||||
"${cfg.package}/share/applications/${cfg.package.pname}.desktop"
|
||||
else
|
||||
cfg.desktopFile;
|
||||
in
|
||||
{
|
||||
imports = [ ./x11.nix ./wayland.nix ./alacritty.nix ];
|
||||
imports = [
|
||||
./x11.nix
|
||||
./wayland.nix
|
||||
./alacritty.nix
|
||||
];
|
||||
options.linux.graphical = {
|
||||
type = mkOption {
|
||||
type = types.nullOr (types.enum [ "x11" "wayland" ]);
|
||||
type = types.nullOr (
|
||||
types.enum [
|
||||
"x11"
|
||||
"wayland"
|
||||
]
|
||||
);
|
||||
description = "Enable linux graphical configurations, with either 'x11' or 'wayland'";
|
||||
default = null;
|
||||
};
|
||||
wallpaper = mkOption {
|
||||
type = types.oneOf [ types.str types.path ];
|
||||
type = types.oneOf [
|
||||
types.str
|
||||
types.path
|
||||
];
|
||||
description = "Path to the wallpaper file";
|
||||
default = "";
|
||||
};
|
||||
|
@ -59,52 +86,61 @@ in
|
|||
};
|
||||
defaults = {
|
||||
webBrowser = mkPackageWithDesktopOption { description = "default web browser"; };
|
||||
terminal = mkPackageWithDesktopOption { description = "default terminal"; default.package = pkgs.kitty; };
|
||||
discord = mkPackageWithDesktopOption { description = "Discord client"; default.package = pkgs.vesktop; };
|
||||
terminal = mkPackageWithDesktopOption {
|
||||
description = "default terminal";
|
||||
default.package = pkgs.kitty;
|
||||
};
|
||||
discord = mkPackageWithDesktopOption {
|
||||
description = "Discord client";
|
||||
default.package = pkgs.vesktop;
|
||||
};
|
||||
};
|
||||
};
|
||||
config = mkIf (cfg.type != null) {
|
||||
# Packages
|
||||
|
||||
home.packages = (with pkgs; [
|
||||
cfg.defaults.webBrowser.package
|
||||
cfg.defaults.terminal.package
|
||||
home.packages = (
|
||||
with pkgs;
|
||||
[
|
||||
cfg.defaults.webBrowser.package
|
||||
cfg.defaults.terminal.package
|
||||
|
||||
## GUI stuff
|
||||
evince # PDF reader
|
||||
gparted
|
||||
vscode
|
||||
feh # For images?
|
||||
deluge # Torrent client
|
||||
pavucontrol # PulseAudio control panel
|
||||
sublime-music # For navidrome
|
||||
# cinny-desktop
|
||||
gajim
|
||||
vivaldi
|
||||
# Audio
|
||||
qpwgraph # Pipewire graph
|
||||
audacity
|
||||
vlc
|
||||
## GUI stuff
|
||||
evince # PDF reader
|
||||
gparted
|
||||
vscode
|
||||
feh # For images?
|
||||
deluge # Torrent client
|
||||
pavucontrol # PulseAudio control panel
|
||||
sublime-music # For navidrome
|
||||
# cinny-desktop
|
||||
gajim
|
||||
vivaldi
|
||||
# Audio
|
||||
qpwgraph # Pipewire graph
|
||||
audacity
|
||||
vlc
|
||||
|
||||
unstable.zotero
|
||||
libreoffice
|
||||
unstable.zotero
|
||||
libreoffice
|
||||
|
||||
mpv # for anki
|
||||
anki-bin
|
||||
mpv # for anki
|
||||
anki-bin
|
||||
|
||||
# Chat stuff
|
||||
tdesktop
|
||||
whatsapp-for-linux
|
||||
slack
|
||||
zoom-us
|
||||
# Chat stuff
|
||||
tdesktop
|
||||
whatsapp-for-linux
|
||||
slack
|
||||
zoom-us
|
||||
|
||||
|
||||
## CLI stuff
|
||||
dex # .desktop file management, startup
|
||||
# sct # Display color temperature
|
||||
xdg-utils # Open stuff
|
||||
wifi-indicator
|
||||
] ++ cfg.startup);
|
||||
## CLI stuff
|
||||
dex # .desktop file management, startup
|
||||
# sct # Display color temperature
|
||||
xdg-utils # Open stuff
|
||||
wifi-indicator
|
||||
]
|
||||
++ cfg.startup
|
||||
);
|
||||
|
||||
# OBS
|
||||
programs.obs-studio = {
|
||||
|
@ -129,7 +165,10 @@ in
|
|||
xdg.mimeApps.enable = true;
|
||||
|
||||
xdg.mimeApps.associations.added = {
|
||||
"x-scheme-handler/mailto" = [ "thunderbird.desktop" "org.gnome.Evolution.desktop" ];
|
||||
"x-scheme-handler/mailto" = [
|
||||
"thunderbird.desktop"
|
||||
"org.gnome.Evolution.desktop"
|
||||
];
|
||||
"application/pdf" = [ "org.gnome.Evince.desktop" ];
|
||||
"text/plain" = [ "kakoune.desktop" ];
|
||||
|
||||
|
@ -154,7 +193,10 @@ in
|
|||
};
|
||||
xdg.mimeApps.defaultApplications = {
|
||||
# Email
|
||||
"x-scheme-handler/mailto" = [ "thunderbird.desktop" "org.gnome.Evolution.desktop" ];
|
||||
"x-scheme-handler/mailto" = [
|
||||
"thunderbird.desktop"
|
||||
"org.gnome.Evolution.desktop"
|
||||
];
|
||||
"x-scheme-handler/webcal" = [ "thunderbird.desktop" ];
|
||||
"x-scheme-handler/webcals" = [ "thunderbird.desktop" ];
|
||||
|
||||
|
@ -246,7 +288,10 @@ in
|
|||
## Qt
|
||||
qt.enable = true;
|
||||
qt.platformTheme.name = "kde";
|
||||
qt.platformTheme.package = with pkgs.kdePackages; [ plasma-integration systemsettings ];
|
||||
qt.platformTheme.package = with pkgs.kdePackages; [
|
||||
plasma-integration
|
||||
systemsettings
|
||||
];
|
||||
qt.style.package = [ pkgs.kdePackages.breeze ];
|
||||
qt.style.name = "Breeze";
|
||||
|
||||
|
@ -267,7 +312,8 @@ in
|
|||
};
|
||||
autoStartup = listToAttrs (map f cfg.startup);
|
||||
in
|
||||
autoStartup // {
|
||||
autoStartup
|
||||
// {
|
||||
## Polkit UI
|
||||
"autostart/polkit.desktop".text = ''
|
||||
${builtins.readFile "${pkgs.pantheon.pantheon-agent-polkit}/etc/xdg/autostart/io.elementary.desktop.agent-polkit.desktop"}
|
||||
|
@ -304,5 +350,3 @@ in
|
|||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1,40 +1,60 @@
|
|||
{ pkgs, config, lib, ... }:
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
notificationModule = { config, pkgs, lib, ... }:
|
||||
notificationModule =
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
swaync = pkgs.swaynotificationcenter;
|
||||
in
|
||||
with lib; mkIf (config.linux.graphical.type == "wayland") {
|
||||
with lib;
|
||||
mkIf (config.linux.graphical.type == "wayland") {
|
||||
services.swaync = {
|
||||
enable = true;
|
||||
settings.widgets = [ "inhibitors" "title" "dnd" "mpris" "notifications" ];
|
||||
settings.widgets = [
|
||||
"inhibitors"
|
||||
"title"
|
||||
"dnd"
|
||||
"mpris"
|
||||
"notifications"
|
||||
];
|
||||
style = ./swaync.css;
|
||||
};
|
||||
|
||||
programs.my-waybar = {
|
||||
extraSettings = [{
|
||||
modules-right = mkAfter [ "custom/swaync" ];
|
||||
modules."custom/swaync" = {
|
||||
tooltip = false;
|
||||
format = "{icon} {}";
|
||||
format-icons = {
|
||||
notification = "<span foreground='red'><sup></sup></span>";
|
||||
none = "";
|
||||
dnd-notification = "<span foreground='red'><sup></sup></span>";
|
||||
dnd-none = "";
|
||||
inhibited-notification = "<span foreground='red'><sup></sup></span>";
|
||||
inhibited-none = "";
|
||||
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span>";
|
||||
dnd-inhibited-none = "";
|
||||
extraSettings = [
|
||||
{
|
||||
modules-right = mkAfter [ "custom/swaync" ];
|
||||
modules."custom/swaync" = {
|
||||
tooltip = false;
|
||||
format = "{icon} {}";
|
||||
format-icons = {
|
||||
notification = "<span foreground='red'><sup></sup></span>";
|
||||
none = "";
|
||||
dnd-notification = "<span foreground='red'><sup></sup></span>";
|
||||
dnd-none = "";
|
||||
inhibited-notification = "<span foreground='red'><sup></sup></span>";
|
||||
inhibited-none = "";
|
||||
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span>";
|
||||
dnd-inhibited-none = "";
|
||||
};
|
||||
return-type = "json";
|
||||
# exec-if = "which swaync-client";
|
||||
exec = "${swaync}/bin/swaync-client -swb";
|
||||
on-click = "${swaync}/bin/swaync-client -t -sw";
|
||||
on-click-right = "${swaync}/bin/swaync-client -d -sw";
|
||||
escape = true;
|
||||
};
|
||||
return-type = "json";
|
||||
# exec-if = "which swaync-client";
|
||||
exec = "${swaync}/bin/swaync-client -swb";
|
||||
on-click = "${swaync}/bin/swaync-client -t -sw";
|
||||
on-click-right = "${swaync}/bin/swaync-client -d -sw";
|
||||
escape = true;
|
||||
};
|
||||
}];
|
||||
}
|
||||
];
|
||||
extraStyle = mkAfter ''
|
||||
#custom-swaync {
|
||||
background: #F0FFFF;
|
||||
|
@ -44,32 +64,43 @@ let
|
|||
};
|
||||
};
|
||||
|
||||
plasmaModule = { pkgs, ... }: {
|
||||
home.packages = with pkgs.kdePackages; [
|
||||
discover
|
||||
kmail
|
||||
kontact
|
||||
akonadi
|
||||
kdepim-runtime
|
||||
kmail-account-wizard
|
||||
akonadi-import-wizard
|
||||
];
|
||||
xdg.configFile."plasma-workspace/env/wayland.sh".source = pkgs.writeScript "plasma-wayland-env.sh" ''
|
||||
export NIXOS_OZONE_WL=1
|
||||
'';
|
||||
xdg.dataFile."dbus-1/services/org.freedesktop.Notifications.service".source = "${pkgs.kdePackages.plasma-workspace}/share/dbus-1/services/org.kde.plasma.Notifications.service";
|
||||
};
|
||||
plasmaModule =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = with pkgs.kdePackages; [
|
||||
discover
|
||||
kmail
|
||||
kontact
|
||||
akonadi
|
||||
kdepim-runtime
|
||||
kmail-account-wizard
|
||||
akonadi-import-wizard
|
||||
];
|
||||
xdg.configFile."plasma-workspace/env/wayland.sh".source =
|
||||
pkgs.writeScript "plasma-wayland-env.sh" ''
|
||||
export NIXOS_OZONE_WL=1
|
||||
'';
|
||||
xdg.dataFile."dbus-1/services/org.freedesktop.Notifications.service".source =
|
||||
"${pkgs.kdePackages.plasma-workspace}/share/dbus-1/services/org.kde.plasma.Notifications.service";
|
||||
};
|
||||
|
||||
rofi-rbw-script = pkgs.writeShellApplication {
|
||||
name = "rofi-rbw-script";
|
||||
runtimeInputs = with pkgs; [ rofi wtype rofi-rbw ];
|
||||
runtimeInputs = with pkgs; [
|
||||
rofi
|
||||
wtype
|
||||
rofi-rbw
|
||||
];
|
||||
text = "rofi-rbw";
|
||||
meta.mainProgram = "rofi-rbw-script";
|
||||
};
|
||||
in
|
||||
with lib;
|
||||
{
|
||||
imports = [ notificationModule plasmaModule ];
|
||||
imports = [
|
||||
notificationModule
|
||||
plasmaModule
|
||||
];
|
||||
config = mkIf (config.linux.graphical.type == "wayland") {
|
||||
# Additional packages
|
||||
home.packages = with pkgs; [
|
||||
|
@ -92,7 +123,12 @@ with lib;
|
|||
font = "monospace";
|
||||
terminal = "${lib.getExe config.programs.kitty.package}";
|
||||
theme = "Paper";
|
||||
plugins = with pkgs; [ rofi-bluetooth rofi-calc rofi-rbw rofi-power-menu ];
|
||||
plugins = with pkgs; [
|
||||
rofi-bluetooth
|
||||
rofi-calc
|
||||
rofi-rbw
|
||||
rofi-power-menu
|
||||
];
|
||||
};
|
||||
|
||||
home.sessionVariables = {
|
||||
|
@ -129,4 +165,3 @@ with lib;
|
|||
# };
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -1,10 +1,18 @@
|
|||
{ pkgs, config, lib, ... }:
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.linux.graphical;
|
||||
in
|
||||
with lib;
|
||||
{
|
||||
imports = [ ./x11/hidpi.nix ./x11/i3.nix ];
|
||||
imports = [
|
||||
./x11/hidpi.nix
|
||||
./x11/i3.nix
|
||||
];
|
||||
options.linux.graphical.hasDE = mkOption {
|
||||
type = types.bool;
|
||||
description = "When enabled, disable stuff that already comes with a DE";
|
||||
|
@ -43,4 +51,3 @@ with lib;
|
|||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,9 @@
|
|||
{ pkgs, config, lib, ... }:
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
let
|
||||
|
|
|
@ -1,4 +1,9 @@
|
|||
{ pkgs, config, lib, ... }:
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
let
|
||||
|
@ -18,12 +23,14 @@ let
|
|||
"10: 10"
|
||||
];
|
||||
wsAttrs = builtins.listToAttrs (
|
||||
map
|
||||
(i: { name = toString (remainder i 10); value = builtins.elemAt workspaces (i - 1); })
|
||||
(range 1 11)
|
||||
map (i: {
|
||||
name = toString (remainder i 10);
|
||||
value = builtins.elemAt workspaces (i - 1);
|
||||
}) (range 1 11)
|
||||
);
|
||||
remainder = x: y: x - (builtins.div x y) * y;
|
||||
range = from: to:
|
||||
range =
|
||||
from: to:
|
||||
let
|
||||
f = cur: if cur == to then [ ] else [ cur ] ++ f (cur + 1);
|
||||
in
|
||||
|
@ -40,27 +47,55 @@ in
|
|||
xsession.windowManager.i3 = {
|
||||
enable = true;
|
||||
config.assigns = {
|
||||
"${wsAttrs."1"}" = [{ class = "^firefox$"; }];
|
||||
"${wsAttrs."2"}" = [{ class = "^discord$"; }];
|
||||
"${wsAttrs."1"}" = [ { class = "^firefox$"; } ];
|
||||
"${wsAttrs."2"}" = [ { class = "^discord$"; } ];
|
||||
};
|
||||
config.bars = [{
|
||||
command = "${pkgs.i3-gaps}/bin/i3bar -t";
|
||||
statusCommand = "${pkgs.i3status-rust}/bin/i3status-rs ~/.config/i3status-rust/config-default.toml";
|
||||
position = "top";
|
||||
colors = {
|
||||
background = "#00000080";
|
||||
statusline = "#ffffff";
|
||||
separator = "#666666";
|
||||
config.bars = [
|
||||
{
|
||||
command = "${pkgs.i3-gaps}/bin/i3bar -t";
|
||||
statusCommand = "${pkgs.i3status-rust}/bin/i3status-rs ~/.config/i3status-rust/config-default.toml";
|
||||
position = "top";
|
||||
colors = {
|
||||
background = "#00000080";
|
||||
statusline = "#ffffff";
|
||||
separator = "#666666";
|
||||
|
||||
focusedWorkspace = { background = "#4c7899"; border = "#285577"; text = "#ffffff"; };
|
||||
activeWorkspace = { background = "#333333"; border = "#5f676a"; text = "#ffffff"; };
|
||||
inactiveWorkspace = { background = "#333333"; border = "#222222"; text = "#888888"; };
|
||||
urgentWorkspace = { background = "#2f343a"; border = "#900000"; text = "#ffffff"; };
|
||||
bindingMode = { background = "#2f343a"; border = "#900000"; text = "#ffffff"; };
|
||||
};
|
||||
}];
|
||||
focusedWorkspace = {
|
||||
background = "#4c7899";
|
||||
border = "#285577";
|
||||
text = "#ffffff";
|
||||
};
|
||||
activeWorkspace = {
|
||||
background = "#333333";
|
||||
border = "#5f676a";
|
||||
text = "#ffffff";
|
||||
};
|
||||
inactiveWorkspace = {
|
||||
background = "#333333";
|
||||
border = "#222222";
|
||||
text = "#888888";
|
||||
};
|
||||
urgentWorkspace = {
|
||||
background = "#2f343a";
|
||||
border = "#900000";
|
||||
text = "#ffffff";
|
||||
};
|
||||
bindingMode = {
|
||||
background = "#2f343a";
|
||||
border = "#900000";
|
||||
text = "#ffffff";
|
||||
};
|
||||
};
|
||||
}
|
||||
];
|
||||
config.focus.newWindow = "none";
|
||||
config.fonts = { names = [ "FantasqueSansMono Nerd Font Mono" "monospace" ]; size = 11.0; };
|
||||
config.fonts = {
|
||||
names = [
|
||||
"FantasqueSansMono Nerd Font Mono"
|
||||
"monospace"
|
||||
];
|
||||
size = 11.0;
|
||||
};
|
||||
config.gaps.outer = 5;
|
||||
config.gaps.inner = 5;
|
||||
config.gaps.smartGaps = true;
|
||||
|
@ -69,53 +104,57 @@ in
|
|||
config.window.titlebar = false;
|
||||
|
||||
# Keybindings
|
||||
config.keybindings = lib.mkOptionDefault ({
|
||||
## vim-style movements
|
||||
"${mod}+h" = "focus left";
|
||||
"${mod}+j" = "focus down";
|
||||
"${mod}+k" = "focus up";
|
||||
"${mod}+l" = "focus right";
|
||||
"${mod}+Shift+h" = "move left";
|
||||
"${mod}+Shift+j" = "move down";
|
||||
"${mod}+Shift+k" = "move up";
|
||||
"${mod}+Shift+l" = "move right";
|
||||
## Splits
|
||||
"${mod}+v" = "split v";
|
||||
"${mod}+Shift+v" = "split h";
|
||||
## Run
|
||||
"${mod}+r" = "exec ${pkgs.dmenu}/bin/dmenu_run";
|
||||
"${mod}+d" = "exec i3-dmenu-desktop --dmenu='${pkgs.dmenu}/bin/dmenu -i'";
|
||||
} // (
|
||||
builtins.listToAttrs (lib.flatten (map
|
||||
(key: [
|
||||
{
|
||||
name = "${mod}+${key}";
|
||||
value = "workspace ${builtins.getAttr key wsAttrs}";
|
||||
}
|
||||
{
|
||||
name = "${mod}+Shift+${key}";
|
||||
value = "move to workspace ${builtins.getAttr key wsAttrs}";
|
||||
}
|
||||
])
|
||||
(builtins.attrNames wsAttrs))
|
||||
)));
|
||||
config.keybindings = lib.mkOptionDefault (
|
||||
{
|
||||
## vim-style movements
|
||||
"${mod}+h" = "focus left";
|
||||
"${mod}+j" = "focus down";
|
||||
"${mod}+k" = "focus up";
|
||||
"${mod}+l" = "focus right";
|
||||
"${mod}+Shift+h" = "move left";
|
||||
"${mod}+Shift+j" = "move down";
|
||||
"${mod}+Shift+k" = "move up";
|
||||
"${mod}+Shift+l" = "move right";
|
||||
## Splits
|
||||
"${mod}+v" = "split v";
|
||||
"${mod}+Shift+v" = "split h";
|
||||
## Run
|
||||
"${mod}+r" = "exec ${pkgs.dmenu}/bin/dmenu_run";
|
||||
"${mod}+d" = "exec i3-dmenu-desktop --dmenu='${pkgs.dmenu}/bin/dmenu -i'";
|
||||
}
|
||||
// (builtins.listToAttrs (
|
||||
lib.flatten (
|
||||
map (key: [
|
||||
{
|
||||
name = "${mod}+${key}";
|
||||
value = "workspace ${builtins.getAttr key wsAttrs}";
|
||||
}
|
||||
{
|
||||
name = "${mod}+Shift+${key}";
|
||||
value = "move to workspace ${builtins.getAttr key wsAttrs}";
|
||||
}
|
||||
]) (builtins.attrNames wsAttrs)
|
||||
)
|
||||
))
|
||||
);
|
||||
|
||||
# Workspace
|
||||
config.defaultWorkspace = "workspace ${builtins.getAttr "1" wsAttrs}";
|
||||
config.startup = [
|
||||
{ command = "firefox"; }
|
||||
{ command = "discord"; }
|
||||
{ command = "dex -ae i3"; }
|
||||
{ command = "ibus-daemon -drxR"; }
|
||||
] ++
|
||||
(
|
||||
if (config.linux.graphical.wallpaper != "")
|
||||
then [{ command = "${pkgs.feh}/bin/feh --bg-fill ${config.linux.graphical.wallpaper}"; }]
|
||||
else [ ]
|
||||
);
|
||||
config.startup =
|
||||
[
|
||||
{ command = "firefox"; }
|
||||
{ command = "discord"; }
|
||||
{ command = "dex -ae i3"; }
|
||||
{ command = "ibus-daemon -drxR"; }
|
||||
]
|
||||
++ (
|
||||
if (config.linux.graphical.wallpaper != "") then
|
||||
[ { command = "${pkgs.feh}/bin/feh --bg-fill ${config.linux.graphical.wallpaper}"; } ]
|
||||
else
|
||||
[ ]
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
# i3status
|
||||
programs.i3status-rust.enable = true;
|
||||
programs.i3status-rust.bars.default = {
|
||||
|
@ -154,5 +193,3 @@ in
|
|||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1,9 +1,14 @@
|
|||
{ pkgs, config, lib, ... }:
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
{
|
||||
xsession.windowManager.i3.config = mkIf (config.linux.graphical.x11.enablei3) {
|
||||
startup = [{ command = "${pkgs.flameshot}/bin/flameshot"; }];
|
||||
startup = [ { command = "${pkgs.flameshot}/bin/flameshot"; } ];
|
||||
keybindings = mkOptionDefault { "Print" = "exec ${pkgs.flameshot}/bin/flameshot gui"; };
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue