Format using nixfmt rfc style

This commit is contained in:
Paul-Henri Froidmont 2024-08-20 22:58:24 +02:00
parent d07a224bbc
commit f6be5f8b80
Signed by: phfroidmont
GPG key ID: BE948AFD7E7873BE
37 changed files with 934 additions and 612 deletions

View file

@ -1,9 +1,13 @@
{ config, lib, pkgs, ... }:
{
config,
lib,
pkgs,
...
}:
let
wallpaper = pkgs.fetchurl {
url =
"https://raw.githubusercontent.com/AngelJumbo/gruvbox-wallpapers/main/wallpapers/irl/houseonthesideofalake.jpg";
url = "https://raw.githubusercontent.com/AngelJumbo/gruvbox-wallpapers/main/wallpapers/irl/houseonthesideofalake.jpg";
sha256 = "sha256-obKI4qZvucogqRCl51lwV9X8SRaMqcbBwWMfc9TupIo=";
};
in
@ -23,9 +27,16 @@ in
corefonts # Microsoft free fonts
noto-fonts-emoji
meslo-lg
(nerdfonts.override { fonts = [ "Meslo" "NerdFontsSymbolsOnly" ]; })
(nerdfonts.override {
fonts = [
"Meslo"
"NerdFontsSymbolsOnly"
];
})
];
fontconfig.defaultFonts = { monospace = [ "MesloLGS Nerd Font Mono" ]; };
fontconfig.defaultFonts = {
monospace = [ "MesloLGS Nerd Font Mono" ];
};
};
programs.adb.enable = true;
@ -57,7 +68,9 @@ in
key = lib.mkDefault "3AC6F170F01133CE393BCD94BE948AFD7E7873BE";
signByDefault = true;
};
extraConfig = { init.defaultBranch = "master"; };
extraConfig = {
init.defaultBranch = "master";
};
};
ssh = {
enable = true;
@ -121,10 +134,8 @@ in
"application/pdf" = "org.pwmt.zathura-pdf-mupdf.desktop";
"application/msword" = "onlyoffice-desktopeditors.desktop";
"application/vnd.openxmlformats-officedocument.presentationml.presentation" =
"onlyoffice-desktopeditors.desktop";
"application/vnd.openxmlformats-officedocument*" =
"onlyoffice-desktopeditors.desktop";
"application/vnd.openxmlformats-officedocument.presentationml.presentation" = "onlyoffice-desktopeditors.desktop";
"application/vnd.openxmlformats-officedocument*" = "onlyoffice-desktopeditors.desktop";
"text/*" = "nvim.desktop";
};
@ -139,37 +150,37 @@ in
sessionVariables.EDITOR = "vim";
packages = (with pkgs.unstable; [
brave
ungoogled-chromium
mullvad-browser
keepassxc
krita
element-desktop
swayimg
mpv
mumble
libreoffice-fresh
onlyoffice-bin
thunderbird
portfolio
gnucash
transmission-remote-gtk
monero-gui
packages =
(with pkgs.unstable; [
brave
ungoogled-chromium
mullvad-browser
keepassxc
krita
element-desktop
swayimg
mpv
mumble
libreoffice-fresh
onlyoffice-bin
thunderbird
portfolio
gnucash
transmission-remote-gtk
monero-gui
scala-cli
jdk
jetbrains.idea-community
httpie
scala-cli
jdk
jetbrains.idea-community
httpie
zsh-syntax-highlighting
R
tldr
ark
linuxPackages.perf
]) ++ [
pkgs.jellyfin-mpv-shim
];
zsh-syntax-highlighting
R
tldr
ark
linuxPackages.perf
])
++ [ pkgs.jellyfin-mpv-shim ];
};
};

View file

@ -1,11 +1,18 @@
{ config, lib, pkgs, ... }:
{
config,
lib,
pkgs,
...
}:
with lib;
with lib.my;
let cfg = config.modules.desktop.dunst;
in {
options.modules.desktop.dunst = { enable = mkBoolOpt false; };
config = mkIf cfg.enable {
let
cfg = config.modules.desktop.dunst;
in
{
options.modules.desktop.dunst = {
enable = lib.my.mkBoolOpt false;
};
config = lib.mkIf cfg.enable {
home-manager.users.${config.user.name} = {
services.dunst = {
enable = true;

View file

@ -1,11 +1,18 @@
{ config, lib, pkgs, ... }:
{
config,
lib,
pkgs,
...
}:
with lib;
with lib.my;
let cfg = config.modules.desktop.file-manager;
in {
options.modules.desktop.file-manager = { enable = mkBoolOpt false; };
config = mkIf cfg.enable {
let
cfg = config.modules.desktop.file-manager;
in
{
options.modules.desktop.file-manager = {
enable = lib.my.mkBoolOpt false;
};
config = lib.mkIf cfg.enable {
home-manager.users.${config.user.name} = {
programs.yazi = {
@ -39,11 +46,13 @@ in {
desc = "Copy files to clipboard";
}
];
input.prepend_keymap = [{
on = [ "<Esc>" ];
run = "close";
desc = "Cancel input";
}];
input.prepend_keymap = [
{
on = [ "<Esc>" ];
run = "close";
desc = "Cancel input";
}
];
};
theme = {
status = {

View file

@ -1,34 +1,44 @@
{ config, lib, pkgs, inputs, ... }:
{
config,
lib,
pkgs,
inputs,
...
}:
with lib;
with lib.my;
let cfg = config.modules.desktop.flameshot;
in {
options.modules.desktop.flameshot = { enable = mkBoolOpt false; };
config = mkIf cfg.enable {
home-manager.users.${config.user.name} = { config, ... }: {
services.flameshot = {
enable = true;
package = pkgs.flameshot.overrideAttrs (old: {
src = inputs.flameshot-git;
cmakeFlags = [ "-DUSE_WAYLAND_GRIM=1" ];
});
settings = {
General = {
showStartupLaunchMessage = false;
disabledTrayIcon = true;
showHelp = false;
showDesktopNotification = false;
filenamePattern = "%F_%T";
savePath = "${config.home.homeDirectory}/Pictures/Screenshots";
savePathFixed = true;
saveAfterCopy = true;
uiColor = "#83A598";
let
cfg = config.modules.desktop.flameshot;
in
{
options.modules.desktop.flameshot = {
enable = lib.my.mkBoolOpt false;
};
config = lib.mkIf cfg.enable {
home-manager.users.${config.user.name} =
{ config, ... }:
{
services.flameshot = {
enable = true;
package = pkgs.flameshot.overrideAttrs (old: {
src = inputs.flameshot-git;
cmakeFlags = [ "-DUSE_WAYLAND_GRIM=1" ];
});
settings = {
General = {
showStartupLaunchMessage = false;
disabledTrayIcon = true;
showHelp = false;
showDesktopNotification = false;
filenamePattern = "%F_%T";
savePath = "${config.home.homeDirectory}/Pictures/Screenshots";
savePathFixed = true;
saveAfterCopy = true;
uiColor = "#83A598";
};
};
};
};
home.packages = with pkgs.unstable; [ grim ];
home.packages = with pkgs.unstable; [ grim ];
};
};
};
}

View file

@ -1,45 +1,61 @@
{ config, lib, pkgs, ... }:
{
config,
lib,
pkgs,
...
}:
with lib;
with lib.my;
let cfg = config.modules.desktop.htop;
in {
options.modules.desktop.htop = { enable = mkBoolOpt false; };
config = mkIf cfg.enable {
home-manager.users.${config.user.name} = { config, ... }: {
programs.htop = {
enable = true;
package = pkgs.htop-vim;
settings = {
hide_userland_threads = true;
highlight_base_name = true;
vim_mode = true;
fields = with config.lib.htop.fields; [
PID
USER
M_RESIDENT
M_SHARE
STATE
PERCENT_CPU
PERCENT_MEM
IO_RATE
TIME
COMM
];
} // (with config.lib.htop;
leftMeters [
(bar "LeftCPUs2")
(bar "CPU")
(bar "Memory")
(bar "Swap")
]) // (with config.lib.htop;
rightMeters [
(bar "RightCPUs2")
(text "Tasks")
(text "LoadAverage")
(text "Uptime")
]);
let
cfg = config.modules.desktop.htop;
in
{
options.modules.desktop.htop = {
enable = lib.my.mkBoolOpt false;
};
config = lib.mkIf cfg.enable {
home-manager.users.${config.user.name} =
{ config, ... }:
{
programs.htop = {
enable = true;
package = pkgs.htop-vim;
settings =
{
hide_userland_threads = true;
highlight_base_name = true;
vim_mode = true;
fields = with config.lib.htop.fields; [
PID
USER
M_RESIDENT
M_SHARE
STATE
PERCENT_CPU
PERCENT_MEM
IO_RATE
TIME
COMM
];
}
// (
with config.lib.htop;
leftMeters [
(bar "LeftCPUs2")
(bar "CPU")
(bar "Memory")
(bar "Swap")
]
)
// (
with config.lib.htop;
rightMeters [
(bar "RightCPUs2")
(text "Tasks")
(text "LoadAverage")
(text "Uptime")
]
);
};
};
};
};
}

View file

@ -1,7 +1,10 @@
{ inputs, config, lib, pkgs, ... }:
{
config,
lib,
pkgs,
...
}:
with lib;
with lib.my;
let
cfg = config.modules.desktop.themes.gtk;
@ -9,8 +12,7 @@ let
name = "gruvbox-plus";
version = "5.1";
src = pkgs.fetchurl {
url =
"https://github.com/SylEleuth/gruvbox-plus-icon-pack/releases/download/v${version}/gruvbox-plus-icon-pack-${version}.zip";
url = "https://github.com/SylEleuth/gruvbox-plus-icon-pack/releases/download/v${version}/gruvbox-plus-icon-pack-${version}.zip";
sha256 = "1n3hqwk1mqaj8vbmy0pqbiq6v5jqrhmhin506xbpnccl28f907j0";
};
dontUnpack = true;
@ -20,10 +22,13 @@ let
'';
};
in {
options.modules.desktop.themes.gtk = { enable = mkBoolOpt false; };
in
{
options.modules.desktop.themes.gtk = {
enable = lib.my.mkBoolOpt false;
};
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
systemd.packages = [ pkgs.dconf ];
@ -48,8 +53,12 @@ in {
};
xdg.configFile = {
"gtk-3.0/gtk.css" = { source = ./gtk.css; };
"gtk-4.0/gtk.css" = { source = ./gtk.css; };
"gtk-3.0/gtk.css" = {
source = ./gtk.css;
};
"gtk-4.0/gtk.css" = {
source = ./gtk.css;
};
};
home = {

View file

@ -1,13 +1,20 @@
{ inputs, config, lib, pkgs, ... }:
{
config,
lib,
pkgs,
...
}:
with lib;
with lib.my;
let cfg = config.modules.desktop.themes.qt;
let
cfg = config.modules.desktop.themes.qt;
in {
options.modules.desktop.themes.qt = { enable = mkBoolOpt false; };
in
{
options.modules.desktop.themes.qt = {
enable = lib.my.mkBoolOpt false;
};
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
environment.systemPackages = with pkgs; [
libsForQt5.qt5.qtquickcontrols2

View file

@ -1,29 +1,32 @@
{ config, lib, pkgs, ... }:
{
config,
lib,
pkgs,
...
}:
with lib;
with lib.my;
let cfg = config.modules.desktop.vscode;
in {
let
cfg = config.modules.desktop.vscode;
in
{
options.modules.desktop.vscode = {
enable = mkBoolOpt false;
enable = lib.my.mkBoolOpt false;
};
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
home-manager.users.${config.user.name} = {
programs.vscode = {
enable = true;
package = pkgs.vscodium;
extensions = (
with pkgs.vscode-extensions; [
pkief.material-icon-theme
jnoortheen.nix-ide
arrterian.nix-env-selector
scala-lang.scala
scalameta.metals
hashicorp.terraform
bradlc.vscode-tailwindcss
asciidoctor.asciidoctor-vscode
]
);
extensions = with pkgs.vscode-extensions; [
pkief.material-icon-theme
jnoortheen.nix-ide
arrterian.nix-env-selector
scala-lang.scala
scalameta.metals
hashicorp.terraform
bradlc.vscode-tailwindcss
asciidoctor.asciidoctor-vscode
];
userSettings = {
"editor.formatOnSave" = true;
"editor.quickSuggestions" = {
@ -33,8 +36,14 @@ in {
"scala" = "html";
};
"tailwindCSS.experimental.classRegex" = [
[ "cls\\(([^)]*)\\)" "\"([^']*)\"" ]
[ "cls\\s*:=\\s*\\(?([^,^\\n^\\)]*)" "\"([^']*)\"" ]
[
"cls\\(([^)]*)\\)"
"\"([^']*)\""
]
[
"cls\\s*:=\\s*\\(?([^,^\\n^\\)]*)"
"\"([^']*)\""
]
];
"files.autoSave" = "onFocusChange";
@ -50,9 +59,7 @@ in {
"terraform.languageServer" = {
"external" = true;
"pathToBinary" = "";
"args" = [
"serve"
];
"args" = [ "serve" ];
"maxNumberOfProblems" = 100;
"trace.server" = "off";
};

View file

@ -1,18 +1,20 @@
{ options, config, lib, pkgs, ... }:
with lib;
with lib.my;
{
config,
lib,
pkgs,
...
}:
let
cfg = config.modules.desktop.wm;
term = "${
config.home-manager.users.${config.user.name}.programs.kitty.package
}/bin/kitty";
term = "${config.home-manager.users.${config.user.name}.programs.kitty.package}/bin/kitty";
in
{
options.modules.desktop.wm = { enable = mkBoolOpt false; };
options.modules.desktop.wm = {
enable = lib.my.mkBoolOpt false;
};
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
modules = {
desktop = {
@ -28,7 +30,9 @@ in
htop.enable = true;
flameshot.enable = true;
};
hardware = { audio.enable = true; };
hardware = {
audio.enable = true;
};
apps.rofi.enable = true;
};
@ -113,14 +117,20 @@ in
wayland.windowManager.hyprland = {
enable = true;
package = pkgs.unstable.hyprland;
systemd.enable = true;
xwayland.enable = true;
settings = {
"$mod" = "SUPER";
env = [ "XCURSOR_SIZE,24" "WLR_NO_HARDWARE_CURSORS,1" ];
env = [
"XCURSOR_SIZE,24"
"WLR_NO_HARDWARE_CURSORS,1"
];
xwayland = { force_zero_scaling = true; };
xwayland = {
force_zero_scaling = true;
};
general = {
layout = "dwindle";
@ -134,7 +144,9 @@ in
hover_icon_on_border = false;
};
dwindle = { preserve_split = true; };
dwindle = {
preserve_split = true;
};
input = {
kb_layout = "fr";
@ -294,9 +306,19 @@ in
height = 25;
spacing = 2;
reload-style-on-change = true;
modules-left = [ "cpu" "memory" "disk" "hyprland/window" ];
modules-left = [
"cpu"
"memory"
"disk"
"hyprland/window"
];
modules-center = [ "hyprland/workspaces" ];
modules-right = [ "mpd" "battery" "clock" "tray" ];
modules-right = [
"mpd"
"battery"
"clock"
"tray"
];
tray = {
icon-size = 14;
@ -391,7 +413,11 @@ in
};
home = {
packages = with pkgs.unstable; [ wlr-randr wl-clipboard wdisplays ];
packages = with pkgs.unstable; [
wlr-randr
wl-clipboard
wdisplays
];
};
programs.swaylock = {

View file

@ -1,67 +1,95 @@
{ config, lib, pkgs, ... }:
{
config,
lib,
pkgs,
...
}:
let cfg = config.modules.desktop.zsh;
in {
options.modules.desktop.zsh = { enable = lib.my.mkBoolOpt false; };
let
cfg = config.modules.desktop.zsh;
in
{
options.modules.desktop.zsh = {
enable = lib.my.mkBoolOpt false;
};
config = lib.mkIf cfg.enable {
environment.pathsToLink = [ "/share/zsh" ];
programs.zsh.enable = true;
users.users.${config.user.name} = { shell = pkgs.zsh; };
users.users.${config.user.name} = {
shell = pkgs.zsh;
};
home-manager.users.${config.user.name} = {
programs.zsh = {
enable = true;
history = {
save = 50000;
size = 50000;
};
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
initExtra = /*bash*/''
autoload -Uz up-line-or-beginning-search down-line-or-beginning-search
zle -N up-line-or-beginning-search
zle -N down-line-or-beginning-search
[[ -n "$key[Up]" ]] && bindkey -- "$key[Up]" up-line-or-beginning-search
[[ -n "$key[Down]" ]] && bindkey -- "$key[Down]" down-line-or-beginning-search
'';
oh-my-zsh = {
programs = {
zsh = {
enable = true;
plugins = [ "git" "terraform" "systemd" ];
};
plugins = [
{
name = "nix-zsh-completions";
src = pkgs.nix-zsh-completions;
}
{
name = "zsh-completions";
src = pkgs.zsh-completions;
}
];
};
programs.thefuck = {
enable = true;
enableZshIntegration = true;
};
programs.starship = {
enable = true;
enableZshIntegration = true;
settings = {
add_newline = true;
cmd_duration = {
min_time = 0;
show_milliseconds = true;
history = {
save = 50000;
size = 50000;
};
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
initExtra = # bash
''
autoload -Uz up-line-or-beginning-search down-line-or-beginning-search
zle -N up-line-or-beginning-search
zle -N down-line-or-beginning-search
[[ -n "$key[Up]" ]] && bindkey -- "$key[Up]" up-line-or-beginning-search
[[ -n "$key[Down]" ]] && bindkey -- "$key[Down]" down-line-or-beginning-search
'';
oh-my-zsh = {
enable = true;
plugins = [
"git"
"terraform"
"systemd"
];
};
plugins = [
{
name = "nix-zsh-completions";
src = pkgs.nix-zsh-completions;
}
{
name = "zsh-completions";
src = pkgs.zsh-completions;
}
];
};
thefuck = {
enable = true;
enableZshIntegration = true;
};
starship = {
enable = true;
enableZshIntegration = true;
settings = {
add_newline = true;
cmd_duration = {
min_time = 0;
show_milliseconds = true;
};
scala = {
symbol = " ";
};
terraform = {
symbol = "󱁢 ";
};
nix_shell = {
symbol = "󱄅 ";
};
nodejs = {
symbol = " ";
};
php = {
symbol = " ";
};
};
scala = { symbol = " "; };
terraform = { symbol = "󱁢 "; };
nix_shell = { symbol = "󱄅 "; };
nodejs = { symbol = " "; };
php = { symbol = " "; };
};
};
};