format all code with alejandra

This commit is contained in:
Antoine Martin 2022-04-10 11:54:58 +02:00
parent fa0cda2673
commit 4f0d45e4d5
89 changed files with 1605 additions and 1298 deletions

View file

@ -1,14 +1,18 @@
{ config, lib, pkgs, ... }:
let
inherit (lib)
{
config,
lib,
pkgs,
...
}: let
inherit
(lib)
mkEnableOption
mkIf
;
;
cfg = config.my.home.x.cursor;
in
{
options.my.home.x.cursor.enable = (mkEnableOption "X cursor") // { default = config.my.home.x.enable; };
in {
options.my.home.x.cursor.enable = (mkEnableOption "X cursor") // {default = config.my.home.x.enable;};
config = mkIf cfg.enable {
xsession.pointerCursor = {

View file

@ -1,10 +1,14 @@
{ config, lib, pkgs, ... }:
let
inherit (lib)
mkEnableOption
;
in
{
config,
lib,
pkgs,
...
}: let
inherit
(lib)
mkEnableOption
;
in {
imports = [
./cursor.nix
./i3.nix

View file

@ -1,9 +1,14 @@
{ config, lib, pkgs, ... }:
let
inherit (lib)
{
config,
lib,
pkgs,
...
}: let
inherit
(lib)
mkIf
mkOptionDefault
;
;
isEnabled = config.my.home.x.enable;
@ -20,14 +25,13 @@ let
logoutMode = "[L]ogout, [S]uspend, [P]oweroff, [R]eboot";
i3Theme = config.my.theme.i3Theme;
in
{
in {
config = mkIf isEnabled {
my.home = {
flameshot.enable = true;
};
home.packages = [ pkgs.betterlockscreen ];
home.packages = [pkgs.betterlockscreen];
xsession.windowManager.i3 = {
enable = true;
@ -35,39 +39,38 @@ in
config = {
inherit modifier;
bars =
let
barConfigPath =
config.xdg.configFile."i3status-rust/config-top.toml".target;
in
[
{
statusCommand = "i3status-rs ${barConfigPath}";
position = "top";
fonts = {
names = [ "DejaVuSansMono" "FontAwesome5Free" ];
size = 9.0;
};
bars = let
barConfigPath =
config.xdg.configFile."i3status-rust/config-top.toml".target;
in [
{
statusCommand = "i3status-rs ${barConfigPath}";
position = "top";
fonts = {
names = ["DejaVuSansMono" "FontAwesome5Free"];
size = 9.0;
};
colors = i3Theme.bar;
colors = i3Theme.bar;
trayOutput = "primary";
trayOutput = "primary";
# disable mouse scroll wheel in bar
extraConfig = ''
bindsym button4 nop
bindsym button5 nop
'';
}
];
# disable mouse scroll wheel in bar
extraConfig = ''
bindsym button4 nop
bindsym button5 nop
'';
}
];
colors = {
inherit (i3Theme)
inherit
(i3Theme)
focused
focusedInactive
unfocused
urgent
;
;
};
focus = {
@ -78,7 +81,7 @@ in
workspaceAutoBackAndForth = true;
fonts = {
names = [ "DejaVu Sans Mono" ];
names = ["DejaVu Sans Mono"];
size = 8.0;
};
@ -104,40 +107,44 @@ in
"${modifier}+d" = "exec ${pkgs.rofi}/bin/rofi -show run";
};
modes =
let
makeModeBindings = attrs: attrs // {
modes = let
makeModeBindings = attrs:
attrs
// {
"Escape" = "mode default";
"Return" = "mode default";
};
in
mkOptionDefault {
"${logoutMode}" = makeModeBindings {
"l" = "exec --no-startup-id i3-msg exit, mode default";
"s" = "exec --no-startup-id betterlockscreen --suspend, mode default";
"p" = "exec --no-startup-id systemctl poweroff, mode default";
"r" = "exec --no-startup-id systemctl reboot, mode default";
};
in
mkOptionDefault {
"${logoutMode}" = makeModeBindings {
"l" = "exec --no-startup-id i3-msg exit, mode default";
"s" = "exec --no-startup-id betterlockscreen --suspend, mode default";
"p" = "exec --no-startup-id systemctl poweroff, mode default";
"r" = "exec --no-startup-id systemctl reboot, mode default";
};
};
terminal = myTerminal;
assigns = {
"10" = [
{ class = "Slack"; }
{ class = "discord"; }
{class = "Slack";}
{class = "discord";}
];
};
window.commands = [
{ command = "border pixel 2"; criteria = { class = "Alacritty"; }; }
{
command = "border pixel 2";
criteria = {class = "Alacritty";};
}
# NOTE: should be done with an assign command, but Spotify doesn't set
# its class until after initialization, so has to be done this way.
#
# See https://i3wm.org/docs/userguide.html#assign_workspace
{
criteria = { class = "Spotify"; };
criteria = {class = "Spotify";};
command = "move --no-auto-back-and-forth to workspace 8";
}
];

View file

@ -1,18 +1,22 @@
{ config, lib, pkgs, ... }:
let
inherit (lib)
{
config,
lib,
pkgs,
...
}: let
inherit
(lib)
lists
mkIf
mkOption
optional
types
;
;
isEnabled = config.my.home.x.enable;
i3BarTheme = config.my.theme.i3BarTheme;
cfg = config.my.home.x.i3bar;
in
{
in {
options.my.home.x.i3bar = {
temperature.chip = mkOption {
type = types.str;
@ -27,17 +31,19 @@ in
networking.throughput_interfaces = mkOption {
type = types.listOf types.str;
example = [ "wlp1s0" ];
default = [ ];
example = ["wlp1s0"];
default = [];
};
};
config = mkIf isEnabled {
home.packages = builtins.attrValues {
inherit (pkgs)
inherit
(pkgs)
# FIXME: is this useful?
font-awesome
;
;
};
programs.i3status-rust = {
@ -49,81 +55,86 @@ in
theme = i3BarTheme.theme.name;
settings = i3BarTheme;
blocks = [
{
block = "pomodoro";
length = 60;
break_length = 10;
notifier = "i3nag";
}
{
block = "disk_space";
path = "/";
alias = "/";
info_type = "available";
unit = "GB";
interval = 60;
warning = 20.0;
alert = 10.0;
}
{
block = "memory";
display_type = "memory";
format_mem = "{mem_used;G}/{mem_total;G}";
warning_mem = 70.0;
critical_mem = 90.0;
# don't show swap
clickable = false;
}
{
block = "cpu";
interval = 1;
format = "{barchart}";
}
{
block = "temperature";
collapsed = false;
interval = 10;
format = "{max}";
chip = cfg.temperature.chip;
inputs = cfg.temperature.inputs;
}
] ++ (lists.optionals ((builtins.length cfg.networking.throughput_interfaces) != 0)
(map
(interface:
{
blocks =
[
{
block = "pomodoro";
length = 60;
break_length = 10;
notifier = "i3nag";
}
{
block = "disk_space";
path = "/";
alias = "/";
info_type = "available";
unit = "GB";
interval = 60;
warning = 20.0;
alert = 10.0;
}
{
block = "memory";
display_type = "memory";
format_mem = "{mem_used;G}/{mem_total;G}";
warning_mem = 70.0;
critical_mem = 90.0;
# don't show swap
clickable = false;
}
{
block = "cpu";
interval = 1;
format = "{barchart}";
}
{
block = "temperature";
collapsed = false;
interval = 10;
format = "{max}";
chip = cfg.temperature.chip;
inputs = cfg.temperature.inputs;
}
]
++ (
lists.optionals ((builtins.length cfg.networking.throughput_interfaces) != 0)
(map
(interface: {
block = "net";
device = interface;
interval = 1;
hide_inactive = true;
})
cfg.networking.throughput_interfaces)
) ++ [
{
block = "networkmanager";
primary_only = true;
}
{
block = "sound";
driver = "pulseaudio";
}
] ++ (optional config.my.home.laptop.enable
{
block = "battery";
}
) ++ [
# {
# block = "notify";
# }
{
block = "time";
interval = 5;
format = "%a %d/%m %T";
locale = "fr_FR";
timezone = "Europe/Paris";
}
];
cfg.networking.throughput_interfaces)
)
++ [
{
block = "networkmanager";
primary_only = true;
}
{
block = "sound";
driver = "pulseaudio";
}
]
++ (
optional config.my.home.laptop.enable
{
block = "battery";
}
)
++ [
# {
# block = "notify";
# }
{
block = "time";
interval = 5;
format = "%a %d/%m %T";
locale = "fr_FR";
timezone = "Europe/Paris";
}
];
};
};
};