This commit is contained in:
Hadi 2024-10-06 18:49:52 +02:00
parent 23dcfd5290
commit 905cc9a885
75 changed files with 326 additions and 1325 deletions

View File

@ -1,4 +1,4 @@
{ pkgs, config, ... }: {
{ pkgs, ... }: {
home.packages = with pkgs; [ neofetch ];
xdg.configFile."neofetch/ascii.txt".text = ''
@ -109,9 +109,6 @@
song_format="%artist% - %album% - %title%"
song_shorthand="off"
mpc_args=()
colors=(${toString config.var.theme.colors.accentNumber} 1 ${
toString config.var.theme.colors.accentNumber
} ${toString config.var.theme.colors.accentNumber} 7)
bold="on"
underline_enabled="on"
underline_char="-"

View File

@ -1,4 +1,4 @@
{ pkgs, config, ... }:
{ pkgs, ... }:
let
nerdfetch = pkgs.writeShellScriptBin "nerdfetch" ''
ostype="$(uname)"
@ -345,9 +345,9 @@ let
## USER VARIABLES -- YOU CAN CHANGE THESE
lc="$reset$bold''$${config.var.theme.colors.accentName}" # labels
nc="$reset$bold''$${config.var.theme.colors.accentName}" # labels
hn="$reset$bold''$${config.var.theme.colors.accentName}" # labels
lc="$reset$bold$magenta" # labels
nc="$reset$bold$magenta" # labels
hn="$reset$bold$magenta" # labels
ic="$reset$white" # info
c0="$reset$grey" # first color
c1="$reset$white" # second color

View File

@ -165,16 +165,16 @@
action = "<cmd>lua require('telescope.builtin').spell_suggest()<cr>";
options.desc = "Spell Suggest";
}
{
key = "<leader>st";
action = "<cmd>lua require('telescope.builtin').treesitter()<cr>";
options.desc = "Treesitter";
}
{
key = "<leader>sr";
action = "<cmd>:noh<return><esc>";
options.desc = "Reset search";
}
{
key = "<leader>st";
action = "<cmd>TodoTelescope<cr>";
options.desc = "Todos";
}
# Trouble
{

View File

@ -1,9 +1,9 @@
{ config, ... }: {
programs.nixvim.highlight = {
AlphaHeaderColor.fg = "#${config.var.theme.colors.accent}";
AlphaTextColor.fg = "#${config.var.theme.colors.fg}";
AlphaShortcutColor.fg = "#${config.var.theme.colors.fgalt}";
AlphaHeaderColor.fg = "#${config.lib.stylix.colors.base0D}";
AlphaTextColor.fg = "#${config.lib.stylix.colors.base05}";
AlphaShortcutColor.fg = "#${config.lib.stylix.colors.base03}";
};
programs.nixvim.plugins.alpha = {

View File

@ -3,9 +3,9 @@
programs.nixvim = {
highlight = {
Headline.bg = "#${config.var.theme.colors.bgalt}";
Headline.bg = "#${config.lib.stylix.colors.base0D}";
Headline.bold = true;
Headline1.bg = "#${config.var.theme.colors.c0}";
Headline1.bg = "#${config.lib.stylix.colors.base01}";
Headline1.bold = true;
};
plugins = {

View File

@ -1,7 +1,7 @@
{ config, ... }: {
programs.nixvim = {
highlightOverride = {
FloatBorder.fg = "#${config.var.theme.colors.accent}";
FloatBorder.fg = "#${config.lib.stylix.colors.base0D}";
};
plugins = {
copilot-vim.enable = true;
@ -15,6 +15,7 @@
enable = true;
extensions.fzf-native = { enable = true; };
};
todo-comments.enable = true;
treesitter = {
enable = true;
nixGrammars = true;

View File

@ -7,10 +7,10 @@ let
"openLinksInNewTab": false,
"locale": "fr-FR",
"colors": {
"primary": "#${config.var.theme.colors.accent}",
"background": "#${config.var.theme.colors.bg}",
"foreground": "#${config.var.theme.colors.fg}",
"muted": "#${config.var.theme.colors.c8}"
"primary": "#${config.lib.stylix.colors.base0D}",
"background": "#${config.lib.stylix.colors.base00}",
"foreground": "#${config.lib.stylix.colors.base05}",
"muted": "#${config.lib.stylix.colors.base03}"
},
"folders": [
{
@ -73,7 +73,7 @@ let
in {
imports = [ ./duckduckgo-colorscheme.nix ];
# imports = [ ./duckduckgo-colorscheme.nix ];
programs.qutebrowser = {
enable = true;

View File

@ -1,11 +1,4 @@
{
imports = [
./fzf.nix
./zsh.nix
./starship.nix
./zoxide.nix
./tmux.nix
./lazygit.nix
./eza.nix
];
imports =
[ ./fzf.nix ./zsh.nix ./starship.nix ./zoxide.nix ./tmux.nix ./eza.nix ];
}

View File

@ -1,13 +0,0 @@
{ config, ... }: {
programs.lazygit = {
enable = true;
settings = {
gui.theme = {
ligthTheme = false;
activeBorderColor = [ "${config.var.theme.colors.accentName}" "bold" ];
inactiveBorderColor = [ "black" ];
selectedLineBgColor = [ "default" ];
};
};
};
}

View File

@ -10,10 +10,10 @@
"$git_status"
"$character"
];
directory = { style = "#${config.var.theme.colors.accent}"; };
directory = { style = "#${config.lib.stylix.colors.base0D}"; };
character = {
success_symbol = "[](#${config.var.theme.colors.accent})";
success_symbol = "[](#${config.lib.stylix.colors.base0D})";
error_symbol = "[](red)";
vimcmd_symbol = "[](cyan)";
};

View File

@ -6,131 +6,130 @@
style.name = "gtk2";
};
gtk = {
enable = true;
theme = { name = "FlatColor"; };
iconTheme = {
package = pkgs.kora-icon-theme;
name = "Kora";
};
font = {
name = config.var.theme.font;
size = config.var.theme.font-size;
};
gtk3.extraConfig = {
Settings = ''
gtk-application-prefer-dark-theme=1
'';
};
gtk4.extraConfig = {
Settings = ''
gtk-application-prefer-dark-theme=1
'';
};
};
home.pointerCursor = {
gtk.enable = true;
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Classic";
size = 14;
};
home.file = {
".local/share/themes/FlatColor" = {
recursive = true;
source = pkgs.stdenv.mkDerivation {
name = "FlatColor";
src = pkgs.fetchFromGitHub {
owner = "jasperro";
repo = "FlatColor";
rev = "0a56c50e8c5e2ad35f6174c19a00e01b30874074";
hash = "sha256-P8RnYTk9Z1rCBEEMLTVRrNr5tUM/Pc9dsdMtpHd1Y18=";
};
buildPhase = ''
mkdir -p $out
# delete the default gtk-color-scheme:
file="./gtk-2.0/gtkrc"
sed -i '3,29d' $file
sed -i '3i include "../colors2"' $file
file="./gtk-3.0/gtk.css"
sed -i '2,10d' $file
sed -i '2i @import url("../colors3");' $file
file="./gtk-3.20/gtk.css"
sed -i '2,26d' $file
sed -i '2i @import url("../colors3");' $file
cp -r . $out
'';
};
};
".local/share/themes/FlatColor/colors2".text = ''
bg_color:#${config.var.theme.colors.bg}
color0:#${config.var.theme.colors.c0}
color1:#${config.var.theme.colors.c1}
color2:#${config.var.theme.colors.c2}
color3:#${config.var.theme.colors.c3}
color4:#${config.var.theme.colors.c4}
color5:#${config.var.theme.colors.c5}
color6:#${config.var.theme.colors.c6}
color7:#${config.var.theme.colors.c7}
color8:#${config.var.theme.colors.c8}
color9:#${config.var.theme.colors.c9}
color10:#${config.var.theme.colors.c10}
color11:#${config.var.theme.colors.c11}
color12:#${config.var.theme.colors.c12}
color13:#${config.var.theme.colors.c13}
color14:#${config.var.theme.colors.c14}
color15:#${config.var.theme.colors.c15}
text_color:#${config.var.theme.colors.fg}
selected_bg_color:#${config.var.theme.colors.accent}
selected_fg_color:#${config.var.theme.colors.accentFg}
tooltip_bg_color:#${config.var.theme.colors.bgalt}
tooltip_fg_color:#${config.var.theme.colors.fgalt}
titlebar_bg_color:#${config.var.theme.colors.bgalt}
titlebar_fg_color:#${config.var.theme.colors.fgalt}
menu_bg_color:#${config.var.theme.colors.bgalt}
menu_fg_color:#${config.var.theme.colors.fgalt}
link_color:#${config.var.theme.colors.accent}
'';
".local/share/themes/FlatColor/colors3".text = ''
@define-color color0 #${config.var.theme.colors.c0};
@define-color color1 #${config.var.theme.colors.c1};
@define-color color2 #${config.var.theme.colors.c2};
@define-color color3 #${config.var.theme.colors.c3};
@define-color color4 #${config.var.theme.colors.c4};
@define-color color5 #${config.var.theme.colors.c5};
@define-color color6 #${config.var.theme.colors.c6};
@define-color color7 #${config.var.theme.colors.c7};
@define-color color8 #${config.var.theme.colors.c8};
@define-color color9 #${config.var.theme.colors.c9};
@define-color color10 #${config.var.theme.colors.c10};
@define-color color11 #${config.var.theme.colors.c11};
@define-color color12 #${config.var.theme.colors.c12};
@define-color color13 #${config.var.theme.colors.c13};
@define-color color14 #${config.var.theme.colors.c14};
@define-color color15 #${config.var.theme.colors.c15};
@define-color selected_bg_color #${config.var.theme.colors.accent};
@define-color selected_fg_color #${config.var.theme.colors.accentFg};
@define-color bg_color #${config.var.theme.colors.bg};
@define-color fg_color #${config.var.theme.colors.fg};
@define-color base_color @bg_color;
@define-color text_color @fg_color;
@define-color text_color_disabled mix(@text_color, @base_color, 0.4);
@define-color tooltip_bg_color #${config.var.theme.colors.bgalt};
@define-color tooltip_fg_color #${config.var.theme.colors.fgalt};
'';
};
gtk = { enable = true; };
#
# theme = { name = "FlatColor"; };
#
# iconTheme = {
# package = pkgs.kora-icon-theme;
# name = "Kora";
# };
#
# font = {
# name = config.var.theme.font;
# size = config.var.theme.font-size;
# };
#
# gtk3.extraConfig = {
# Settings = ''
# gtk-application-prefer-dark-theme=1
# '';
# };
#
# gtk4.extraConfig = {
# Settings = ''
# gtk-application-prefer-dark-theme=1
# '';
# };
# };
#
# home.pointerCursor = {
# gtk.enable = true;
# package = pkgs.bibata-cursors;
# name = "Bibata-Modern-Classic";
# size = 14;
# };
#
# home.file = {
# ".local/share/themes/FlatColor" = {
# recursive = true;
# source = pkgs.stdenv.mkDerivation {
# name = "FlatColor";
#
# src = pkgs.fetchFromGitHub {
# owner = "jasperro";
# repo = "FlatColor";
# rev = "0a56c50e8c5e2ad35f6174c19a00e01b30874074";
# hash = "sha256-P8RnYTk9Z1rCBEEMLTVRrNr5tUM/Pc9dsdMtpHd1Y18=";
# };
#
# buildPhase = ''
# mkdir -p $out
# # delete the default gtk-color-scheme:
# file="./gtk-2.0/gtkrc"
# sed -i '3,29d' $file
# sed -i '3i include "../colors2"' $file
#
# file="./gtk-3.0/gtk.css"
# sed -i '2,10d' $file
# sed -i '2i @import url("../colors3");' $file
#
# file="./gtk-3.20/gtk.css"
# sed -i '2,26d' $file
# sed -i '2i @import url("../colors3");' $file
#
# cp -r . $out
# '';
# };
# };
#
# ".local/share/themes/FlatColor/colors2".text = ''
# bg_color:#${config.var.theme.colors.bg}
# color0:#${config.var.theme.colors.c0}
# color1:#${config.var.theme.colors.c1}
# color2:#${config.var.theme.colors.c2}
# color3:#${config.var.theme.colors.c3}
# color4:#${config.var.theme.colors.c4}
# color5:#${config.var.theme.colors.c5}
# color6:#${config.var.theme.colors.c6}
# color7:#${config.var.theme.colors.c7}
# color8:#${config.var.theme.colors.c8}
# color9:#${config.var.theme.colors.c9}
# color10:#${config.var.theme.colors.c10}
# color11:#${config.var.theme.colors.c11}
# color12:#${config.var.theme.colors.c12}
# color13:#${config.var.theme.colors.c13}
# color14:#${config.var.theme.colors.c14}
# color15:#${config.var.theme.colors.c15}
# text_color:#${config.var.theme.colors.fg}
# selected_bg_color:#${config.var.theme.colors.accent}
# selected_fg_color:#${config.var.theme.colors.accentFg}
# tooltip_bg_color:#${config.var.theme.colors.bgalt}
# tooltip_fg_color:#${config.var.theme.colors.fgalt}
# titlebar_bg_color:#${config.var.theme.colors.bgalt}
# titlebar_fg_color:#${config.var.theme.colors.fgalt}
# menu_bg_color:#${config.var.theme.colors.bgalt}
# menu_fg_color:#${config.var.theme.colors.fgalt}
# link_color:#${config.var.theme.colors.accent}
# '';
#
# ".local/share/themes/FlatColor/colors3".text = ''
# @define-color color0 #${config.var.theme.colors.c0};
# @define-color color1 #${config.var.theme.colors.c1};
# @define-color color2 #${config.var.theme.colors.c2};
# @define-color color3 #${config.var.theme.colors.c3};
# @define-color color4 #${config.var.theme.colors.c4};
# @define-color color5 #${config.var.theme.colors.c5};
# @define-color color6 #${config.var.theme.colors.c6};
# @define-color color7 #${config.var.theme.colors.c7};
# @define-color color8 #${config.var.theme.colors.c8};
# @define-color color9 #${config.var.theme.colors.c9};
# @define-color color10 #${config.var.theme.colors.c10};
# @define-color color11 #${config.var.theme.colors.c11};
# @define-color color12 #${config.var.theme.colors.c12};
# @define-color color13 #${config.var.theme.colors.c13};
# @define-color color14 #${config.var.theme.colors.c14};
# @define-color color15 #${config.var.theme.colors.c15};
# @define-color selected_bg_color #${config.var.theme.colors.accent};
# @define-color selected_fg_color #${config.var.theme.colors.accentFg};
#
# @define-color bg_color #${config.var.theme.colors.bg};
# @define-color fg_color #${config.var.theme.colors.fg};
# @define-color base_color @bg_color;
# @define-color text_color @fg_color;
# @define-color text_color_disabled mix(@text_color, @base_color, 0.4);
# @define-color tooltip_bg_color #${config.var.theme.colors.bgalt};
# @define-color tooltip_fg_color #${config.var.theme.colors.fgalt};
# '';
# };
}

View File

@ -4,7 +4,7 @@
./hyprlock.nix
./hypridle.nix
./hyprpaper.nix
./hyprcursor.nix
# ./hyprcursor.nix
./hyprpanel.nix
];

View File

@ -1,7 +1,4 @@
{ pkgs, ... }: {
# wayland.windowManager.hyprland.settings.exec-once =
# [ "${pkgs.hypridle}/bin/hypridle" ];
services.hypridle = {
enable = true;
settings = {

View File

@ -1,5 +1,6 @@
{ config, ... }: {
{ config, ... }:
let foreground = "rgba(216, 222, 233, 0.70)";
in {
programs.hyprlock = {
enable = true;
settings = {
@ -12,10 +13,10 @@
# BACKGROUND
background = {
monitor = "";
path = "~/wallpapers/${config.var.theme.wallpaper}";
path = toString config.stylix.image;
blur_passes = 0;
contrast = 0.8916;
brightness = 0.8172;
brightness = 0.7172;
vibrancy = 0.1696;
vibrancy_darkness = 0.0;
};
@ -25,9 +26,9 @@
# Day-Month-Date
monitor = "";
text = ''cmd[update:1000] echo -e "$(date +"%A, %B %d")"'';
color = "rgba(216, 222, 233, .7)";
color = foreground;
font_size = 28;
font_family = "SFProDisplay Nerd Font Bold";
font_family = config.stylix.fonts.serif.name + " Bold";
position = "0, 490";
halign = "center";
valign = "center";
@ -36,7 +37,7 @@
{
monitor = "";
text = ''cmd[update:1000] echo "<span>$(date +"%I:%M")</span>"'';
color = "rgba(216, 222, 233, .7)";
color = foreground;
font_size = 160;
font_family = "steelfish outline regular";
position = "0, 370";
@ -47,34 +48,19 @@
{
monitor = "";
text = " $USER";
color = "rgba(216, 222, 233, 0.80)";
color = foreground;
outline_thickness = 2;
dots_size = 0.2; # Scale of input-field height, 0.2 - 0.8
dots_spacing = 0.2; # Scale of dots' absolute size, 0.0 - 1.0
dots_center = true;
font_size = 18;
font_family = "SFProDisplay Nerd Font Bold";
font_family = config.stylix.fonts.serif.name + " Bold";
position = "0, -180";
halign = "center";
valign = "center";
}
];
# Foreground
# image = [{
# monitor = "";
# path = "~/.config/hypr/foreground.png";
# size = 700;
# border_size = 0;
# rounding = 0;
# rotate = 0;
# reload_time = 0;
# reload_cmd = "";
# position = "0, -66";
# halign = "center";
# valign = "center";
# }];
# INPUT FIELD
input-field = [{
monitor = "";
@ -85,11 +71,10 @@
dots_center = true;
outer_color = "rgba(255, 255, 255, 0)";
inner_color = "rgba(255, 255, 255, 0.1)";
font_color = "rgb(200, 200, 200)";
font_color = foreground;
fade_on_empty = false;
font_family = "SFProDisplay Nerd Font Bold";
placeholder_text =
''<i><span foreground="##ffffff99">🔒 Enter Pass</span></i>'';
font_family = config.stylix.fonts.serif.name + " Bold";
placeholder_text = "<i>🔒 Enter Pass</i>";
hide_input = false;
position = "0, -250";
halign = "center";

View File

@ -67,7 +67,7 @@
]
}
},
"theme.font.name": "${config.var.theme.font}",
"theme.font.name": "${config.stylix.fonts.serif.name}",
"theme.font.size": "${toString config.var.theme.bar.font-size}px",
"theme.bar.outer_spacing": "${
if config.var.theme.bar.floating
@ -96,9 +96,9 @@
"theme.bar.buttons.padding_x": "0.8rem",
"theme.bar.buttons.padding_y": "0.4rem",
"theme.bar.buttons.workspaces.hover": "#${config.var.theme.colors.accentalt}",
"theme.bar.buttons.workspaces.active": "#${config.var.theme.colors.accent}",
"theme.bar.buttons.workspaces.available": "#${config.var.theme.colors.bg}",
"theme.bar.buttons.workspaces.hover": "#${config.lib.stylix.colors.base0A}",
"theme.bar.buttons.workspaces.active": "#${config.lib.stylix.colors.base0D}",
"theme.bar.buttons.workspaces.available": "#${config.lib.stylix.colors.base00}",
"theme.bar.margin_top": "1.0em",
"theme.bar.margin_sides": "${toString config.var.theme.gaps-out}px",
@ -168,61 +168,61 @@
"theme.bar.menus.monochrome": true,
"wallpaper.enable": false,
"theme.bar.menus.background": "#${config.var.theme.colors.bg}",
"theme.bar.menus.cards": "#${config.var.theme.colors.bgalt}",
"theme.bar.menus.background": "#${config.lib.stylix.colors.base00}",
"theme.bar.menus.cards": "#${config.lib.stylix.colors.base01}",
"theme.bar.menus.card_radius": "${
toString config.var.theme.rounding
}px",
"theme.bar.menus.label": "#${config.var.theme.colors.fg}",
"theme.bar.menus.text": "#${config.var.theme.colors.fg}",
"theme.bar.menus.label": "#${config.lib.stylix.colors.base05}",
"theme.bar.menus.text": "#${config.lib.stylix.colors.base05}",
"theme.bar.menus.border.size": "${
toString config.var.theme.border-size
}px",
"theme.bar.menus.border.color": "#${config.var.theme.colors.accent}",
"theme.bar.menus.border.color": "#${config.lib.stylix.colors.base0D}",
"theme.bar.menus.border.radius": "${
toString config.var.theme.rounding
}px",
"theme.bar.menus.popover.text": "#${config.var.theme.colors.fg}",
"theme.bar.menus.popover.background": "#${config.var.theme.colors.bgalt}",
"theme.bar.menus.listitems.active": "#${config.var.theme.colors.accent}",
"theme.bar.menus.icons.active": "#${config.var.theme.colors.accent}",
"theme.bar.menus.switch.enabled": "#${config.var.theme.colors.accent}",
"theme.bar.menus.check_radio_button.active": "#${config.var.theme.colors.accent}",
"theme.bar.menus.buttons.default": "#${config.var.theme.colors.accent}",
"theme.bar.menus.buttons.active": "#${config.var.theme.colors.accent}",
"theme.bar.menus.iconbuttons.active": "#${config.var.theme.colors.accent}",
"theme.bar.menus.progressbar.foreground": "#${config.var.theme.colors.accent}",
"theme.bar.menus.slider.primary": "#${config.var.theme.colors.accent}",
"theme.bar.menus.tooltip.background": "#${config.var.theme.colors.bgalt}",
"theme.bar.menus.tooltip.text": "#${config.var.theme.colors.fg}",
"theme.bar.menus.dropdownmenu.background": "#${config.var.theme.colors.bgalt}",
"theme.bar.menus.dropdownmenu.text": "#${config.var.theme.colors.fg}",
"theme.bar.background": "#${config.var.theme.colors.bg}",
"theme.bar.menus.popover.text": "#${config.lib.stylix.colors.base05}",
"theme.bar.menus.popover.background": "#${config.lib.stylix.colors.base01}",
"theme.bar.menus.listitems.active": "#${config.lib.stylix.colors.base0D}",
"theme.bar.menus.icons.active": "#${config.lib.stylix.colors.base0D}",
"theme.bar.menus.switch.enabled": "#${config.lib.stylix.colors.base0D}",
"theme.bar.menus.check_radio_button.active": "#${config.lib.stylix.colors.base0D}",
"theme.bar.menus.buttons.default": "#${config.lib.stylix.colors.base0D}",
"theme.bar.menus.buttons.active": "#${config.lib.stylix.colors.base0D}",
"theme.bar.menus.iconbuttons.active": "#${config.lib.stylix.colors.base0D}",
"theme.bar.menus.progressbar.foreground": "#${config.lib.stylix.colors.base0D}",
"theme.bar.menus.slider.primary": "#${config.lib.stylix.colors.base0D}",
"theme.bar.menus.tooltip.background": "#${config.lib.stylix.colors.base01}",
"theme.bar.menus.tooltip.text": "#${config.lib.stylix.colors.base05}",
"theme.bar.menus.dropdownmenu.background": "#${config.lib.stylix.colors.base01}",
"theme.bar.menus.dropdownmenu.text": "#${config.lib.stylix.colors.base05}",
"theme.bar.background": "#${config.lib.stylix.colors.base00}",
"theme.bar.buttons.style": "default",
"theme.bar.buttons.monochrome": true,
"theme.bar.buttons.text": "#${config.var.theme.colors.fg}",
"theme.bar.buttons.background": "#${config.var.theme.colors.bgalt}",
"theme.bar.buttons.icon": "#${config.var.theme.colors.accent}",
"theme.bar.buttons.notifications.background": "#${config.var.theme.colors.bgalt}",
"theme.bar.buttons.hover": "#${config.var.theme.colors.bg}",
"theme.bar.buttons.notifications.hover": "#${config.var.theme.colors.bg}",
"theme.bar.buttons.notifications.total": "#${config.var.theme.colors.accent}",
"theme.bar.buttons.notifications.icon": "#${config.var.theme.colors.accent}",
"theme.notification.background": "#${config.var.theme.colors.bgalt}",
"theme.notification.actions.background": "#${config.var.theme.colors.accent}",
"theme.notification.actions.text": "#${config.var.theme.colors.fg}",
"theme.notification.label": "#${config.var.theme.colors.accent}",
"theme.notification.border": "#${config.var.theme.colors.bgalt}",
"theme.notification.text": "#${config.var.theme.colors.fgalt}",
"theme.notification.labelicon": "#${config.var.theme.colors.accent}",
"theme.osd.bar_color": "#${config.var.theme.colors.accent}",
"theme.osd.bar_overflow_color": "#${config.var.theme.colors.accentalt}",
"theme.osd.icon": "#${config.var.theme.colors.bg}",
"theme.osd.icon_container": "#${config.var.theme.colors.accent}",
"theme.osd.label": "#${config.var.theme.colors.accent}",
"theme.osd.bar_container": "#${config.var.theme.colors.bgalt}",
"theme.bar.menus.menu.media.background.color": "#${config.var.theme.colors.bgalt}",
"theme.bar.menus.menu.media.card.color": "#${config.var.theme.colors.bgalt}",
"theme.bar.buttons.text": "#${config.lib.stylix.colors.base05}",
"theme.bar.buttons.background": "#${config.lib.stylix.colors.base01}",
"theme.bar.buttons.icon": "#${config.lib.stylix.colors.base0D}",
"theme.bar.buttons.notifications.background": "#${config.lib.stylix.colors.base01}",
"theme.bar.buttons.hover": "#${config.lib.stylix.colors.base00}",
"theme.bar.buttons.notifications.hover": "#${config.lib.stylix.colors.base00}",
"theme.bar.buttons.notifications.total": "#${config.lib.stylix.colors.base0D}",
"theme.bar.buttons.notifications.icon": "#${config.lib.stylix.colors.base0D}",
"theme.notification.background": "#${config.lib.stylix.colors.base01}",
"theme.notification.actions.background": "#${config.lib.stylix.colors.base0D}",
"theme.notification.actions.text": "#${config.lib.stylix.colors.base05}",
"theme.notification.label": "#${config.lib.stylix.colors.base0D}",
"theme.notification.border": "#${config.lib.stylix.colors.base01}",
"theme.notification.text": "#${config.lib.stylix.colors.base05}",
"theme.notification.labelicon": "#${config.lib.stylix.colors.base0D}",
"theme.osd.bar_color": "#${config.lib.stylix.colors.base0D}",
"theme.osd.bar_overflow_color": "#${config.lib.stylix.colors.base0A}",
"theme.osd.icon": "#${config.lib.stylix.colors.base00}",
"theme.osd.icon_container": "#${config.lib.stylix.colors.base0D}",
"theme.osd.label": "#${config.lib.stylix.colors.base0D}",
"theme.osd.bar_container": "#${config.lib.stylix.colors.base01}",
"theme.bar.menus.menu.media.background.color": "#${config.lib.stylix.colors.base01}",
"theme.bar.menus.menu.media.card.color": "#${config.lib.stylix.colors.base01}",
"theme.bar.menus.menu.media.card.tint": 90,
"bar.customModules.updates.pollingInterval": 1440000,
"bar.media.show_active_only": true

View File

@ -1,15 +1,10 @@
{ pkgs, config, ... }: {
# wayland.windowManager.hyprland.settings.exec-once =
# [ "${pkgs.hyprpaper}/bin/hyprpaper" ];
{ ... }: {
services.hyprpaper = {
enable = true;
settings = {
ipc = "on";
splash = false;
splash_offset = 2.0;
preload = [ "~/wallpapers/${config.var.theme.wallpaper}" ];
wallpaper = [ ",~/wallpapers/${config.var.theme.wallpaper}" ];
};
};
}

View File

@ -1,117 +0,0 @@
{ config, pkgs, ... }: {
programs.wlogout = {
enable = true;
layout = [
{
label = "shutdown";
action = "systemctl poweroff";
text = "Shutdown";
keybind = "s";
}
{
label = "reboot";
action = "systemctl reboot";
text = "Reboot";
keybind = "r";
}
{
label = "lock";
action = "${pkgs.hyprlock}/bin/hyprlock";
text = "Lock";
keybind = "l";
}
{
label = "suspend";
action = "systemctl suspend";
text = "Suspend";
keybind = "u";
}
{
label = "logout";
action = "killall -9 Hyprland sleep 2";
text = "Exit";
keybind = "e";
}
{
label = "hibernate";
action = "systemctl hibernate";
text = "Hibernate";
keybind = "h";
}
];
style = ''
* {
font-family: "${config.var.theme.font}";
background-image: none;
transition: 20ms;
}
window {
background-color: rgba(12,12,12,0.5);
}
button {
color: #${config.var.theme.colors.fg};
font-size:20px;
background-repeat: no-repeat;
background-position: center;
background-size: 25%;
border: 3px solid #${config.var.theme.colors.bg};
background-color: #${config.var.theme.colors.bg};
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}
button:focus,
button:active {
color: #${config.var.theme.colors.accentFg};
background-color: #${config.var.theme.colors.accent};
border: 3px solid #${config.var.theme.colors.accent};
}
/*
-----------------------------------------------------
Buttons
-----------------------------------------------------
*/
#lock,#logout,#suspend,#hibernate,#shutdown,#reboot {
margin: 10px;
border-radius: ${toString config.var.theme.rounding}px;
}
#lock {
background-image: image(url("icons/lock.png"));
}
#logout {
background-image: image(url("icons/logout.png"));
}
#suspend {
background-image: image(url("icons/suspend.png"));
}
#hibernate {
background-image: image(url("icons/hibernate.png"));
}
#shutdown {
background-image: image(url("icons/shutdown.png"));
}
#reboot {
background-image: image(url("icons/reboot.png"));
}
'';
};
xdg.configFile."wlogout/icons" = {
recursive = false;
source = ./icons;
};
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

View File

@ -1,64 +1,29 @@
{ config, pkgs, ... }: {
{ config, ... }: {
imports = [
../modules/fonts.nix
../modules/nvidia.nix
../modules/prime.nix
../modules/xorg.nix
../modules/zsh.nix
../modules/tuigreet.nix
../modules/auto-upgrade.nix
../modules/timezone.nix
../modules/usb.nix
# ../modules/systemd-boot.nix
../modules/grub.nix
../modules/users.nix
../modules/audio.nix
../modules/bluetooth.nix
../modules/tailscale.nix
../modules/nix.nix
../modules/network-manager.nix
../modules/home-manager.nix
../modules/power-profiles.nix
../modules/utils.nix
../modules/gvfs.nix
# ../modules/ovpn.nix
../../nixos/audio.nix
../../nixos/auto-upgrade.nix
../../nixos/bluetooth.nix
../../nixos/fonts.nix
../../nixos/home-manager.nix
../../nixos/network-manager.nix
../../nixos/nix.nix
../../nixos/nvidia.nix
../../nixos/prime.nix
../../nixos/systemd-boot.nix
../../nixos/timezone.nix
../../nixos/tuigreet.nix
../../nixos/users.nix
../../nixos/utils.nix
../../nixos/xdg-portal.nix
../../nixos/variables-config.nix
../../themes/nixy.nix
./hardware-configuration.nix
./variables.nix
];
home-manager.users."${config.var.username}" = import ./home.nix;
stylix = {
enable = true;
base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml";
cursor = {
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Ice";
size = 24;
};
fonts = {
monospace = {
package = pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; };
name = "JetBrains Mono Nerd Font";
};
sansSerif = {
package = pkgs.dejavu_fonts;
name = "DejaVu Sans";
};
serif = {
package = pkgs.dejavu_fonts;
name = "DejaVu Serif";
};
};
targets.nixvim.transparentBackground = {
main = true;
signColumn = true;
};
polarity = "dark";
image = ../../home/wallpapers/nix.png;
};
# Don't touch this
system.stateVersion = "24.05";
}

View File

@ -18,8 +18,7 @@
# System (Desktop environment like stuff)
../../home/system/hyprland
# ../../home/system/gtk
../../home/system/wlogout
../../home/system/gtk
../../home/system/wofi
../../home/system/batsignal
../../home/system/zathura

View File

@ -1,5 +1,5 @@
{ config, ... }: {
imports = [ ../modules/variables-config.nix ];
imports = [ ../../nixos/variables-config.nix ];
config.var = {
hostname = "nixy";
@ -27,16 +27,23 @@
# change the sops configuration if you want to enable that:
sops = true;
# Enable tailscale
tailscale = true;
# theme = import ../themes/nixy.nix; # select your theme here
theme = {
rounding = 15;
gaps-in = 10;
gaps-out = 10 * 2;
active-opacity = 1;
inactive-opacity = 0.89;
blur = true;
border-size = 3;
animation-speed = "fast"; # "fast" | "medium" | "slow"
fetch = "nerdfetch"; # "nerdfetch" | "neofetch" | "pfetch" | "none"
# USBGuard
# If usbguard enabled: set yours pref USB devices (change {id} to your trusted USB device), use `lsusb` command (from usbutils package) to get list
# of all connected USB devices including integrated devices like camera, bluetooth, wifi, etc. with their IDs or just disable `usbguard`
# allow id {id} # device 1...
usbguard = false;
usbguardRules = "";
theme = import ../themes/nixy.nix; # select your theme here
bar = {
transparent = false;
floating = false;
font-size = 16;
};
};
};
}

View File

@ -1,12 +0,0 @@
{ pkgs, ... }: {
boot = {
loader.grub.enable = true;
loader.grub.device = "nodev";
loader.grub.useOSProber = true;
loader.grub.efiSupport = true;
loader.efi.canTouchEfiVariables = true;
tmp.cleanOnBoot = true;
kernelPackages =
pkgs.linuxPackages_latest; # _zen, _hardened, _rt, _rt_latest, etc.
};
}

View File

@ -1 +0,0 @@
{ services.gvfs.enable = true; }

View File

@ -1,10 +0,0 @@
{
boot.initrd.network.openvpn.enable = false;
services.openvpn = {
servers."ovpn" = {
config = "config /home/hadi/.ovpn.ovpn";
autoStart = false;
};
};
}

View File

@ -1 +0,0 @@
{ services.power-profiles-daemon.enable = true; }

View File

@ -1 +0,0 @@
{ config, ... }: { services.tailscale.enable = config.var.tailscale; }

View File

@ -1,19 +0,0 @@
{ pkgs, config, ... }:
{
# USB Automounting
# services.gvfs.enable = true;
services.udisks2.enable = true;
# services.devmon.enable = true;
# Enable USB Guard
services.usbguard = {
enable = config.var.usbguard;
dbus.enable = true;
implicitPolicyTarget = "block";
rules = config.var.usbguardRules;
};
# Enable USB-specific packages
environment.systemPackages = with pkgs; [ usbutils ];
}

View File

@ -1,8 +0,0 @@
{
programs.zsh = {
enable = true;
loginShellInit = ''
dbus-update-activation-environment --systemd DISPLAY
'';
};
}

View File

@ -1,49 +0,0 @@
{ config, ... }: {
imports = [
./hardware-configuration.nix
./variables.nix
../modules/grub.nix
../modules/timezone.nix
../modules/utils.nix
../modules/users.nix
../modules/zsh.nix
../modules/nix.nix
../modules/auto-upgrade.nix
../modules/home-manager.nix
../modules/network-manager.nix
# internal
./modules/internal/security.nix
./modules/internal/openssh.nix
# ./modules/internal/adguard.nix
# ./modules/internal/cockpit.nix
# exposed
# ./modules/exposed/ntfy-sh.nix
./modules/exposed/tailscale.nix
./modules/exposed/kuma.nix
./modules/exposed/cloudflare-dyndns.nix
./modules/exposed/nginx.nix
./modules/exposed/nextcloud.nix
./modules/exposed/vaultwarden.nix
./modules/www
./modules/jackflix
./secrets
];
virtualisation.docker.enable = true;
networking.networkmanager.enable = true;
home-manager.users."${config.var.username}" = import ./home.nix;
users.users.${config.var.username} = {
openssh.authorizedKeys.keys = [ config.var.sshPublicKey ];
};
# Don't touch this
system.stateVersion = "24.05";
}

View File

@ -1,31 +0,0 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/profiles/qemu-guest.nix")
];
boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/f60945a8-32c6-49ba-b541-d1716385527b";
fsType = "ext4";
};
swapDevices = [ ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.ens18.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
}

View File

@ -1,45 +0,0 @@
{ pkgs, config, ... }: {
imports = [
./variables.nix
# Programs
../../home/programs/btop
../../home/programs/nvim
../../home/programs/git
../../home/programs/shell
# Scripts
../../home/scripts # All scripts
];
home = {
inherit (config.var) username;
inherit (config.var) homeDirectory;
packages = with pkgs; [
# Dev
go
cargo
nodejs
python3
jq
# Utils
fd
bc
gcc
zip
unzip
wget
curl
glow
wireguard-tools
pfetch
];
stateVersion = "24.05";
};
programs.home-manager.enable = true;
}

View File

@ -1,36 +0,0 @@
{ pkgs, ... }:
let
bitcoin-price = pkgs.writeShellScriptBin "bitcoin-price" ''
[ ! -d "/home/hadi/btcprice" ] && ${pkgs.git}/bin/git clone git@github.com:anotherhadi/btcprice /home/hadi/btcprice
cd "/home/hadi/btcprice"
price=$(${pkgs.curl}/bin/curl eur.rate.sx/1BTC)
echo "# Bitcoin Price in EURO" >README.md
echo "" >>README.md
echo "1 Bitcoin = $price" >>README.md
echo "" >>README.md
echo "Date: $(date)" >>README.md
${pkgs.git}/bin/git add .
${pkgs.git}/bin/git commit -m "Update price (hadi)"
${pkgs.git}/bin/git push -u origin main
'';
in {
systemd.timers."bitcoin-git" = {
wantedBy = [ "timers.target" ];
timerConfig = {
Unit = "bitcoin-git.service";
OnCalendar = "daily";
Persistent = true;
};
};
systemd.services."bitcoin-git" = {
script = ''
${bitcoin-price}
exit 0
'';
serviceConfig = {
Type = "oneshot";
User = "hadi";
};
};
}

View File

@ -1,20 +0,0 @@
# CloudFlare Dynamic DNS client
{
services.cloudflare-dyndns = {
enable = true;
ipv4 = true;
domains = [
"cloud.anotherhadi.com"
"vault.anotherhadi.com"
"anotherhadi.com"
"www.anotherhadi.com"
"jack.anotherhadi.com"
"ntfy.anotherhadi.com"
"home.anotherhadi.com"
"kuma.anotherhadi.com"
"media.anotherhadi.com"
];
proxied = true;
apiTokenFile = "/etc/cloudflare/apiToken";
};
}

View File

@ -1,14 +0,0 @@
{
services.uptime-kuma = {
enable = true;
settings = {
HOST = "127.0.0.1";
PORT = "3005";
};
};
services.nginx.virtualHosts."kuma.anotherhadi.com" = {
enableACME = true;
locations."/" = { proxyPass = "http://127.0.0.1:3005"; };
};
networking.firewall.allowedTCPPorts = [ 3005 ];
}

View File

@ -1,28 +0,0 @@
# Nextcloud
{ config, ... }:
let hostname = "cloud.anotherhadi.com";
in {
services.nextcloud = {
enable = true;
hostName = hostname;
https = true;
config = {
adminuser = "jack";
adminpassFile = "/etc/nextcloud/adminpassFile";
};
settings = {
trusted_domains =
[ "localhost" "127.0.0.1" "192.168.1.99" "cloud.anotherhadi.com" ];
};
nginx.recommendedHttpHeaders = true;
extraApps = {
inherit (config.services.nextcloud.package.packages.apps)
contacts calendar tasks notes;
};
extraAppsEnable = true;
};
services.nginx.virtualHosts.${hostname} = {
forceSSL = false;
enableACME = true;
};
}

View File

@ -1,10 +0,0 @@
# Nginx Reverse Proxy & ACME certs
{ config, ... }: {
services.nginx.enable = true;
security.acme = {
acceptTerms = true;
defaults.email = config.var.git.email;
};
networking.firewall.allowedTCPPorts = [ 80 443 ];
}

View File

@ -1,21 +0,0 @@
# Push Notification Server
# https://mynixos.com/nixpkgs/options/services.ntfy-sh
let
hostname = "ntfy.anotherhadi.com";
port = 8082;
url = "https://" + hostname;
in {
services.ntfy-sh = {
enable = true;
settings = {
base-url = url;
listen-http = "127.0.0.1:${toString port}";
behind-proxy = true;
};
};
services.nginx.virtualHosts.${hostname} = {
enableACME = true;
locations."/" = { proxyPass = "http://127.0.0.1:${toString port}"; };
};
networking.firewall.allowedTCPPorts = [ port ];
}

View File

@ -1,13 +0,0 @@
{ config, ... }: {
services.tailscale = {
enable = config.var.tailscale;
useRoutingFeatures = "both";
authKeyFile = "/etc/tailscale/authKey";
openFirewall = true;
extraUpFlags = [ "--advertise-exit-node" ];
};
# Fix DNS & IPv6 bugs
networking.nftables.enable = true;
# services.resolved.enable = true;
}

View File

@ -1,22 +0,0 @@
# Password manager
let
hostname = "vault.anotherhadi.com";
url = "https://" + hostname;
port = 8222;
in {
services.vaultwarden = {
enable = true;
config = {
DOMAIN = url;
SIGNUPS_ALLOWED = false;
ROCKET_ADDRESS = "127.0.0.1";
ROCKET_PORT = port;
ROCKET_LOG = "critical";
};
};
services.nginx.virtualHosts.${hostname} = {
enableACME = true;
locations."/" = { proxyPass = "http://127.0.0.1:${toString port}"; };
};
networking.firewall.allowedTCPPorts = [ port ];
}

View File

@ -1,12 +0,0 @@
# Network-wide ads & trackers blocking DNS server
# Change your router primary DNS server to {this server IP} to make it network wide.
{
services.adguardhome = {
enable = true;
host = "0.0.0.0";
port = 3000;
allowDHCP = true;
openFirewall = true;
};
networking.firewall.allowedTCPPorts = [ 53 3000 3001 ];
}

View File

@ -1,15 +0,0 @@
# Web-based graphical interface for servers
{ pkgs, ... }: {
services.cockpit = {
enable = true;
port = 3009;
openFirewall = true;
settings.WebService = { AllowUnencrypted = true; };
};
environment.systemPackages = with pkgs; [
networkmanagerapplet
selinux-python
cockpit
];
}

View File

@ -1,18 +0,0 @@
# SSH server
{ config, ... }: {
services.openssh = {
enable = true;
ports = [ 22 ];
settings = {
PasswordAuthentication = true;
AllowUsers = [
config.var.username
]; # "null" allows all users by default. Can be [ "user1" "user2" ]
UseDns = true;
X11Forwarding = false;
PermitRootLogin =
"no"; # "yes", "without-password", "prohibit-password", "forced-commands-only", "no"
};
};
networking.firewall.allowedTCPPorts = [ 22 ];
}

View File

@ -1,8 +0,0 @@
# Firewall & fail2ban
{
networking.firewall.enable = true;
services.fail2ban = {
enable = true;
maxretry = 5;
};
}

View File

@ -1,84 +0,0 @@
let
exposed = false; # Expose jellyfin to the internet
vpn = {
enable = true;
wg-config = "/etc/wireguard/wg0.conf";
};
root_folder = "/data";
in {
systemd.tmpfiles.rules = [
"d ${root_folder} 0755 nixarr nixarr"
"d ${root_folder}/media 0755 nixarr nixarr"
"d ${root_folder}/media/shows 0755 nixarr nixarr"
"d ${root_folder}/media/movies 0755 nixarr nixarr"
"d ${root_folder}/radarr 0755 nixarr nixarr"
"d ${root_folder}/sonarr 0755 nixarr nixarr"
"d ${root_folder}/jellyfin 0755 nixarr nixarr"
"d ${root_folder}/bazarr 0755 nixarr nixarr"
"d ${root_folder}/transmission 0755 nixarr nixarr"
"d ${root_folder}/completed 0755 nixarr nixarr"
"d ${root_folder}/incomplete 0755 nixarr nixarr"
];
users = {
groups.nixarr = { };
users.nixarr = {
isNormalUser = true;
group = "nixarr";
extraGroups = [ "docker" ];
hashedPassword =
"$y$j9T$9.hOJCwwmryq3PzEOGtjZ.$hu/76TghEjongcbls7oDoN2GWRqg8AwCknq.CS0zB.8";
};
};
systemd.services.jellyfin.serviceConfig.IOSchedulingPriority = 0;
services = {
jellyfin = {
enable = true;
user = "nixarr";
group = "nixarr";
openFirewall = true;
dataDir = "${root_folder}/jellyfin";
};
jellyseerr = {
enable = true;
port = 5055;
openFirewall = true;
};
prowlarr = {
enable = true;
openFirewall = true;
};
radarr = {
enable = true;
user = "nixarr";
group = "nixarr";
dataDir = "${root_folder}/radarr";
openFirewall = true;
};
sonarr = {
enable = true;
user = "nixarr";
group = "nixarr";
dataDir = "${root_folder}/sonarr";
openFirewall = true;
};
bazarr = {
enable = true;
user = "nixarr";
group = "nixarr";
openFirewall = true;
};
};
# Transmission port
networking.firewall.allowedTCPPorts = [ 9091 ];
}

View File

@ -1,21 +0,0 @@
# I'm using the transmission-openvpn docker image to be sure that my torrent traffic is going through a VPN.
# Only to download legal stuff of course.
{
# environment.etc."/etc/transmission.sh" = {
# text = ''
# docker run --cap-add=NET_ADMIN -d \
# -v /var/lib/transmission-openvpn/data:/data \
# -v /var/lib/transmission-openvpn/config:/config \
# -e OPENVPN_PROVIDER=PIA \
# -e OPENVPN_CONFIG=france \
# -e OPENVPN_USERNAME=username\
# -e OPENVPN_PASSWORD="password" \
# -e LOCAL_NETWORK=192.168.2.0/24 \
# --log-driver json-file \
# --log-opt max-size=10m \
# -p 9091:9091 \
# haugene/transmission-openvpn
# '';
# };
}

View File

@ -1,7 +0,0 @@
{ inputs, pkgs, ... }: {
services.nginx.virtualHosts."anotherhadi.com" = {
serverAliases = [ "www.anotherhadi.com" ];
enableACME = true;
root = inputs.anotherhadi-portfolio.packages."${pkgs.system}".default;
};
}

View File

@ -1,7 +0,0 @@
{
imports = [ ./home.anotherhadi.com.nix ./anotherhadi.com.nix ];
services.nginx.virtualHosts = {
# "test.anotherhadi.com" = { root = "/var/www/test"; };
};
}

View File

@ -1,147 +0,0 @@
{ pkgs, config, ... }:
let
settings = ''
{
"config": {
"title" : "Jack's Home",
"openLinksInNewTab": false,
"locale": "fr-FR",
"colors": {
"primary": "#${config.var.theme.colors.accent}",
"background": "#${config.var.theme.colors.bg}",
"foreground": "#${config.var.theme.colors.fg}",
"muted": "#${config.var.theme.colors.c8}"
},
"folders": [
{
"name": " Home",
"links": [
{
"title": "Nextcloud",
"url": "https://cloud.anotherhadi.com",
"icon": "󰅟"
},
{
"title": "Vaultwarden",
"url": "https://vault.anotherhadi.com",
"icon": ""
}
]
},
{
"name": "󰚺 Streaming",
"links": [
{
"title": "Jellyfin",
"url": "http://192.168.1.99:8096",
"icon": "󰼂"
},
{
"title": "Jellyseerr",
"url": "http://192.168.1.99:5055",
"icon": ""
},
{
"title": "Radarr",
"url": "http://192.168.1.99:7878",
"icon": ""
},
{
"title": "Sonarr",
"url": "http://192.168.1.99:8989",
"icon": ""
},
{
"title": "Bazarr",
"url": "http://192.168.1.99:6767",
"icon": "󰨖"
},
{
"title": "Transmission",
"url": "http://192.168.1.99:9091",
"icon": "󰘡"
},
{
"title": "Prowlarr",
"url": "http://192.168.1.99:9696",
"icon": "󱖫"
}
]
},
{
"name": " Admin",
"links": [
{
"title": "Uptime Kuma",
"url": "https://kuma.anotherhadi.com",
"icon": "󱎫"
},
{
"title": "Cockpit",
"url": "https://jack:3009",
"icon": ""
},
{
"title": "Adguard Home",
"url": "http://192.168.2.24:3001",
"icon": ""
},
{
"title": "Proxmox",
"url": "https://192.168.2.17:8006",
"icon": ""
},
{
"title": "Cloudflare",
"url": "https://dash.cloudflare.com/",
"icon": ""
},
{
"title": "Tailscale",
"url": "https://login.tailscale.com/admin/machines",
"icon": "󰖂"
}
]
}
]
}
}
'';
package = pkgs.buildNpmPackage {
pname = "homepage";
version = "0.0.0";
src = pkgs.fetchFromGitHub {
owner = "anotherhadi";
repo = "homepage";
rev = "9553fc10221eb8568ca6999d73e48e9261447aa4";
hash = "sha256-vpiaBb0iDnbYQH69ZbMurHtOerWNPX7HC7Hx0vM31C4=";
};
# npmDepsHash = lib.fakeHash;
npmDepsHash = "sha256-bG+CHTq2Rst3JMxsjAC81KhK+G7WwsTVD1eyP87g0z4=";
buildPhase = ''
npm install
cp ${
pkgs.writeText "src/routes/config.json" settings
} src/routes/config.json
npm run build
mkdir $out
mv build $out
'';
meta = {
description = "homepage";
homepage = "https://github.com/anotherhadi/homepage";
};
};
in {
services.nginx.virtualHosts."home.anotherhadi.com" = {
serverAliases = [ "jack.anotherhadi.com" ];
enableACME = true;
root = package + "/build";
};
}

View File

@ -1,39 +0,0 @@
{
sops = {
age.keyFile = "/home/hadi/.config/sops/age/keys.txt";
defaultSopsFile = ./secrets.yaml;
defaultSopsFormat = "yaml";
secrets = {
sshconfig = {
path = "/home/hadi/.ssh/config";
owner = "hadi";
};
github-key = {
path = "/home/hadi/.ssh/github";
owner = "hadi";
};
nextcloud-adminpass = {
mode = "0444";
path = "/etc/nextcloud/adminpassFile";
};
cloudflare-apitoken = {
mode = "0444";
path = "/etc/cloudflare/apiToken";
};
tailscaled-authKey = {
mode = "0444";
path = "/etc/tailscale/authKey";
};
transmission-script = {
mode = "0755";
path = "/data/transmission-script.sh";
owner = "nixarr";
};
pia-wg = {
mode = "0755";
path = "/data/.secret/wg.conf";
};
};
};
}

View File

@ -1,27 +0,0 @@
sshconfig: ENC[AES256_GCM,data:4js0EtQXcazsMDoF3LFmEqvDSxviZFTLtmyd0XgS4PTcf7exHj586EqxJRMQuT318PyPH+KzYU5XV1OwnZl8c5G0ZSivj2AJewAPe0JtByqrBA6xEiozDGP8s8YezELZs2MebVHHWxzn+g/HsJM3QFoR3g==,iv:l1pS/K2GHNJ8aztgYGvtksP3QR4qqhIDRLiWg6dwGzc=,tag:adAmwETO0gmeC0jGGkFSmg==,type:str]
github-key: ENC[AES256_GCM,data:6u7+Rq+FYhYvfHoCNeQ2zKHVzsw9gbsFcoEcEMHc5gDenLwjTBTvY5TroIY5X8SvDh656N8WsOTIYGqbRyNY1bnCsMt9Q6rlanIlc1BGp77bctztImp0KKbMctDDvG+6FVqvdmO5gwO1+lUB/uX4Sb6DeFGrizDyhoKZlTrA7GHnYh4prryimlSnlwzhXTtpqQ7fzyniNShXlJPgQfGB7Z3LJCmMEUs4CHVRuuIIgRm/wk5muhJmynKsuB8l0tSqVDaNQjTrxE95p021ivCiEHWULf6+Z31u5tTG+yps2y5kpSP08Op9mk1aB7Wrcg/vh52wWvedpTuqLSeJCzxbLWrmeMq8d9J402ZH8jgI2WfqgWHdHotODrD12n5nA5b6gnoQ7N793FuQPKu4YfMbCvZN5gdzNrfmAuAaSCTq1XTr4z8As81LIZxbj22uyRSEvZM6biqVZOIk7I0FZMN2BnWVZLYOoC+fyeedh/I1ZqYWuvswCUBowrVJ875eo+/+2JEcRiXIGcLFsuPsbw8R,iv:gv6qb91ZvkOIT6QuQZvLuotxGaBv1nK8ytagDWtiWBQ=,tag:2tXUNGiA/5xhxCXC5v4D3w==,type:str]
nextcloud-adminpass: ENC[AES256_GCM,data:skcJhRBDDAIqdrUkylqntJE7ErG+4jWAcw==,iv:gf49orzxxyr+CAYCHQwvHCE6IcaR3iCu4blfn/HFzlc=,tag:b7R4Y8GSKAqoZuUBLPj2AQ==,type:str]
cloudflare-apitoken: ENC[AES256_GCM,data:VVMa84UpCFcUSFVdnBt4mVTnm5rGDJBtw0nEm6584mDcVT35Ycc8LyhHJofQRNQQPviDKgmjgt9Tv7ZgRg==,iv:fVC2cWfveeACJ0x+weKzv0bQZGucfwZi5rq2RiDJgsY=,tag:uCN/IKaFbqQaDoA+M704sw==,type:str]
tailscaled-authKey: ENC[AES256_GCM,data:wIFPKLoD2BDgBjBmOSx2a5okN8BWFdEqApXD4QeVA9uxXBSBhfPu+57dh4O0gTH77n0RgbhxJ/TCorTtNg==,iv:ue/MeYAhUcG69p2Vw5drGdGxkRC8ofzzE910nZd2JKk=,tag:xKjlIpi8WHWT57ryWtUnlg==,type:str]
transmission-script: ENC[AES256_GCM,data:W5GaHfc1Grmzu2a48FkVTaPj3FUB6qWamdFIzaxPhmJoiA6F8T4sUwN6tRaP5YDCX+svdzceOTg6f63RfoSv5Vwq56Lmew6+MJi/GE4D70E4PkWBxyO6DJ+Pq/XtgsVyh+98U7n10oUoDMei8gTf0Fx8VgHSzs+KjsaQsgY2MDdHasl2Kk+cZn1jfLdPPH8NHV8zwnpCl95+acugXzMMZR+rwl+dGLlESmmHj1O9FVWo33kyv/3kEW7ByHByv/TP7Lh+3aYxBeTBAQ/DgK3lpLSINwifTXkXNSao+RuzFXW+7l29qz64mgcqwDerFWXM5IyLnnkt/Nh4+B9FEYgGpyq+cs9HSpgk5ifwx7RvGf/Gmhxj6wynv3Oa2h9ezYGVHZwuOJeuZVjbOSiVfo9i7/l2PZkl5EFbD90gUMHNl7GLuTW0+h+bYxMkfTMOrQQDx0t9c/kFvsd4nxhkIvB+f0kQzlLM3/LvN+6NTwg2P8JtLs52hVT2nP9FkIo9g7IyB5LiNvZc9vwJm2Jmow==,iv:J7HYpaqzAktdFx/wOx3q11l3aLoAQ6DbI6/zM8hwpJs=,tag:qW59BNzCbIu2it2hL3AZyg==,type:str]
pia-wg: ENC[AES256_GCM,data:zJuAQa5joQUwMppaffHTbmLS7y+c3usOjjNpSGSMolGVIp81mr+5ccqLOqtb1Ox0L1/VdIJifRCSk/WGZYXVN2yLb4Ndw6vbRzrLwML3lFfOC4p2zDVraJIkPxSyGA3gb3yvAoNTzhnTyLaZnFdwxAq6bZqlCq/Ey9VVDvMFSssmW8oaWmFJSjtbyhUwnygMsoInmz6MTptAmtmzSuBVuWeFo2VfkT26alkIBtTCN3o3/5xTr5htvsMoyr5B3+ut0t+1FN+k/ntohi/QzxNcWznm2OUOyhV4fkjBxFcDhLiM+eb7gD1ZPFAyXZ2v+XY4+R/OGdwhEfr0+60pIl9gC9ukpVY504r8Cw==,iv:bK5XE7oJh2EIsprEwdtvyVuMfg+opUkC2QkzazejNTI=,tag:dkQFA0PhqXCKeybnTsLdqQ==,type:str]
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age12yvtj49pfh3fqzqflscm0ek4yzrjhr6cqhn7x89gdxnlykq0xudq5c7334
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHVWN4YjZqczB3Q21WL1lz
ckROWkhRditHblVHVEpOS0E0aGVqdW14M0ZvCkNzRXlCOWFBWmQwTGpTYVdFRlpq
bFdOR2pSTEZpUVpvUHo2NklrQm5EU1kKLS0tIFZ5ZWhYcHg1Z0hTOTZIdHR1QUxv
cmVxVC8rVDlWMUdZaGw3bmdOaWZGS1EKYahBlc8XpB5UdKZQkvxbLcKQ/xkFJjWo
FSfQWnjhe/a7BJtJEcKZkjOQU0mYqlSu+uT2RA9diCQeRUJPRF+nAw==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2024-08-23T09:28:13Z"
mac: ENC[AES256_GCM,data:qP/YVCjBE2E8pNPIhEgozwUmImH7knlWNzcV25ch6BQDVWN0K9wChm6lPxKuckdX5LG/txO1zCi8NJjDy3Ku6iZ9VqA2oA8TyTQQkg3X8jxXCqL+onrI/oag/lohy3a3ElDWlwowaHxw58hXRxl9uMWQiL2boPJyXjo7mZ5Czgg=,iv:LJ7YU8vnYxRuY+T+HlKlWGH+VvA7ZtP6W/JysIWeC/Q=,tag:kLNqVX6sYVESZz56lDZjrQ==,type:str]
pgp: []
unencrypted_suffix: _unencrypted
version: 3.9.0

View File

@ -1,34 +0,0 @@
{ config, ... }: {
imports = [ ../modules/variables-config.nix ];
config.var = {
hostname = "jack";
username = "hadi";
homeDirectory = "/home/" + config.var.username;
configDirectory = config.var.homeDirectory + "/.config/nixos";
keyboardLayout = "fr";
timeZone = "Europe/Paris";
defaultLocale = "en_US.UTF-8";
extraLocale = "fr_FR.UTF-8";
git = {
username = "Hadi";
email = "112569860+anotherhadi@users.noreply.github.com";
};
autoUpgrade = false;
autoGarbageCollector = false;
sops = true;
tailscale = true;
usbguard = false;
usbguardRules = "";
sshPublicKey =
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPG9SE80ZyBcXZK/f5ypSKudaM5Jo3XtQikCnGo0jI5E hadi@nixy";
theme = import ../themes/windows.nix;
};
}

View File

@ -1,55 +0,0 @@
{
wallpaper = "the-road-black.png";
font = "SFProDisplay Nerd Font";
font-mono = "MesloLGM Nerd Font Mono";
font-size = 14;
rounding = 15;
gaps-in = 10;
gaps-out = 10 * 2;
active-opacity = 1;
inactive-opacity = 0.89;
blur = true;
border-size = 3;
animation-speed = "fast"; # "fast" | "medium" | "slow"
fetch = "nerdfetch"; # "nerdfetch" | "neofetch" | "pfetch" | "none"
bar = {
transparent = true;
floating = true;
font-size = 16;
};
colors = {
c0 = "1e1e2e"; # black
c1 = "f38ba8"; # red
c2 = "a6e3a1"; # green
c3 = "fab387"; # yellow
c4 = "89b4fa"; # blue
c5 = "A594FD"; # magenta
c6 = "74c7ec"; # cyan
c7 = "cdd6f4"; # white
c8 = "313244"; # bright black
c9 = "eba0ac"; # bright red
c10 = "94e2d5"; # bright green
c11 = "f9e2af"; # bright yellow
c12 = "b4befe"; # bright blue
c13 = "f5c2e7"; # bright magenta
c14 = "94e2d5"; # bright cyan
c15 = "bac2de"; # bright white
bg = "0B0B0B";
fg = "EAF0F5";
bgalt = "121212";
fgalt = "EAF0F5";
accent = "A594FD";
accentFg = "0B0B0B";
accentalt = "917FF0";
# Should make those automtic
accentName = "magenta";
accentNumber = "5";
};
}

View File

@ -1,55 +0,0 @@
{
wallpaper = "moutains_black.png";
font = "SFProDisplay Nerd Font";
font-mono = "FiraCode Nerd Font Mono";
font-size = 14;
rounding = 10;
gaps-in = 6;
gaps-out = 6 * 2;
active-opacity = 0.95;
inactive-opacity = 0.9;
blur = true;
border-size = 1;
animation-speed = "medium"; # "fast" | "medium" | "slow"
fetch = "none"; # "nerdfetch" | "neofetch" | "pfetch" | "none"
bar = {
transparent = false;
floating = false;
font-size = 16;
};
colors = {
c0 = "1e1e2e"; # black
c1 = "f38ba8"; # red
c2 = "a6e3a1"; # green
c3 = "fab387"; # yellow
c4 = "89b4fa"; # blue
c5 = "A594FD"; # magenta
c6 = "74c7ec"; # cyan
c7 = "cdd6f4"; # white
c8 = "313244"; # bright black
c9 = "eba0ac"; # bright red
c10 = "94e2d5"; # bright green
c11 = "f9e2af"; # bright yellow
c12 = "b4befe"; # bright blue
c13 = "f5c2e7"; # bright magenta
c14 = "94e2d5"; # bright cyan
c15 = "bac2de"; # bright white
bg = "0B0B1B";
fg = "EAF0F5";
bgalt = "121222";
fgalt = "EAF0F5";
accent = "74c7ec";
accentFg = "1E1E2E";
accentalt = "94e2d5";
# Should make those automtic
accentName = "cyan";
accentNumber = "6";
};
}

View File

@ -2,28 +2,23 @@
fonts = {
packages = with pkgs; [
material-icons
material-design-icons
roboto
work-sans
comic-neue
source-sans
twemoji-color-font
comfortaa
inter
lato
lexend
jost
dejavu_fonts
iosevka-bin
noto-fonts
noto-fonts-cjk
noto-fonts-emoji
jetbrains-mono
(nerdfonts.override { fonts = [ "FiraCode" "Meslo" ]; })
inputs.apple-fonts.packages.${pkgs.system}.sf-pro-nerd
inputs.apple-fonts.packages.${pkgs.system}.sf-mono-nerd
openmoji-color
twemoji-color-font
inputs.apple-fonts.packages.${pkgs.system}.sf-pro-nerd
];
enableDefaultPackages = false;

View File

@ -1,9 +1,11 @@
{ pkgs, ... }: {
boot = {
loader.efi.canTouchEfiVariables = true;
loader.systemd-boot = {
enable = true;
consoleMode = "auto";
loader = {
efi.canTouchEfiVariables = true;
systemd-boot = {
enable = true;
consoleMode = "auto";
};
};
tmp.cleanOnBoot = true;
kernelPackages =

View File

@ -1,4 +1,5 @@
{ config, pkgs, ... }: {
programs.zsh.enable = true;
users = {
defaultUserShell = pkgs.zsh;
users.${config.var.username} = {

View File

@ -22,7 +22,10 @@
programs.dconf.enable = true;
services = {
dbus.enable = true;
gvfs.enable = true;
upower.enable = true;
power-profiles-daemon.enable = true;
udisks2.enable = true;
};
# Faster rebuilding

62
themes/nixy.nix Normal file
View File

@ -0,0 +1,62 @@
{ pkgs, inputs, ... }: {
stylix = {
enable = true;
# Edited catppuccin
base16Scheme = {
base00 = "0b0b0b"; # Default Background
base01 =
"1b1b1b"; # Lighter Background (Used for status bars, line number and folding marks)
base02 = "313244"; # Selection Background
base03 = "45475a"; # Comments, Invisibles, Line Highlighting
base04 = "585b70"; # Dark Foreground (Used for status bars)
base05 = "fcfcfc"; # Default Foreground, Caret, Delimiters, Operators
base06 = "f5e0dc"; # Light Foreground (Not often used)
base07 = "b4befe"; # Light Background (Not often used)
base08 =
"f38ba8"; # Variables, XML Tags, Markup Link Text, Markup Lists, Diff Deleted
base09 =
"fab387"; # Integers, Boolean, Constants, XML Attributes, Markup Link Url
base0A = "f9e2af"; # Classes, Markup Bold, Search Text Background
base0B = "a6e3a1"; # Strings, Inherited Class, Markup Code, Diff Inserted
base0C =
"94e2d5"; # Support, Regular Expressions, Escape Characters, Markup Quotes
base0D =
"A594FD"; # Functions, Methods, Attribute IDs, Headings, Accent color
base0E =
"cba6f7"; # Keywords, Storage, Selector, Markup Italic, Diff Changed
base0F =
"f2cdcd"; # Deprecated, Opening/Closing Embedded Language Tags, e.g. <?php ?>
};
cursor = {
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Ice";
size = 24;
};
fonts = {
monospace = {
package = pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; };
name = "JetBrains Mono Nerd Font";
};
sansSerif = {
package = inputs.apple-fonts.packages.${pkgs.system}.sf-pro-nerd;
name = "SFProDisplay Nerd Font";
};
serif = {
package = inputs.apple-fonts.packages.${pkgs.system}.sf-pro-nerd;
name = "SFProDisplay Nerd Font";
};
};
# targets.nixvim.transparentBackground = {
# main = true;
# signColumn = true;
# };
polarity = "dark";
image = ../home/wallpapers/nix.png;
};
}