Update
This commit is contained in:
parent
23dcfd5290
commit
905cc9a885
@ -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="-"
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
{
|
||||
|
@ -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 = {
|
||||
|
@ -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 = {
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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 ];
|
||||
}
|
||||
|
@ -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" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
@ -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)";
|
||||
};
|
||||
|
@ -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};
|
||||
# '';
|
||||
# };
|
||||
}
|
||||
|
@ -4,7 +4,7 @@
|
||||
./hyprlock.nix
|
||||
./hypridle.nix
|
||||
./hyprpaper.nix
|
||||
./hyprcursor.nix
|
||||
# ./hyprcursor.nix
|
||||
./hyprpanel.nix
|
||||
];
|
||||
|
||||
|
@ -1,7 +1,4 @@
|
||||
{ pkgs, ... }: {
|
||||
# wayland.windowManager.hyprland.settings.exec-once =
|
||||
# [ "${pkgs.hypridle}/bin/hypridle" ];
|
||||
|
||||
services.hypridle = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
@ -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";
|
||||
|
@ -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
|
||||
|
@ -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}" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -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 |
@ -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";
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -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.
|
||||
};
|
||||
}
|
@ -1 +0,0 @@
|
||||
{ services.gvfs.enable = true; }
|
@ -1,10 +0,0 @@
|
||||
{
|
||||
boot.initrd.network.openvpn.enable = false;
|
||||
|
||||
services.openvpn = {
|
||||
servers."ovpn" = {
|
||||
config = "config /home/hadi/.ovpn.ovpn";
|
||||
autoStart = false;
|
||||
};
|
||||
};
|
||||
}
|
@ -1 +0,0 @@
|
||||
{ services.power-profiles-daemon.enable = true; }
|
@ -1 +0,0 @@
|
||||
{ config, ... }: { services.tailscale.enable = config.var.tailscale; }
|
@ -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 ];
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
{
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
loginShellInit = ''
|
||||
dbus-update-activation-environment --systemd DISPLAY
|
||||
'';
|
||||
};
|
||||
}
|
@ -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";
|
||||
}
|
@ -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";
|
||||
}
|
@ -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;
|
||||
}
|
@ -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";
|
||||
};
|
||||
};
|
||||
}
|
@ -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";
|
||||
};
|
||||
}
|
@ -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 ];
|
||||
}
|
@ -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;
|
||||
};
|
||||
}
|
@ -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 ];
|
||||
|
||||
}
|
@ -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 ];
|
||||
}
|
@ -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;
|
||||
}
|
@ -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 ];
|
||||
}
|
@ -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 ];
|
||||
}
|
@ -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
|
||||
];
|
||||
}
|
@ -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 ];
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
# Firewall & fail2ban
|
||||
{
|
||||
networking.firewall.enable = true;
|
||||
services.fail2ban = {
|
||||
enable = true;
|
||||
maxretry = 5;
|
||||
};
|
||||
}
|
@ -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 ];
|
||||
}
|
@ -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
|
||||
# '';
|
||||
# };
|
||||
|
||||
}
|
@ -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;
|
||||
};
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
{
|
||||
imports = [ ./home.anotherhadi.com.nix ./anotherhadi.com.nix ];
|
||||
|
||||
services.nginx.virtualHosts = {
|
||||
# "test.anotherhadi.com" = { root = "/var/www/test"; };
|
||||
};
|
||||
}
|
@ -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";
|
||||
};
|
||||
}
|
@ -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";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
@ -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
|
@ -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;
|
||||
};
|
||||
}
|
@ -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";
|
||||
};
|
||||
}
|
@ -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";
|
||||
};
|
||||
}
|
@ -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;
|
@ -1,10 +1,12 @@
|
||||
{ pkgs, ... }: {
|
||||
boot = {
|
||||
loader.efi.canTouchEfiVariables = true;
|
||||
loader.systemd-boot = {
|
||||
loader = {
|
||||
efi.canTouchEfiVariables = true;
|
||||
systemd-boot = {
|
||||
enable = true;
|
||||
consoleMode = "auto";
|
||||
};
|
||||
};
|
||||
tmp.cleanOnBoot = true;
|
||||
kernelPackages =
|
||||
pkgs.linuxPackages_latest; # _zen, _hardened, _rt, _rt_latest, etc.
|
@ -1,4 +1,5 @@
|
||||
{ config, pkgs, ... }: {
|
||||
programs.zsh.enable = true;
|
||||
users = {
|
||||
defaultUserShell = pkgs.zsh;
|
||||
users.${config.var.username} = {
|
@ -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
62
themes/nixy.nix
Normal 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;
|
||||
};
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user