This commit is contained in:
Hadi 2024-03-18 22:26:32 +01:00
parent 6a562ff64c
commit ef3489075f
65 changed files with 165 additions and 107 deletions

View File

@ -1,5 +1,3 @@
# Nixy
<h1 align="center">
<img src="https://image.nostr.build/70ebe2b5183879d8c0ffa682cd0089e030ad01909678b242ed86449517eac3a5.png" width="100px" />
<br>
@ -159,7 +157,6 @@ sudo nixos-rebuild switch --flake ~/.config/nixos#nixy
- [ ] Variable user & homeDir
- [ ] Custom GTK based on the colorscheme
- [ ] Obsidian.nvim on every markdown file
- [ ] Caffeine & Night-Shift replace notif
- [ ] Make hyprcursor working
</details>

View File

@ -198,11 +198,11 @@
]
},
"locked": {
"lastModified": 1710532761,
"narHash": "sha256-SUXGZNrXX05YA9G6EmgupxhOr3swI1gcxLUeDMUhrEY=",
"lastModified": 1710714957,
"narHash": "sha256-eZCxuF58YWgaJMMRrn8oRkwRhxooe5kBS/s2wRVr9PA=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "206f457fffdb9a73596a4cb2211a471bd305243d",
"rev": "7b3fca5adcf6c709874a8f2e0c364fe9c58db989",
"type": "github"
},
"original": {
@ -271,11 +271,11 @@
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1710033658,
"narHash": "sha256-yiZiVKP5Ya813iYLho2+CcFuuHpaqKc/CoxOlANKcqM=",
"lastModified": 1710628718,
"narHash": "sha256-y+l3eH53UlENaYa1lmnCBHusZb1kxBEFd2/c7lDsGpw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "b17375d3bb7c79ffc52f3538028b2ec06eb79ef8",
"rev": "6dc11d9859d6a18ab0c5e5829a5b8e4810658de3",
"type": "github"
},
"original": {
@ -330,11 +330,11 @@
"pre-commit-hooks": "pre-commit-hooks"
},
"locked": {
"lastModified": 1710634405,
"narHash": "sha256-e+EHQGqqjpvkln6vYmiAcafFKbTaze3XF7DEjDZyXGY=",
"lastModified": 1710754605,
"narHash": "sha256-VOhYPECGNy7vBvnIE63z284OjUA5CRbbR6VUYopqn0Q=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "939530edca29b44e65d8bd606ef3485346510ebe",
"rev": "97415d4f0c514e4cfd089165d6f6c425626b7887",
"type": "github"
},
"original": {
@ -449,11 +449,11 @@
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1710433464,
"narHash": "sha256-IXlPoWgIRovZ32mYvqqdBgOQln71LouE/HBhbKc1wcw=",
"lastModified": 1710644594,
"narHash": "sha256-RquCuzxfy4Nr8DPbdp3D/AsbYep21JgQzG8aMH9jJ4A=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "6c32d3b9c7593f4b466ec5404e59fc09a803a090",
"rev": "83b68a0e8c94b72cdd0a6e547a14ca7eb1c03616",
"type": "github"
},
"original": {

View File

@ -1,5 +1,5 @@
{
description = "NixOS configuration";
description = "Nixy - Hadi's NixOS configuration";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";

View File

@ -13,7 +13,7 @@
rounded = "yes";
origin = "top-center";
monitor = "0";
alignment = "left";
alignment = "center";
vertical_alignment = "center";
width = "400";
height = "400";

View File

@ -7,7 +7,7 @@ let
{text: "Proton", url: "https://mail.proton.me/u/0/inbox", icon: ""},
{text: "Cloudflare One", url: "https://one.dash.cloudflare.com/", icon: ""},
{text: "Chat GPT", url: "https://chat.openai.com/", icon: "󰭹"},
{text: "Nixvim", url: "https://nix-community.github.io/nixvim/", icon: "󰭹"},
{text: "Nixvim", url: "https://nix-community.github.io/nixvim/", icon: ""},
{text: "Hyprland Wiki", url: "https://wiki.hyprland.org/", icon: "󰖬"},
{text: "Nerdfont", url: "https://www.nerdfonts.com/cheat-sheet", icon: ""},
],

View File

@ -46,6 +46,7 @@
"$mod, RETURN, exec, ${pkgs.kitty}/bin/kitty"
"$mod, E, exec, ${pkgs.xfce.thunar}/bin/thunar"
"$mod, B, exec, ${pkgs.qutebrowser}/bin/qutebrowser"
"$mod, K, exec, ${pkgs.bitwarden}/bin/bitwarden"
"$mod, C, exec, ${pkgs.kitty}/bin/kitty --class peaclock peaclock"
"$mod, L, exec, ${pkgs.hyprlock}/bin/hyprlock"
"$mod, X, exec, ${pkgs.wlogout}/bin/wlogout"
@ -59,12 +60,17 @@
"$mod, up, movefocus, u"
"$mod, down, movefocus, d"
# Screenshots
"$mod, PRINT, exec, ${pkgs.hyprshot}/bin/hyprshot -m window -o ~/Pictures/screenshots"
", PRINT, exec, ${pkgs.hyprshot}/bin/hyprshot -m output -o ~/Pictures/screenshots"
"$shiftMod, PRINT, exec, ${pkgs.hyprshot}/bin/hyprshot -m region -o ~/Pictures/screenshots"
"$mod, PRINT, exec, screenshot window"
", PRINT, exec, screenshot monitor"
"$shiftMod, PRINT, exec, screenshot region"
"ALT, PRINT, exec, screenshot region swappy"
# Night Shift
"$mod, F2, exec, night-shift-off"
"$mod, F3, exec, night-shift-on"
# Sound output
"$mod, F5, exec, ${pkgs.kitty}/bin/kitty --class floating zsh -c sound-output"
"$mod, F6, exec, ${pkgs.kitty}/bin/kitty --class floating zsh -c sound-output"
"$mod, F7, exec, ${pkgs.kitty}/bin/kitty --class floating zsh -c sound-output"
] ++ (builtins.concatLists (builtins.genList (i:
let ws = i + 1;
in [
@ -87,7 +93,6 @@
];
env = [
"XCURSOR_SIZE,24"
"LIBVA_DRIVER_NAME,nvidia"
"__GLX_VENDOR_LIBRARY_NAME,nvidia"
"WLR_NO_HARDWARE_CURSORS,1"
@ -100,8 +105,8 @@
"QT_QPA_PLATFORM=wayland,xcb"
"QT_WAYLAND_DISABLE_WINDOWDECORATION,1"
"GTK_THEME,Flat-Remix-GTK-White-Darkest-Solid:dark"
"HYPRCURSOR_THEME,rose-pine-hyprcursor"
"HYPRCURSOR_SIZE,10"
# "HYPRCURSOR_THEME,rose-pine"
# "HYPRCURSOR_SIZE,16"
];
general = {
@ -158,6 +163,11 @@
"float, class:peaclock"
"move 2% 78%, class:peaclock"
"size 30% 20%, class:peaclock"
"float, class:floating"
"size 40% 40%, class:floating"
"move 30% 30%, class:floating"
"float, title:Bluetooth Devices"
"move 20% 20%, title:Bluetooth Devices"
"size 60% 60%, title:Bluetooth Devices"
@ -166,26 +176,29 @@
animations = {
enabled = true;
bezier = [
"fluent_decel, 0, 0.2, 0.4, 1"
"linear, 0, 0, 1, 1"
"md3_standard, 0.2, 0, 0, 1"
"md3_decel, 0.05, 0.7, 0.1, 1"
"md3_accel, 0.3, 0, 0.8, 0.15"
"overshot, 0.05, 0.9, 0.1, 1.1"
"crazyshot, 0.1, 1.5, 0.76, 0.92 "
"hyprnostretch, 0.05, 0.9, 0.1, 1.0"
"fluent_decel, 0.1, 1, 0, 1"
"easeInOutCirc, 0.85, 0, 0.15, 1"
"easeOutCirc, 0, 0.55, 0.45, 1"
"easeOutCubic, 0.33, 1, 0.68, 1"
"easeinoutsine, 0.37, 0, 0.63, 1"
"easeOutExpo, 0.16, 1, 0.3, 1"
];
animation = [
"windowsIn, 1, 3, easeOutCubic, popin 30% # window open"
"windowsOut, 1, 3, fluent_decel, popin 70% # window close."
"fadeIn, 1, 3, easeOutCubic # fade in (open) -> layers and windows"
"fadeOut, 1, 2, easeOutCubic # fade out (close) -> layers and windows"
"fadeSwitch, 0, 1, easeOutCirc # fade on changing activewindow and its opacity"
"fadeShadow, 1, 10, easeOutCirc # fade on changing activewindow for shadows"
"fadeDim, 1, 4, fluent_decel # the easing of the dimming of inactive windows"
"border, 1, 2.7, easeOutCirc # for animating the border's color switch speed"
"borderangle, 1, 30, fluent_decel, once # for animating the border's gradient angle - styles: once (default), loop"
"workspaces, 1, 4, easeOutCubic, fade # styles: slide, slidevert, fade, slidefade, slidefadevert"
"windows, 1, 3, md3_decel, popin 60%"
"border, 1, 10, default"
"fade, 1, 2.5, md3_decel"
"workspaces, 1, 3.5, easeOutExpo, slide"
"specialWorkspace, 1, 3, md3_decel, slidevert"
];
};
debug = { disable_logs = false; };
};
};
@ -213,4 +226,10 @@
};
};
home.pointerCursor = {
gtk.enable = true;
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Classic";
size = 14;
};
}

View File

@ -1,9 +1,9 @@
{ config, pkgs, ... }: {
home.packages = with pkgs; [ hyprcursor ];
home.file.".local/share/icons/rose-pine-hyprcursor" = {
recursive = true;
source = ./rose-pine;
};
# home.file.".local/share/icons/rose-pine-hyprcursor" = {
# recursive = true;
# source = ./rose-pine;
# };
}

View File

@ -1,4 +0,0 @@
name = rose-pine-hyprcursor
description = BreezeX remixed with Rose Pine remixed to Hyprcursor format
version = 0.2
cursors_directory = hyprcursors

View File

@ -1,4 +1,4 @@
{ config, ... }: {
{ config, pkgs, ... }: {
programs.kitty = {
enable = true;
@ -16,7 +16,7 @@
confirm_os_window_close = "0";
remember_window_size = "no";
disable_ligatures = "never";
shell = "zsh";
shell = "${pkgs.zsh}/bin/zsh";
initial_window_width = 1000;
initial_window_height = 600;

View File

@ -3,7 +3,7 @@
inputs.nixvim.homeManagerModules.nixvim
./auto-pairs.nix
./options.nix
./bufferline.nix
#./bufferline.nix
./telescope.nix
./nvim-tree.nix
./lightline.nix

View File

@ -1,7 +1,4 @@
{ config, ... }:
let
in {
{ config, ... }: {
imports = [ ./duckduckgo-colorscheme.nix ];
@ -109,6 +106,8 @@ in {
border = "#${config.theme.colors.color1}";
};
};
webpage.darkmode.enabled = true;
};
fonts = { default_family = "${config.theme.font}"; };
@ -164,6 +163,8 @@ in {
keyBindings = {
normal = {
"gh" = "open ${config.home.homeDirectory}/.config/startpage/index.html";
",p" = "tab-move -";
",n" = "tab-move +";

View File

@ -1,12 +0,0 @@
{ pkgs, config, ... }:
let
homedir = config.home.homeDirectory;
add-secrets = pkgs.writeShellScriptBin "add-secrets" ''
file=$1
pubkey=$(cat ~/nixy.key | grep "public key" | cut -d':' -f2 | sed 's/ //g')
${pkgs.age}/bin/age -r $pubkey -o ~/.config/nixos/home/secrets/$file.age -a $file
'';
in { home.packages = with pkgs; [ add-secrets ]; }

View File

@ -12,17 +12,11 @@ let
brightness_level=$(${pkgs.brightnessctl}/bin/brightnessctl get)
message=" Brightness: $brightness_level%"
ID=$(cat /tmp/brightness-notification 2>/dev/null)
[[ $ID -eq "" ]] && ID=0
message="󰃠 Brightness: $brightness_level%"
${pkgs.libnotify}/bin/notify-send "$message" \
--replace-id="$ID" \
--print-id \
-t 2000 \
-h int:value:"$brightness_level" \
-h string:synchronous:brightness-change > /tmp/brightness-notification
--replace-id="$(cat "/tmp/nixy-notification" 2>/dev/null || echo 0)" --print-id > "/tmp/nixy-notification"
'';
brightness-up = pkgs.writeShellScriptBin "brightness-up" ''

View File

@ -10,11 +10,14 @@ let
if [[ -f /tmp/caffeine ]]; then
rm /tmp/caffeine
${pkgs.hyprland}/bin/hyprctl dispatch exec ${pkgs.hypridle}/bin/hypridle
${pkgs.libnotify}/bin/notify-send "󰾪 Caffeine Deactivated"
message="󰾪 Caffeine Deactivated"
else
touch /tmp/caffeine
pkill hypridle && ${pkgs.libnotify}/bin/notify-send "󰅶 Caffeine Activated"
pkill hypridle
message="󰅶 Caffeine Activated"
fi
${pkgs.libnotify}/bin/notify-send "$message" \
--replace-id="$(cat "/tmp/nixy-notification" 2>/dev/null || echo 0)" --print-id > "/tmp/nixy-notification"
'';
in { home.packages = with pkgs; [ caffeine-status caffeine ]; }

View File

@ -7,6 +7,6 @@
./brightness.nix
./caffeine.nix
./night-shift.nix
./age.nix
./screenshot.nix
];
}

View File

@ -6,11 +6,15 @@ let
night-shift-on = pkgs.writeShellScriptBin "night-shift-on" ''
${pkgs.hyprland}/bin/hyprctl dispatch exec "${pkgs.wlsunset}/bin/wlsunset -t ${default}"
${pkgs.libnotify}/bin/notify-send "󰖔 Night Shift Activated"
message="󰖔 Night-Shift Activated"
${pkgs.libnotify}/bin/notify-send "$message" \
--replace-id="$(cat "/tmp/nixy-notification" 2>/dev/null || echo 0)" --print-id > "/tmp/nixy-notification"
'';
night-shift-off = pkgs.writeShellScriptBin "night-shift-off" ''
pkill wlsunset
${pkgs.libnotify}/bin/notify-send " Night Shift Deactivated"
message="󰖔 Night-Shift Deactivated"
${pkgs.libnotify}/bin/notify-send "$message" \
--replace-id="$(cat "/tmp/nixy-notification" 2>/dev/null || echo 0)" --print-id > "/tmp/nixy-notification"
'';
in { home.packages = with pkgs; [ night-shift-on night-shift-off ]; }

View File

@ -6,6 +6,7 @@ let
nixy-rebuild = pkgs.writeShellScriptBin "nixy-rebuild" ''
sudo nixos-rebuild switch --flake ${homedir}/.config/nixos#nixy
'';
nixy-edit = pkgs.writeShellScriptBin "nixy-edit" ''
$EDITOR ${homedir}/.config/nixos/
'';

View File

@ -0,0 +1,34 @@
{ pkgs, config, ... }:
let
homedir = config.home.homeDirectory;
screenshot = pkgs.writeShellScriptBin "screenshot" ''
if [[ $2 == "swappy" ]];then
folder="/tmp"
else
folder="$HOME/Pictures/screenshots"
fi
filename="$(date +%Y-%m-%d_%H:%M:%S).png"
mode="region" # Default to region
if [[ $1 == "window" ]];then
mode="window"
elif [[ $1 == "monitor" ]];then
mode="output"
fi
${pkgs.hyprshot}/bin/hyprshot -m $mode -o $folder -f $filename -s
if [[ $2 == "swappy" ]];then
${pkgs.swappy}/bin/swappy -f "$folder/$filename" -o "$HOME/Pictures/screenshots/$filename"
exit 0
fi
message=" Screenshot saved"
${pkgs.libnotify}/bin/notify-send "$message" \
--icon="$folder/$filename" \
--replace-id="$(cat "/tmp/nixy-notification" 2>/dev/null || echo 0)" --print-id > "/tmp/nixy-notification"
'';
in { home.packages = with pkgs; [ hyprshot screenshot ]; }

View File

@ -3,21 +3,6 @@
let
homedir = config.home.homeDirectory;
#wallpaper = pkgs.writeShellScriptBin "wallpaper" ''
# WALLPAPER_FOLDER="${homedir}/Nextcloud/wallpaper"
#
# cd $WALLPAPER_FOLDER
#
# choosed_wallpaper=$(fd . |
# fzf \
# --preview='kitty icat --clear --transfer-mode=memory --stdin=no --place=''${FZF_PREVIEW_COLUMNS}x''${FZF_PREVIEW_LINES}@0x0 {}' \
# --preview-window=bottom,border-top \
# --border-label "Wallpaper" ) || exit 1
#
# swww img $choosed_wallpaper
# cp $choosed_wallpaper $HOME/.config/wallpaper/default.png
#'';
menu = pkgs.writeShellScriptBin "menu" ''
if pgrep wofi; then
pkill wofi
@ -27,11 +12,15 @@ let
'';
powermenu = pkgs.writeShellScriptBin "powermenu" ''
if pgrep wlogout; then
pkill wlogout
else
${pkgs.wlogout}/bin/wlogout
fi
'';
wireguard-import = pkgs.writeShellScriptBin "wireguard-import" ''
nmcli connection import type wireguard file "$0"
nmcli connection import type wireguard file "$1"
'';
in { home.packages = with pkgs; [ menu wireguard-import powermenu ]; }

View File

@ -21,20 +21,14 @@ let
message=""
if [ $muted = true ]; then
message=" Muted"
message="󰖁 Muted"
else
message=" Volume: $volume%"
message="󰕾 Volume: $volume%"
fi
ID=$(cat /tmp/audio-notification 2>/dev/null)
[[ $ID -eq "" ]] && ID=0
${pkgs.libnotify}/bin/notify-send "$message" \
--replace-id="$ID" \
--print-id \
-t 2000 \
-h int:value:"$volume" \
-h string:synchronous:volume-change > /tmp/audio-notification
--replace-id="$(cat "/tmp/nixy-notification" 2>/dev/null || echo 0)" --print-id > "/tmp/nixy-notification"
'';
sound-up = pkgs.writeShellScriptBin "sound-up" ''
@ -80,7 +74,7 @@ let
}
choosed_sink=$(echo "$(parse_sinks)" | fzf \
choosed_sink=$(echo "$(parse_sinks)" | ${pkgs.fzf}/bin/fzf \
--border-label "Choose sound output" ) || exit 1
choosed_sink_id=$(echo "$choosed_sink" | sed 's/.*(\(.*\))/\1/')

View File

@ -1,5 +1,42 @@
{
{ config, lib, ... }: {
programs.starship = {
enable = true;
settings = {
add_newline = true;
format = lib.concatStrings [
"$directory"
"$git_branch"
"$git_state"
"$git_status"
"$character"
];
directory = { style = "#${config.theme.colors.primary-bg}"; };
character = {
success_symbol = "[](#${config.theme.colors.primary-bg})";
error_symbol = "[](red)";
vimcmd_symbol = "[](cyan)";
};
git_branch = {
format = "[$branch]($style)";
style = "bright-black";
};
git_status = {
format =
"[[(*$conflicted$untracked$modified$staged$renamed$deleted)](218) ($ahead_behind$stashed)]($style)";
style = "cyan";
conflicted = "";
renamed = "";
deleted = "";
stashed = "";
};
git_state = {
format = "([$state( $progress_current/$progress_total)]($style)) ";
style = "bright-black";
};
};
};
}

View File

@ -1,9 +1,10 @@
{ pkgs, inputs, ... }: {
{ pkgs, inputs, ... }: {
fonts.packages = with pkgs; [
(nerdfonts.override { fonts = [ "FiraCode" ]; })
inputs.apple-fonts.packages.${pkgs.system}.sf-pro-nerd
inputs.apple-fonts.packages.${pkgs.system}.sf-mono-nerd
openmoji-color
];
}