Up
This commit is contained in:
parent
0efb552856
commit
55a602b481
10
README.md
Normal file
10
README.md
Normal 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
|
@ -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
|
||||
|
@ -1,11 +1,10 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
{
|
||||
{ config, lib, pkgs, ... }: {
|
||||
|
||||
home.packages = with pkgs; [
|
||||
libnotify
|
||||
];
|
||||
imports = [ ../variables/theme ];
|
||||
|
||||
services.dunst = {
|
||||
home.packages = with pkgs; [ libnotify ];
|
||||
|
||||
services.dunst = {
|
||||
enable = true;
|
||||
iconTheme = {
|
||||
name = "Papirus-Dark";
|
||||
@ -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;
|
||||
@ -61,19 +61,19 @@ services.dunst = {
|
||||
browser = "/usr/bin/env librewolf -new-tab";
|
||||
};
|
||||
|
||||
fullscreen_delay_everything = {fullscreen = "delay";};
|
||||
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;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -1,51 +1,52 @@
|
||||
{ config, pkgs, ...}: {
|
||||
home.username = "hadi";
|
||||
home.homeDirectory = "/home/hadi";
|
||||
{ config, pkgs, ... }: {
|
||||
home.username = "hadi";
|
||||
home.homeDirectory = "/home/hadi";
|
||||
|
||||
home.packages = with pkgs; [
|
||||
swappy
|
||||
spotify
|
||||
imv
|
||||
discord
|
||||
obsidian
|
||||
ranger
|
||||
fd
|
||||
btop
|
||||
go
|
||||
cargo
|
||||
nodejs
|
||||
python3
|
||||
unzip
|
||||
blueman
|
||||
gcc
|
||||
peaclock
|
||||
xdg_utils
|
||||
tldr
|
||||
qt5ct
|
||||
libva
|
||||
wget
|
||||
ripgrep
|
||||
home.packages = with pkgs; [
|
||||
swappy
|
||||
spotify
|
||||
imv
|
||||
discord
|
||||
obsidian
|
||||
ranger
|
||||
fd
|
||||
btop
|
||||
go
|
||||
cargo
|
||||
nodejs
|
||||
python3
|
||||
unzip
|
||||
blueman
|
||||
gcc
|
||||
peaclock
|
||||
xdg_utils
|
||||
tldr
|
||||
qt5ct
|
||||
libva
|
||||
wget
|
||||
ripgrep
|
||||
blanket
|
||||
|
||||
# Backup
|
||||
vscode
|
||||
firefox
|
||||
];
|
||||
# Backup
|
||||
vscode
|
||||
firefox
|
||||
];
|
||||
|
||||
home.stateVersion = "23.11";
|
||||
programs.home-manager.enable = true;
|
||||
home.stateVersion = "23.11";
|
||||
programs.home-manager.enable = true;
|
||||
|
||||
imports = [
|
||||
./hyprland
|
||||
./nvim
|
||||
./waybar
|
||||
./kitty
|
||||
./dunst
|
||||
./wlogout
|
||||
./wofi
|
||||
./qutebrowser
|
||||
./git
|
||||
./shell
|
||||
./misc
|
||||
./nextcloud
|
||||
];
|
||||
imports = [
|
||||
./hyprland
|
||||
./nvim
|
||||
./waybar
|
||||
./kitty
|
||||
./dunst
|
||||
./wlogout
|
||||
./wofi
|
||||
./qutebrowser
|
||||
./git
|
||||
./shell
|
||||
./misc
|
||||
./nextcloud
|
||||
];
|
||||
}
|
||||
|
@ -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; };
|
||||
};
|
||||
|
||||
|
@ -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;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -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
|
||||
|
||||
}
|
||||
|
@ -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
5
home/nvim/copilot.nix
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
programs.nixvim.plugins.copilot-vim = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
@ -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";
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
programs.nixvim.plugins.gitsigns = {
|
||||
enable = true;
|
||||
currentLineBlame = true;
|
||||
currentLineBlame = false;
|
||||
};
|
||||
}
|
||||
|
7
home/nvim/obsidian.nix
Normal file
7
home/nvim/obsidian.nix
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
programs.nixvim.plugins.obsidian = {
|
||||
enable = true;
|
||||
dir = "~/Nextcloud/obsidian";
|
||||
disableFrontmatter = true;
|
||||
};
|
||||
}
|
@ -32,5 +32,6 @@
|
||||
|
||||
swapfile = false;
|
||||
undofile = true;
|
||||
conceallevel = 2;
|
||||
};
|
||||
}
|
||||
|
3
home/nvim/whichkey.nix
Normal file
3
home/nvim/whichkey.nix
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
programs.nixvim.plugins.which-key.enable=true;
|
||||
}
|
@ -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"
|
||||
];
|
||||
};
|
||||
}
|
||||
|
@ -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"
|
||||
|
1
home/variables/theme/default.nix
Normal file
1
home/variables/theme/default.nix
Normal file
@ -0,0 +1 @@
|
||||
{ imports = [ ./nixy.nix ]; }
|
40
home/variables/theme/nixy.nix
Normal file
40
home/variables/theme/nixy.nix
Normal 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";
|
||||
};
|
||||
};
|
||||
|
||||
}
|
@ -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};
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
@ -8,7 +8,7 @@
|
||||
consoleMode = "auto";
|
||||
};
|
||||
|
||||
networking.hostName = "hadi";
|
||||
networking.hostName = "nixy";
|
||||
|
||||
# Enable networking
|
||||
networking.networkmanager.enable = true;
|
||||
|
Loading…
Reference in New Issue
Block a user