This commit is contained in:
Hadi 2024-03-12 02:55:45 +01:00
parent 0efb552856
commit 55a602b481
20 changed files with 250 additions and 159 deletions

10
README.md Normal file
View File

@ -0,0 +1,10 @@
# Nixy
This is my dotfiles repo. It's a work in progress, and I'm still learning how to use nix.
# TODOLIST
- [ ] custom colors on all config files
- [ ] auto update
- [ ] auto remove old
- [ ] script to edit, rebuild, push

View File

@ -16,7 +16,7 @@
outputs = inputs@{ nixpkgs, home-manager, nixvim, ... }: {
nixosConfigurations = {
hadi = nixpkgs.lib.nixosSystem {
nixy = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./nixos/configuration.nix

View File

@ -1,9 +1,8 @@
{ config, lib, pkgs, ... }:
{
{ config, lib, pkgs, ... }: {
home.packages = with pkgs; [
libnotify
];
imports = [ ../variables/theme ];
home.packages = with pkgs; [ libnotify ];
services.dunst = {
enable = true;
@ -37,11 +36,12 @@ services.dunst = {
sticky_history = "yes";
history_length = 20;
always_run_script = true;
corner_radius = 10;
corner_radius = config.theme.rounding;
follow = "mouse";
font = "Source Sans Pro 10";
format = "<b>%s</b>\\n%b"; #format = "<span foreground='#f3f4f5'><b>%s %p</b></span>\n%b"
frame_color = "#232323";
font = config.theme.font;
format =
"<b>%s</b>\\n%b"; # format = "<span foreground='#f3f4f5'><b>%s %p</b></span>\n%b"
frame_color = "#" + config.theme.colors.bg;
frame_width = 1;
offset = "15x15";
horizontal_padding = 10;
@ -64,16 +64,16 @@ services.dunst = {
fullscreen_delay_everything = { fullscreen = "delay"; };
urgency_critical = {
background = "#d64e4e";
foreground = "#f0e0e0";
background = "#" + config.theme.colors.color1;
foreground = "#" + config.theme.colors.color0;
};
urgency_low = {
background = "#232323";
foreground = "#2596be";
background = "#" + config.theme.colors.color3;
foreground = "#" + config.theme.colors.color0;
};
urgency_normal = {
background = "#1e1e2a";
foreground = "#2596be";
background = "#" + config.theme.colors.alt-bg;
foreground = "#" + config.theme.colors.alt-fg;
};
};
};

View File

@ -25,6 +25,7 @@
libva
wget
ripgrep
blanket
# Backup
vscode

View File

@ -1,6 +1,6 @@
{ pkgs, config, ... }: {
imports = [ ./hyprlock.nix ./hypridle.nix ];
imports = [ ./hyprlock.nix ./hypridle.nix ../variables/theme ];
home.packages = with pkgs; [
xdg-desktop-portal-hyprland
@ -105,17 +105,17 @@
gaps_in = 10;
gaps_out = 20;
border_size = 2;
"col.active_border" = "rgba(9978F8ff)";
"col.inactive_border" = "rgba(0b0b16ee)";
"col.active_border" = "rgba(${config.theme.colors.primary-bg}ff)";
"col.inactive_border" = "rgba(${config.theme.colors.color0}ee)";
layout = "master";
};
decoration = {
rounding = 15;
rounding = config.theme.rounding;
drop_shadow = true;
shadow_range = 15;
shadow_render_power = 4;
"col.shadow" = "rgba(00010196)";
"col.shadow" = "rgba(${config.theme.colors.color0}96)";
blur = { enabled = false; };
};

View File

@ -1,4 +1,7 @@
{
{ config, ... }: {
imports = [ ../variables/theme ];
programs.kitty = {
enable = true;
settings = {
@ -6,7 +9,7 @@
scrollback_lines = 10000;
enable_audio_bell = false;
update_check_interval = 0;
font_family = "FiraCode Nerd Font";
font_family = config.theme.font-mono;
font_size = 13;
cursor_shape = "Underline";
cursor_underline_thickness = 1;
@ -19,49 +22,31 @@
initial_window_width = 1000;
initial_window_height = 600;
# Special
background = "#090914";
url_color = "#9978F8";
background = "#" + config.theme.colors.bg;
url_color = "#" + config.theme.colors.primary-fg;
# Black
color0 = "#414868";
color8 = "#515878";
color0 = "#" + config.theme.colors.color0;
color8 = "#" + config.theme.colors.color8;
color1 = "#" + config.theme.colors.color1;
color9 = "#" + config.theme.colors.color9;
color2 = "#" + config.theme.colors.color2;
color10 = "#" + config.theme.colors.color10;
color3 = "#" + config.theme.colors.color3;
color11 = "#" + config.theme.colors.color11;
color4 = "#" + config.theme.colors.color4;
color12 = "#" + config.theme.colors.color12;
color5 = "#" + config.theme.colors.color5;
color13 = "#" + config.theme.colors.color13;
color6 = "#" + config.theme.colors.color6;
color14 = "#" + config.theme.colors.color14;
color7 = "#" + config.theme.colors.color7;
color15 = "#" + config.theme.colors.color15;
# Red
color1 = "#f7768e";
color9 = "#f7869e";
cursor = "#" + config.theme.colors.fg;
cursor_text_color = "#" + config.theme.colors.bg;
# Green
color2 = "#73daca";
color10 = "#83eada";
# Yellow
color3 = "#e0af68";
color11 = "#f0bf78";
# Blue
color4 = "#7aa2f7";
color12 = "#8ab2f7";
# Magenta
color5 = "#9978F8";
color13 = "#A988F8";
# Cyan
color6 = "#7dcfff";
color14 = "#8ddfff";
# White
color7 = "#E4E5E7";
color15 = "#f4f5f7";
# Cursor
cursor = "#FBFBFB";
cursor_text_color = "#090914";
# Selection highlight
selection_foreground = "#9978F8";
selection_background = "#28344a";
selection_foreground = "#" + config.theme.colors.primary-fg;
selection_background = "#" + config.theme.colors.primary-bg;
};
};
}

View File

@ -2,10 +2,4 @@
imports = [ ./scripts.nix ./sshconfig.nix ];
# TODO:
# custom colors on all config files
# auto update
# auto remove old
# script to edit, rebuild, push
}

View File

@ -12,14 +12,7 @@ let
fzf \
--preview='kitty icat --clear --transfer-mode=memory --stdin=no --place=''${FZF_PREVIEW_COLUMNS}x''${FZF_PREVIEW_LINES}@0x0 {}' \
--preview-window=bottom,border-top \
--margin=1 \
--layout=reverse \
--border --border-label "Wallpaper" \
--info="hidden" \
--header="" \
--prompt='/ ' \
--color="dark,fg+:white,bg+:-1,fg:white,bg:-1"\
--color='prompt:grey,pointer:magenta,fg+:regular') || exit 1
--border-label "Wallpaper" ) || exit 1
swww img $choosed_wallpaper
'';
@ -68,14 +61,7 @@ let
choosed_sink=$(echo "$(parse_sinks)" | fzf \
--margin=1 \
--layout=reverse \
--border --border-label "Wallpaper" \
--info="hidden" \
--header="" \
--prompt='/ ' \
--color="dark,fg+:white,bg+:-1,fg:white,bg:-1"\
--color='prompt:grey,pointer:magenta,fg+:regular') || exit 1
--border-label "Choose sound output" ) || exit 1
choosed_sink_id=$(echo "$choosed_sink" | sed 's/.*(\(.*\))/\1/')

5
home/nvim/copilot.nix Normal file
View File

@ -0,0 +1,5 @@
{
programs.nixvim.plugins.copilot-vim = {
enable = true;
};
}

View File

@ -16,6 +16,9 @@
./lsp.nix
./treesitter.nix
./toggleterm.nix
./copilot.nix
./obsidian.nix
./whichkey.nix
];
programs.nixvim = {
@ -35,6 +38,31 @@
action = "<CMD>lua vim.lsp.buf.format()<CR>";
}
{
key = "<leader>ot";
action = "<cmd>lua require('obsidian').util.toggle_checkbox()<cr>";
}
{
key = "<leader>oo";
action = "<cmd>ObsidianQuickSwitch<cr>";
}
{
key = "<leader>on";
action = "<cmd>ObsidianNew<cr>";
}
{
key = "<leader>of";
action = "<cmd>ObsidianSearch<cr>";
}
{
key = "<leader>oi";
action = "<cmd>ObsidianPasteImg<cr>";
}
# Terminal Mappings
{
mode = "t";

View File

@ -1,6 +1,6 @@
{
programs.nixvim.plugins.gitsigns = {
enable = true;
currentLineBlame = true;
currentLineBlame = false;
};
}

7
home/nvim/obsidian.nix Normal file
View File

@ -0,0 +1,7 @@
{
programs.nixvim.plugins.obsidian = {
enable = true;
dir = "~/Nextcloud/obsidian";
disableFrontmatter = true;
};
}

View File

@ -32,5 +32,6 @@
swapfile = false;
undofile = true;
conceallevel = 2;
};
}

3
home/nvim/whichkey.nix Normal file
View File

@ -0,0 +1,3 @@
{
programs.nixvim.plugins.which-key.enable=true;
}

View File

@ -2,5 +2,23 @@
programs.fzf = {
enable = true;
enableZshIntegration = true;
colors = {
"fg+" = "magenta";
"bg+" = "-1";
"fg" = "white";
"bg" = "-1";
"prompt" = "grey";
"pointer" = "magenta";
};
defaultOptions = [
"--margin=1"
"--layout=reverse"
"--border=rounded"
"--info='hidden'"
"--header=''"
"--prompt='/ '"
"-i"
"--no-bold"
];
};
}

View File

@ -5,6 +5,16 @@ with lib;
{
options.theme = {
font = mkOption {
type = types.str;
description = "Default font";
};
font-mono = mkOption {
type = types.str;
description = "Default mono font";
};
rounding = mkOption {
type = types.int;
description = "Borders rounding";
@ -42,7 +52,6 @@ with lib;
"primary-fg"
"secondary-bg"
"secondary-fg"
"cursor"
"color0"
"color1"
"color2"

View File

@ -0,0 +1 @@
{ imports = [ ./nixy.nix ]; }

View File

@ -0,0 +1,40 @@
{
imports = [ ./config/template.nix ];
theme = {
font-mono = "FiraCode Nerd Font Mono";
font = "SFProDisplay Nerd Font";
rounding = 15;
gaps-in = 10;
gaps-out = 15;
border-size = 2;
colors = {
bg = "090914";
fg = "FCFCFC";
alt-bg = "191924";
alt-fg = "ECECEC";
primary-bg = "9978F8";
primary-fg = "000000";
secondary-bg = "4928B8";
secondary-fg = "000000";
color0 = "414868";
color1 = "f7768e";
color2 = "73daca";
color3 = "e0af68";
color4 = "7aa2f7";
color5 = "9978F8";
color6 = "7dcfff";
color7 = "E4E5E7";
color8 = "515878";
color9 = "f7869e";
color10 = "83eada";
color11 = "f0bf78";
color12 = "8ab2f7";
color13 = "A988F8";
color14 = "8ddfff";
color15 = "f4f5f7";
};
};
}

View File

@ -1,4 +1,5 @@
{
{ config, lib, ... }: {
imports = [ ../variables/theme ];
services = {
blueman-applet.enable = true;
network-manager-applet.enable = true;
@ -12,9 +13,9 @@
layer = "top";
position = "top";
spacing = 0;
"margin-top" = 15;
"margin-left" = 15;
"margin-right" = 15;
"margin-top" = config.theme.gaps-out;
"margin-left" = config.theme.gaps-out;
"margin-right" = config.theme.gaps-out;
height = 40;
modules-left = [ "custom/logo" "hyprland/window" ];
modules-center = [ "hyprland/workspaces" ];
@ -25,7 +26,7 @@
format = "{icon}";
"on-click" = "activate";
"on-click-right" = "fullscreen";
"icon-theme" = "WhiteSur";
"icon-size" = 25;
"tooltip-format" = "{title}";
};
@ -79,7 +80,7 @@
};
"custom/logo" = {
format = " ";
format = " ";
tooltip = false;
"on-click" = "~/scripts/menu.sh";
};
@ -117,14 +118,15 @@
border: none;
border-radius: 0;
min-height: 0;
font-family: "SFProDisplay Nerd Font Bold";
font-family: "${config.theme.font}";
color: #${config.theme.colors.fg};
}
window#waybar {
background-color: #090914;
background-color: #${config.theme.colors.bg};
transition-property: background-color;
transition-duration: 0.5s;
border-radius: 15px;
border-radius: ${toString config.theme.rounding}px;
font-size: 13px;
}
@ -143,24 +145,23 @@
padding: 6px 18px;
margin: 6px 3px;
border-radius: 4px;
background-color: #1e1e2e;
color: #cdd6f4;
background-color: #${config.theme.colors.alt-bg};
color: #${config.theme.colors.alt-fg};
}
#workspaces button.active {
color: #1e1e2e;
background-color: #cdd6f4;
color: #${config.theme.colors.primary-fg};
background-color: #${config.theme.colors.primary-bg};
}
#workspaces button:hover {
box-shadow: inherit;
text-shadow: inherit;
color: #1e1e2e;
background-color: #cdd6f4;
opacity: 0.8;
}
#workspaces button.urgent {
background-color: #f38ba8;
background-color: #${config.theme.colors.color1};
}
#memory,
@ -175,13 +176,13 @@
border-radius: 9px;
margin: 6px 3px;
padding: 6px 12px;
background-color: #1e1e2e;
color: #FBFBFB;
background-color: #${config.theme.colors.alt-bg};
color: #${config.theme.colors.alt-fg};
}
#tray menu {
background-color: #1e1e2e;
color: #FBFBFB;
background-color: #${config.theme.colors.alt-bg};
color: #${config.theme.colors.alt-fg};
}
#custom-power {
@ -194,7 +195,7 @@
margin-left: 5px;
font-size: 15px;
border-radius: 8px 0px 0px 8px;
color: #9978F8;
color: #${config.theme.colors.primary-bg};
}
@keyframes blink {
@ -232,12 +233,14 @@
tooltip {
border-radius: 8px;
padding: 15px;
background-color: #1E1E2E;
background-color: #${config.theme.colors.alt-bg};
color: #${config.theme.colors.alt-fg};
}
tooltip label {
padding: 5px;
background-color: #1E1E2E;
background-color: #${config.theme.colors.alt-bg};
color: #${config.theme.colors.alt-fg};
}
'';
};

View File

@ -8,7 +8,7 @@
consoleMode = "auto";
};
networking.hostName = "hadi";
networking.hostName = "nixy";
# Enable networking
networking.networkmanager.enable = true;