mirror of
https://github.com/szymon-jozef/amazing-dotfiles.git
synced 2026-10-27 19:20:43 +01:00
Compare commits
3 Commits
70c62eada8
...
e690f58b9a
| Author | SHA1 | Date | |
|---|---|---|---|
| e690f58b9a | |||
| e55ae7e6c1 | |||
| 7dee04d6e7 |
25
flake.lock
generated
25
flake.lock
generated
@@ -46,11 +46,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1771683283,
|
"lastModified": 1771851181,
|
||||||
"narHash": "sha256-WxAEkAbo8dP7qiyPM6VN4ZGAxfuBVlNBNPkrqkrXVEc=",
|
"narHash": "sha256-gFgE6mGUftwseV3DUENMb0k0EiHd739lZexPo5O/sdQ=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "c6ed3eab64d23520bcbb858aa53fe2b533725d4a",
|
"rev": "9a4b494b1aa1b93d8edf167f46dc8e0c0011280c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -118,7 +118,8 @@
|
|||||||
"catppuccin": "catppuccin",
|
"catppuccin": "catppuccin",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"nixvim": "nixvim"
|
"nixvim": "nixvim",
|
||||||
|
"wallpapers": "wallpapers"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems": {
|
"systems": {
|
||||||
@@ -135,6 +136,22 @@
|
|||||||
"repo": "default",
|
"repo": "default",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"wallpapers": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1762937381,
|
||||||
|
"narHash": "sha256-N+MZHSRcwOldS5Ai8B3YfKquKs9oeUW/GkV1iKM5+i8=",
|
||||||
|
"owner": "orangci",
|
||||||
|
"repo": "walls-catppuccin-mocha",
|
||||||
|
"rev": "7bfdf10d16ad3a689f9f0cf3a0930da3d1a245a8",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "orangci",
|
||||||
|
"repo": "walls-catppuccin-mocha",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": "root",
|
"root": "root",
|
||||||
|
|||||||
36
flake.nix
36
flake.nix
@@ -7,7 +7,13 @@
|
|||||||
url = "github:nix-community/home-manager";
|
url = "github:nix-community/home-manager";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
catppuccin.url = "github:catppuccin/nix";
|
catppuccin.url = "github:catppuccin/nix";
|
||||||
|
wallpapers = {
|
||||||
|
url = "github:orangci/walls-catppuccin-mocha";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
|
||||||
nixvim = {
|
nixvim = {
|
||||||
url = "github:nix-community/nixvim";
|
url = "github:nix-community/nixvim";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
@@ -20,21 +26,31 @@
|
|||||||
home-manager,
|
home-manager,
|
||||||
catppuccin,
|
catppuccin,
|
||||||
nixvim,
|
nixvim,
|
||||||
|
wallpapers,
|
||||||
...
|
...
|
||||||
}:
|
}@inputs:
|
||||||
|
|
||||||
let
|
let
|
||||||
username = "szymon";
|
userConfig = {
|
||||||
# for git
|
username = "szymon";
|
||||||
email = "szymon_jozef@proton.me";
|
# for git
|
||||||
full_name = "Szymon P";
|
email = "szymon_jozef@proton.me";
|
||||||
|
fullName = "Szymon P";
|
||||||
|
};
|
||||||
|
pathConfig = {
|
||||||
|
wallpaper = "Obrazy/tapety/catppuccin";
|
||||||
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
homeConfigurations = {
|
homeConfigurations = {
|
||||||
"arch" = home-manager.lib.homeManagerConfiguration {
|
"arch" = home-manager.lib.homeManagerConfiguration {
|
||||||
pkgs = import nixpkgs { system = "x86_64-linux"; };
|
pkgs = import nixpkgs { system = "x86_64-linux"; };
|
||||||
extraSpecialArgs = {
|
extraSpecialArgs = {
|
||||||
inherit username email full_name;
|
inherit
|
||||||
|
inputs
|
||||||
|
userConfig
|
||||||
|
pathConfig
|
||||||
|
;
|
||||||
isNixOS = false;
|
isNixOS = false;
|
||||||
};
|
};
|
||||||
modules = [
|
modules = [
|
||||||
@@ -47,13 +63,17 @@
|
|||||||
"nixos" = home-manager.lib.homeManagerConfiguration {
|
"nixos" = home-manager.lib.homeManagerConfiguration {
|
||||||
pkgs = import nixpkgs { system = "x86_64-linux"; };
|
pkgs = import nixpkgs { system = "x86_64-linux"; };
|
||||||
extraSpecialArgs = {
|
extraSpecialArgs = {
|
||||||
inherit username email full_name;
|
inherit
|
||||||
|
inputs
|
||||||
|
userConfig
|
||||||
|
pathConfig
|
||||||
|
;
|
||||||
isNixOS = true;
|
isNixOS = true;
|
||||||
};
|
};
|
||||||
modules = [
|
modules = [
|
||||||
./home.nix
|
./home.nix
|
||||||
catppuccin.homeModules.catppuccin
|
catppuccin.homeModules.catppuccin
|
||||||
nixvim.homeManagerModules.nixvim
|
nixvim.homeModules.nixvim
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
21
home.nix
21
home.nix
@@ -1,12 +1,14 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
username,
|
inputs,
|
||||||
|
userConfig,
|
||||||
|
pathConfig,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
home.username = username;
|
home.username = userConfig.username;
|
||||||
home.homeDirectory = "/home/${username}";
|
home.homeDirectory = "/home/${userConfig.username}";
|
||||||
|
|
||||||
nix = {
|
nix = {
|
||||||
package = pkgs.nix;
|
package = pkgs.nix;
|
||||||
@@ -28,6 +30,7 @@
|
|||||||
./modules/packages.nix
|
./modules/packages.nix
|
||||||
./modules/xdg.nix
|
./modules/xdg.nix
|
||||||
./modules/desktop.nix
|
./modules/desktop.nix
|
||||||
|
./modules/gtk.nix
|
||||||
# cli tools
|
# cli tools
|
||||||
./modules/cli/fish.nix
|
./modules/cli/fish.nix
|
||||||
./modules/cli/nixvim.nix
|
./modules/cli/nixvim.nix
|
||||||
@@ -53,21 +56,13 @@
|
|||||||
./modules/hypr/hypridle.nix
|
./modules/hypr/hypridle.nix
|
||||||
./modules/hypr/hyprlock.nix
|
./modules/hypr/hyprlock.nix
|
||||||
./modules/hypr/hyprsunset.nix
|
./modules/hypr/hyprsunset.nix
|
||||||
|
./modules/hypr/hyprtoolkit.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
# === SCRIPTS IMPORT ===
|
# === SCRIPTS IMPORT ===
|
||||||
home.file = {
|
home.file = {
|
||||||
".local/bin".source = ./scripts;
|
".local/bin".source = ./scripts;
|
||||||
};
|
${pathConfig.wallpaper}.source = inputs.wallpapers;
|
||||||
|
|
||||||
gtk.enable = true;
|
|
||||||
dconf = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
"org/gnome/desktop/interface" = {
|
|
||||||
color-scheme = "prefer-dark";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# === VARS ===
|
# === VARS ===
|
||||||
|
|||||||
@@ -3,105 +3,112 @@
|
|||||||
{
|
{
|
||||||
programs.fish = {
|
programs.fish = {
|
||||||
enable = true;
|
enable = true;
|
||||||
loginShellInit = ''
|
loginShellInit = # fish
|
||||||
fish_add_path --move --prepend --path "$HOME/.nix-profile/bin" /nix/var/nix/profiles/default/bin /run/current-system/sw/bin
|
''
|
||||||
'';
|
fish_add_path --move --prepend --path "$HOME/.nix-profile/bin" /nix/var/nix/profiles/default/bin /run/current-system/sw/bin
|
||||||
|
'';
|
||||||
|
|
||||||
interactiveShellInit = ''
|
interactiveShellInit = # fish
|
||||||
# no dum greeting
|
''
|
||||||
set fish_greeting ""
|
# no dum greeting
|
||||||
|
set fish_greeting ""
|
||||||
|
|
||||||
set -gx GPG_TTY (tty)
|
set -gx GPG_TTY (tty)
|
||||||
|
|
||||||
fish_vi_key_bindings
|
fish_vi_key_bindings
|
||||||
|
|
||||||
fastfetch --config ~/.config/fastfetch/startup.jsonc
|
fastfetch --config ~/.config/fastfetch/startup.jsonc
|
||||||
'';
|
'';
|
||||||
|
|
||||||
functions = {
|
functions = {
|
||||||
edit_dotfile = {
|
edit_dotfile = {
|
||||||
description = "Edit config file, reload, commit and push";
|
description = "Edit config file, reload, commit and push";
|
||||||
body = ''
|
body = # fish
|
||||||
set -l config_dir "$HOME/.config/home-manager"
|
''
|
||||||
set -l file
|
set -l config_dir "$HOME/.config/home-manager"
|
||||||
|
set -l file
|
||||||
|
|
||||||
if test (count $argv) -gt 0
|
if test (count $argv) -gt 0
|
||||||
set file $argv[1]
|
set file $argv[1]
|
||||||
else
|
else
|
||||||
set file (fd . $config_dir --type f --exclude ".git" | fzf)
|
set file (fd . $config_dir --type f --exclude ".git" | fzf)
|
||||||
end
|
end
|
||||||
|
|
||||||
if test -n "$file"
|
if test -n "$file"
|
||||||
set -l md5_before (md5sum $file)
|
set -l md5_before (md5sum $file)
|
||||||
pushd $config_dir
|
pushd $config_dir
|
||||||
|
|
||||||
nvim $file
|
nvim $file
|
||||||
|
|
||||||
if test "$md5_before" != (md5sum $file)
|
if test "$md5_before" != (md5sum $file)
|
||||||
echo "Changes made. Preparing commit..."
|
echo "Changes made. Preparing commit..."
|
||||||
|
|
||||||
set -l rel_file (realpath --relative-to=$config_dir $file)
|
set -l rel_file (realpath --relative-to=$config_dir $file)
|
||||||
|
|
||||||
if home-manager switch --flake "$config_dir#${
|
if home-manager switch --flake "$config_dir#${
|
||||||
if isNixOS then "nixos" else "arch"
|
if isNixOS then "nixos" else "arch"
|
||||||
}" -b backup
|
}" -b backup
|
||||||
git add -A
|
git add -A
|
||||||
set commit_msg "update: $rel_file"
|
set commit_msg "update: $rel_file"
|
||||||
git commit -m "$commit_msg"
|
git commit -m "$commit_msg"
|
||||||
git push
|
git push
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
echo "No changes made"
|
echo "No changes made"
|
||||||
end
|
end
|
||||||
popd
|
popd
|
||||||
end
|
end
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
ls = {
|
ls = {
|
||||||
body = "eza --long --icons --group-directories-first --git $argv";
|
body = # fish
|
||||||
|
"eza --long --icons --group-directories-first --git $argv";
|
||||||
};
|
};
|
||||||
|
|
||||||
lst = {
|
lst = {
|
||||||
body = "eza --long --icons --color --git --tree $argv";
|
body = # fish
|
||||||
|
"eza --long --icons --color --git --tree $argv";
|
||||||
};
|
};
|
||||||
|
|
||||||
cp_mail = {
|
cp_mail = {
|
||||||
body = "pandoc $argv -t html |wl-copy -t text/html";
|
body = # fish
|
||||||
|
"pandoc $argv -t html |wl-copy -t text/html";
|
||||||
};
|
};
|
||||||
|
|
||||||
update = {
|
update = {
|
||||||
body = ''
|
body = # fish
|
||||||
echo "===System update==="
|
''
|
||||||
|
echo "===System update==="
|
||||||
|
|
||||||
if not type -q yay
|
if not type -q yay
|
||||||
echo "Yay not found… Is this Arch? If yes, then please consider installing it!"
|
echo "Yay not found… Is this Arch? If yes, then please consider installing it!"
|
||||||
else
|
else
|
||||||
yay
|
yay
|
||||||
end
|
end
|
||||||
|
|
||||||
if type -q pacman
|
if type -q pacman
|
||||||
echo "===Remove orphans==="
|
echo "===Remove orphans==="
|
||||||
set orphans (pacman -Qtdq)
|
set orphans (pacman -Qtdq)
|
||||||
if test (count $orphans) -gt 0
|
if test (count $orphans) -gt 0
|
||||||
sudo pacman -Rns $orphans
|
sudo pacman -Rns $orphans
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if type -q flatpak
|
if type -q flatpak
|
||||||
echo "===Flatpak update==="
|
echo "===Flatpak update==="
|
||||||
flatpak update --noninteractive
|
flatpak update --noninteractive
|
||||||
echo "===Flatpak remove unused==="
|
echo "===Flatpak remove unused==="
|
||||||
flatpak uninstall --unused
|
flatpak uninstall --unused
|
||||||
end
|
end
|
||||||
|
|
||||||
if type -q nix-channel
|
if type -q nix-channel
|
||||||
echo "===Nix update==="
|
echo "===Nix update==="
|
||||||
nix-channel --update
|
nix-channel --update
|
||||||
echo "===Nix garbage collection==="
|
echo "===Nix garbage collection==="
|
||||||
home-manager expire-generations "-7 days"
|
home-manager expire-generations "-7 days"
|
||||||
end
|
end
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
rm = {
|
rm = {
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
full_name,
|
userConfig,
|
||||||
email,
|
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@@ -14,8 +13,8 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
user = {
|
user = {
|
||||||
name = full_name;
|
name = userConfig.fullName;
|
||||||
email = email;
|
email = userConfig.email;
|
||||||
};
|
};
|
||||||
init.defaultBranch = "master";
|
init.defaultBranch = "master";
|
||||||
push.autoSetupRemote = true;
|
push.autoSetupRemote = true;
|
||||||
@@ -23,7 +22,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
signing = {
|
signing = {
|
||||||
key = email;
|
key = userConfig.email;
|
||||||
signByDefault = true;
|
signByDefault = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ username, ... }:
|
{ userConfig, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
services.ssh-agent.enable = true;
|
services.ssh-agent.enable = true;
|
||||||
@@ -10,13 +10,13 @@
|
|||||||
matchBlocks = {
|
matchBlocks = {
|
||||||
"dmowski" = {
|
"dmowski" = {
|
||||||
hostname = "192.168.0.30";
|
hostname = "192.168.0.30";
|
||||||
user = username;
|
user = userConfig.username;
|
||||||
port = 22;
|
port = 22;
|
||||||
identityFile = "~/.ssh/dmowski";
|
identityFile = "~/.ssh/dmowski";
|
||||||
};
|
};
|
||||||
|
|
||||||
"aur.archlinux.org" = {
|
"aur.archlinux.org" = {
|
||||||
user = username;
|
user = userConfig.username;
|
||||||
identityFile = "~/.ssh/aur";
|
identityFile = "~/.ssh/aur";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
13
modules/gtk.nix
Normal file
13
modules/gtk.nix
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
gtk.enable = true;
|
||||||
|
dconf = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
"org/gnome/desktop/interface" = {
|
||||||
|
color-scheme = "prefer-dark";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
isNixOS,
|
isNixOS,
|
||||||
username,
|
userConfig,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
fullscreen = true;
|
fullscreen = true;
|
||||||
early-exit = true;
|
early-exit = true;
|
||||||
initial-tool = "crop";
|
initial-tool = "crop";
|
||||||
output-filename = "/home/${username}/Obrazy/zrzuty/%d-%m-%Y_%H:%M:%S.png";
|
output-filename = "/home/${userConfig.username}/Obrazy/zrzuty/%d-%m-%Y_%H:%M:%S.png";
|
||||||
save-after-copy = true;
|
save-after-copy = true;
|
||||||
copy-command = "wl-copy";
|
copy-command = "wl-copy";
|
||||||
disable-notifications = false;
|
disable-notifications = false;
|
||||||
|
|||||||
14
modules/hypr/hyprtoolkit.nix
Normal file
14
modules/hypr/hyprtoolkit.nix
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# TO BE CHANGED WHEN NIX CONFIG OF THIS FILE WILL RELEASE!!!!
|
||||||
|
xdg.configFile."hypr/hyprtoolkit.conf".text = ''
|
||||||
|
background=0xff11111b
|
||||||
|
base=0xff1e1e2e
|
||||||
|
alternate_base=0xff181825
|
||||||
|
text=0xffcdd6f4
|
||||||
|
bright_text=0xffbac2de
|
||||||
|
accent=0xffcba6f7
|
||||||
|
accent_secondary=0xffb4befe
|
||||||
|
'';
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user