mirror of
https://github.com/szymon-jozef/amazing-dotfiles.git
synced 2026-09-07 12:10:45 +02:00
Compare commits
3 Commits
61026947d3
...
7c45a9d042
| Author | SHA1 | Date | |
|---|---|---|---|
| 7c45a9d042 | |||
| 5500f39c8c | |||
| 0749c86085 |
88
flake.nix
88
flake.nix
@@ -39,98 +39,88 @@
|
||||
}@inputs:
|
||||
|
||||
let
|
||||
baseUserConfig = {
|
||||
defaultUserConfig = {
|
||||
username = "szymon";
|
||||
# for git
|
||||
email = "szymon_jozef@proton.me";
|
||||
fullName = "Szymon P";
|
||||
# your public ssh key
|
||||
signingKey = "~/.ssh/github.pub";
|
||||
|
||||
mainMonitor = "DP-1"; # only for some applications: you still need to set hyprland monitors yourself!
|
||||
statusBar = "ashell"; # available: ashell|waybar
|
||||
mainMonitor = "DP-1";
|
||||
statusBar = "ashell"; # available: ashell | waybar
|
||||
|
||||
pathConfig = {
|
||||
wallpaper = "Obrazy/tapety/catppuccin";
|
||||
screenshot = "Obrazy/zrzuty/";
|
||||
obsidian = "Dokumenty/obsidian";
|
||||
};
|
||||
|
||||
isNixOS = true;
|
||||
hostName = "default";
|
||||
};
|
||||
|
||||
system = "x86_64-linux";
|
||||
|
||||
general_import = import nixpkgs {
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
|
||||
general_module_import = [
|
||||
./home.nix
|
||||
catppuccin.homeModules.catppuccin
|
||||
nixvim.homeModules.nixvim
|
||||
inputs.hyprcursor-phinger.homeManagerModules.hyprcursor-phinger
|
||||
(
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = [
|
||||
zut-calendar.packages.${pkgs.system}.default
|
||||
zutui.packages.${pkgs.system}.default
|
||||
];
|
||||
}
|
||||
)
|
||||
];
|
||||
|
||||
mkHomeConfig =
|
||||
{
|
||||
isNixOS,
|
||||
overrides ? { },
|
||||
hostName,
|
||||
}:
|
||||
mkHome =
|
||||
customConfig:
|
||||
let
|
||||
userConfig = defaultUserConfig // customConfig;
|
||||
in
|
||||
home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = general_import;
|
||||
inherit pkgs;
|
||||
|
||||
extraSpecialArgs = {
|
||||
inherit inputs isNixOS hostName;
|
||||
userConfig = baseUserConfig // overrides;
|
||||
inherit inputs userConfig;
|
||||
};
|
||||
|
||||
modules = general_module_import;
|
||||
modules = [
|
||||
./home.nix
|
||||
catppuccin.homeModules.catppuccin
|
||||
nixvim.homeModules.nixvim
|
||||
inputs.hyprcursor-phinger.homeManagerModules.hyprcursor-phinger
|
||||
(
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = [
|
||||
zut-calendar.packages.${pkgs.stdenv.hostPlatform.system}.default
|
||||
zutui.packages.${pkgs.stdenv.hostPlatform.system}.default
|
||||
];
|
||||
}
|
||||
)
|
||||
]
|
||||
++ (customConfig.extraModules or [ ]);
|
||||
};
|
||||
|
||||
in
|
||||
{
|
||||
homeConfigurations = {
|
||||
"arch" = mkHomeConfig {
|
||||
# You can overwrite default configuration here
|
||||
|
||||
"arch" = mkHome {
|
||||
isNixOS = false;
|
||||
hostName = "arch";
|
||||
};
|
||||
|
||||
"nixos" = mkHomeConfig {
|
||||
"nixos" = mkHome {
|
||||
isNixOS = true;
|
||||
hostName = "nixos";
|
||||
};
|
||||
|
||||
"${baseUserConfig.username}@pitagoras" = mkHomeConfig {
|
||||
isNixOS = true;
|
||||
overrides = {
|
||||
mainMonitor = "eDP-1";
|
||||
};
|
||||
"${defaultUserConfig.username}@pitagoras" = mkHome {
|
||||
hostName = "pitagoras";
|
||||
mainMonitor = "eDP-1";
|
||||
};
|
||||
|
||||
"${baseUserConfig.username}@pilecki" = mkHomeConfig {
|
||||
isNixOS = true;
|
||||
overrides = {
|
||||
mainMonitor = "LVDS-1";
|
||||
};
|
||||
"${defaultUserConfig.username}@pilecki" = mkHome {
|
||||
hostName = "pilecki";
|
||||
mainMonitor = "LVDS-1";
|
||||
};
|
||||
|
||||
"${baseUserConfig.username}@paderewski" = mkHomeConfig {
|
||||
isNixOS = true;
|
||||
overrides = {
|
||||
mainMonitor = "DP-1";
|
||||
};
|
||||
"${defaultUserConfig.username}@paderewski" = mkHome {
|
||||
hostName = "paderewski";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{
|
||||
lib,
|
||||
isNixOS,
|
||||
userConfig,
|
||||
pkgs,
|
||||
...
|
||||
@@ -9,7 +8,7 @@
|
||||
{
|
||||
programs.ashell = {
|
||||
enable = true;
|
||||
package = lib.mkIf (!isNixOS) null;
|
||||
package = lib.mkIf (!userConfig.isNixOS) null;
|
||||
settings = {
|
||||
outputs = {
|
||||
Targets = [ userConfig.mainMonitor ];
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{
|
||||
pkgs,
|
||||
isNixOS,
|
||||
userConfig,
|
||||
...
|
||||
}:
|
||||
@@ -9,7 +8,7 @@
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
package =
|
||||
if isNixOS then pkgs.waybar else (pkgs.writeShellScriptBin "waybar" "exec /usr/bin/waybar \"$@\"");
|
||||
if userConfig.isNixOS then pkgs.waybar else (pkgs.writeShellScriptBin "waybar" "exec /usr/bin/waybar \"$@\"");
|
||||
settings = {
|
||||
mainBar = {
|
||||
layer = "top";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ isNixOS, hostName, ... }:
|
||||
{ userConfig, ... }:
|
||||
|
||||
{
|
||||
programs.fish = {
|
||||
@@ -76,9 +76,40 @@
|
||||
"pandoc $argv -t html |wl-copy -t text/html";
|
||||
};
|
||||
|
||||
update_files = {
|
||||
body =
|
||||
# fish
|
||||
''
|
||||
echo "=== System packages updates ==="
|
||||
pushd /etc/nixos
|
||||
|
||||
git add -A
|
||||
git commit -m 'chore: state before pulling'
|
||||
|
||||
if git pull
|
||||
reload_system
|
||||
end
|
||||
|
||||
popd
|
||||
|
||||
echo "=== User packages update ==="
|
||||
pushd $HOME/.config/home-manager
|
||||
|
||||
git add -A
|
||||
git commit -m 'chore: state before pulling'
|
||||
|
||||
if git pull
|
||||
reload_dotfiles
|
||||
end
|
||||
|
||||
popd
|
||||
'';
|
||||
|
||||
};
|
||||
|
||||
update = {
|
||||
body =
|
||||
if isNixOS then
|
||||
if userConfig.isNixOS then
|
||||
# fish
|
||||
''
|
||||
echo "=== System packages update ==="
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
gtk = {
|
||||
enable = true;
|
||||
colorScheme = "dark";
|
||||
gtk4.theme = null;
|
||||
};
|
||||
|
||||
dconf = {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{ isNixOS, lib, ... }:
|
||||
{ userConfig, lib, ... }:
|
||||
|
||||
{
|
||||
programs.chromium = {
|
||||
enable = true;
|
||||
package = lib.mkIf (!isNixOS) null;
|
||||
package = lib.mkIf (!userConfig.isNixOS) null;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{ lib, isNixOS, ... }:
|
||||
{ lib, userConfig, ... }:
|
||||
|
||||
{
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
package = lib.mkIf (!isNixOS) null;
|
||||
package = lib.mkIf (!userConfig.isNixOS) null;
|
||||
settings = {
|
||||
confirm_os_window_close = 0;
|
||||
dynamic_background_opacity = true;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ isNixOS, pkgs, ... }:
|
||||
{ userConfig, pkgs, ... }:
|
||||
|
||||
{
|
||||
services.mako = {
|
||||
@@ -21,7 +21,7 @@
|
||||
progress-color = "over #313244";
|
||||
output = "DP-1";
|
||||
on-notify =
|
||||
if isNixOS then
|
||||
if userConfig.isNixOS then
|
||||
"exec ${pkgs.pulseaudio}/bin/paplay ${pkgs.sound-theme-freedesktop}/share/sounds/freedesktop/stereo/dialog-information.oga"
|
||||
else
|
||||
"exec paplay /usr/share/sounds/freedesktop/stereo/dialog-information.oga";
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
[urgency=critical]
|
||||
on-notify=${
|
||||
if isNixOS then
|
||||
if userConfig.isNixOS then
|
||||
"exec ${pkgs.pulseaudio}/bin/paplay ${pkgs.sound-theme-freedesktop}/share/sounds/freedesktop/stereo/dialog-information.oga"
|
||||
else
|
||||
"exec paplay /usr/share/sounds/freedesktop/stereo/dialog-information.oga"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
isNixOS,
|
||||
userConfig,
|
||||
...
|
||||
}:
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
programs.mangohud = {
|
||||
enable = true;
|
||||
package = if isNixOS then pkgs.mangohud else (pkgs.runCommand "dummy-mangohud" { } "mkdir $out");
|
||||
package = if userConfig.isNixOS then pkgs.mangohud else (pkgs.runCommand "dummy-mangohud" { } "mkdir $out");
|
||||
};
|
||||
|
||||
xdg.configFile."MangoHud/MangoHud.conf".text = ''
|
||||
|
||||
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
|
||||
owner = "catppuccin";
|
||||
repo = "obsidian";
|
||||
rev = "main";
|
||||
hash = "sha256-IGkP0z8gJj1dbNclpMebZXZvaRby1F8zGNEDPtitfqo=";
|
||||
hash = "sha256-uB0a2nSZkHHf65xBYXyNh50vaAiqdEpKQVf3eXnCVlE=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{
|
||||
isNixOS,
|
||||
lib,
|
||||
pkgs,
|
||||
userConfig,
|
||||
@@ -9,7 +8,7 @@
|
||||
{
|
||||
programs.obsidian = {
|
||||
enable = true;
|
||||
package = lib.mkIf (!isNixOS) null;
|
||||
package = lib.mkIf (!userConfig.isNixOS) null;
|
||||
|
||||
defaultSettings = {
|
||||
app = {
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{
|
||||
lib,
|
||||
isNixOS,
|
||||
userConfig,
|
||||
...
|
||||
}:
|
||||
@@ -8,7 +7,7 @@
|
||||
{
|
||||
programs.satty = {
|
||||
enable = true;
|
||||
package = lib.mkIf (!isNixOS) null;
|
||||
package = lib.mkIf (!userConfig.isNixOS) null;
|
||||
settings = {
|
||||
general = {
|
||||
fullscreen = true;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{ isNixOS, lib, ... }:
|
||||
{ userConfig, lib, ... }:
|
||||
|
||||
{
|
||||
services.hypridle = {
|
||||
enable = true;
|
||||
package = lib.mkIf (!isNixOS) null;
|
||||
package = lib.mkIf (!userConfig.isNixOS) null;
|
||||
|
||||
settings = {
|
||||
general = {
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{
|
||||
isNixOS,
|
||||
lib,
|
||||
userConfig,
|
||||
pkgs,
|
||||
@@ -7,7 +6,7 @@
|
||||
...
|
||||
}:
|
||||
let
|
||||
exe = pkg: bin: if isNixOS then "${pkg}/bin/${bin}" else "/usr/bin/${bin}";
|
||||
exe = pkg: bin: if userConfig.isNixOS then "${pkg}/bin/${bin}" else "/usr/bin/${bin}";
|
||||
|
||||
jq = exe pkgs.jq "jq";
|
||||
grim = exe pkgs.grim "grim";
|
||||
@@ -15,7 +14,7 @@ let
|
||||
wl_copy = exe pkgs.wl-clipboard "wl-copy";
|
||||
notify_send = exe pkgs.libnotify "notify-send";
|
||||
xdg-desktop-portal-hyprland =
|
||||
if isNixOS then
|
||||
if userConfig.isNixOS then
|
||||
"${pkgs.xdg-desktop-portal-hyprland}/libexec/xdg-desktop-portal-hyprland"
|
||||
else
|
||||
"/usr/lib/xdg-desktop-portal-hyprland";
|
||||
@@ -26,9 +25,9 @@ in
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
package =
|
||||
if isNixOS then inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland else null;
|
||||
if userConfig.isNixOS then inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland else null;
|
||||
portalPackage = lib.mkIf (
|
||||
isNixOS
|
||||
userConfig.isNixOS
|
||||
) inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
||||
xwayland.enable = true;
|
||||
|
||||
@@ -36,9 +35,9 @@ in
|
||||
"$mainMod" = "SUPER";
|
||||
"$terminal" = "uwsm app -- kitty";
|
||||
"$menu" = "hyprlauncher";
|
||||
"$music_player" = if isNixOS then "spotify" else "flatpak run com.spotify.Client";
|
||||
"$music_player" = if userConfig.isNixOS then "spotify" else "flatpak run com.spotify.Client";
|
||||
"$notes" = "obsidian";
|
||||
"$browser" = if isNixOS then "zen-beta" else "zen-browser"; # beta on nixos
|
||||
"$browser" = if userConfig.isNixOS then "zen-beta" else "zen-browser"; # beta on nixos
|
||||
"$openrgb_color" = "09ce30";
|
||||
|
||||
env = [
|
||||
@@ -60,7 +59,7 @@ in
|
||||
};
|
||||
|
||||
animations = {
|
||||
enabled = true;
|
||||
enabled = false;
|
||||
bezier = [
|
||||
"easeOutQuint,0.23,1,0.32,1"
|
||||
"easeInOutCubic,0.65,0.05,0.36,1"
|
||||
@@ -142,6 +141,11 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
device = {
|
||||
name = "msft0001:01-06cb:7f28-touchpad";
|
||||
sensitivity = 0;
|
||||
};
|
||||
|
||||
cursor = {
|
||||
no_hardware_cursors = true;
|
||||
inactive_timeout = 5;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{ isNixOS, lib, ... }:
|
||||
{ userConfig, lib, ... }:
|
||||
|
||||
{
|
||||
services.hyprlauncher = {
|
||||
enable = true;
|
||||
package = lib.mkIf (!isNixOS) null;
|
||||
package = lib.mkIf (!userConfig.isNixOS) null;
|
||||
|
||||
settings = {
|
||||
cache.enabled = true;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{ isNixOS, lib, ... }:
|
||||
{ userConfig, lib, ... }:
|
||||
|
||||
{
|
||||
programs.hyprlock = {
|
||||
enable = true;
|
||||
package = lib.mkIf (!isNixOS) null;
|
||||
package = lib.mkIf (!userConfig.isNixOS) null;
|
||||
|
||||
settings = {
|
||||
"$font" = "Monospace";
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
isNixOS,
|
||||
userConfig,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
@@ -8,7 +8,7 @@
|
||||
services.hyprsunset = {
|
||||
enable = true;
|
||||
package =
|
||||
if isNixOS then
|
||||
if userConfig.isNixOS then
|
||||
pkgs.hyprsunset
|
||||
else
|
||||
(pkgs.writeShellScriptBin "hyprsunset" "exec /usr/bin/hyprsunset \"$@\"");
|
||||
|
||||
@@ -59,5 +59,6 @@ in
|
||||
videos = "$HOME/Video";
|
||||
templates = null;
|
||||
publicShare = null;
|
||||
setSessionVariables = true;
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user