Compare commits
2 Commits
5fbbfd7dc6
...
dedc9265bf
Author | SHA1 | Date | |
---|---|---|---|
dedc9265bf | |||
03ba8a4861 |
38
common/spotify/default.nix
Normal file
38
common/spotify/default.nix
Normal file
@ -0,0 +1,38 @@
|
||||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
cfg = config.my.spotify;
|
||||
in {
|
||||
imports =
|
||||
if pkgs.stdenv.isDarwin
|
||||
then [
|
||||
inputs.spicetify.darwinModules.spicetify
|
||||
]
|
||||
else [
|
||||
inputs.spicetify.nixosModules.spicetify
|
||||
];
|
||||
|
||||
options.my.spotify = {
|
||||
enable = lib.mkEnableOption "spotify";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable (
|
||||
let
|
||||
spicePkgs = inputs.spicetify.legacyPackages.${pkgs.stdenv.system};
|
||||
in {
|
||||
programs.spicetify = {
|
||||
enable = true;
|
||||
enabledExtensions = with spicePkgs.extensions; [
|
||||
adblockify
|
||||
keyboardShortcut
|
||||
];
|
||||
theme = spicePkgs.themes.text;
|
||||
colorScheme = "gruvbox";
|
||||
};
|
||||
}
|
||||
);
|
||||
}
|
133
flake.lock
generated
133
flake.lock
generated
@ -26,18 +26,21 @@
|
||||
"ags": {
|
||||
"inputs": {
|
||||
"astal": "astal",
|
||||
"nixpkgs": "nixpkgs"
|
||||
"nixpkgs": [
|
||||
"hyprpanel",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1744557573,
|
||||
"narHash": "sha256-XAyj0iDuI51BytJ1PwN53uLpzTDdznPDQFG4RwihlTQ=",
|
||||
"owner": "Aylur",
|
||||
"lastModified": 1736090999,
|
||||
"narHash": "sha256-B5CJuHqfJrzPa7tObK0H9669/EClSHpa/P7B9EuvElU=",
|
||||
"owner": "aylur",
|
||||
"repo": "ags",
|
||||
"rev": "3ed9737bdbc8fc7a7c7ceef2165c9109f336bff6",
|
||||
"rev": "5527c3c07d92c11e04e7fd99d58429493dba7e3c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Aylur",
|
||||
"owner": "aylur",
|
||||
"repo": "ags",
|
||||
"type": "github"
|
||||
}
|
||||
@ -45,16 +48,17 @@
|
||||
"astal": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hyprpanel",
|
||||
"ags",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1742571008,
|
||||
"narHash": "sha256-5WgfJAeBpxiKbTR/gJvxrGYfqQRge5aUDcGKmU1YZ1Q=",
|
||||
"lastModified": 1735172721,
|
||||
"narHash": "sha256-rtEAwGsHSppnkR3Qg3eRJ6Xh/F84IY9CrBBLzYabalY=",
|
||||
"owner": "aylur",
|
||||
"repo": "astal",
|
||||
"rev": "dc0e5d37abe9424c53dcbd2506a4886ffee6296e",
|
||||
"rev": "6c84b64efc736e039a8a10774a4a1bf772c37aa2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -260,6 +264,27 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprpanel": {
|
||||
"inputs": {
|
||||
"ags": "ags",
|
||||
"nixpkgs": [
|
||||
"unstable"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1745885816,
|
||||
"narHash": "sha256-yuIb6/gGcII+2YgtTLcYdga0pcL63B18xQ/oitOhg7k=",
|
||||
"owner": "jas-singhfsu",
|
||||
"repo": "hyprpanel",
|
||||
"rev": "0c82ce9704c8063be8d8f60443071c91943eb68c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "jas-singhfsu",
|
||||
"repo": "hyprpanel",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"ixx": {
|
||||
"inputs": {
|
||||
"flake-utils": [
|
||||
@ -306,7 +331,7 @@
|
||||
"nix-vscode-extensions": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1746755975,
|
||||
@ -325,7 +350,7 @@
|
||||
"nixos-wsl": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1746453552,
|
||||
@ -344,17 +369,17 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1743583204,
|
||||
"narHash": "sha256-F7n4+KOIfWrwoQjXrL2wD9RhFYLs2/GGe/MQY1sSdlE=",
|
||||
"owner": "nixos",
|
||||
"lastModified": 1744868846,
|
||||
"narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "2c8d3f48d33929642c1c12cd243df4cc7d2ce434",
|
||||
"rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
@ -374,22 +399,6 @@
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1744868846,
|
||||
"narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1742937945,
|
||||
"narHash": "sha256-lWc+79eZRyvHp/SqMhHTMzZVhpxkRvthsP1Qx6UCq0E=",
|
||||
@ -405,7 +414,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1746557022,
|
||||
"narHash": "sha256-QkNoyEf6TbaTW5UZYX0OkwIJ/ZMeKSSoOMnSDPQuol0=",
|
||||
@ -420,7 +429,7 @@
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixpkgs_5": {
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1746663147,
|
||||
"narHash": "sha256-Ua0drDHawlzNqJnclTJGf87dBmaO/tn7iZ+TCkTRpRc=",
|
||||
@ -436,7 +445,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_6": {
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 1744536153,
|
||||
"narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=",
|
||||
@ -452,7 +461,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_7": {
|
||||
"nixpkgs_6": {
|
||||
"locked": {
|
||||
"lastModified": 1745377448,
|
||||
"narHash": "sha256-jhZDfXVKdD7TSEGgzFJQvEEZ2K65UMiqW5YJ2aIqxMA=",
|
||||
@ -493,7 +502,7 @@
|
||||
"nur": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts_3",
|
||||
"nixpkgs": "nixpkgs_5",
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
@ -536,17 +545,18 @@
|
||||
"root": {
|
||||
"inputs": {
|
||||
"agenix": "agenix",
|
||||
"ags": "ags",
|
||||
"darwin": "darwin_2",
|
||||
"flake-parts": "flake-parts",
|
||||
"home-manager": "home-manager_2",
|
||||
"hyprpanel": "hyprpanel",
|
||||
"master": "master",
|
||||
"nix-vscode-extensions": "nix-vscode-extensions",
|
||||
"nixos-wsl": "nixos-wsl",
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"nixvim": "nixvim",
|
||||
"nur": "nur",
|
||||
"rust-overlay": "rust-overlay",
|
||||
"spicetify": "spicetify",
|
||||
"treefmt-nix": "treefmt-nix_2",
|
||||
"unstable": "unstable",
|
||||
"utils": "utils",
|
||||
@ -555,7 +565,7 @@
|
||||
},
|
||||
"rust-overlay": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_6"
|
||||
"nixpkgs": "nixpkgs_5"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1746758179,
|
||||
@ -571,6 +581,28 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"spicetify": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": "systems_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1743595372,
|
||||
"narHash": "sha256-e3x1mhpPpYgyyin9j/VbrBpOT5PFpEfx2hkxVZuJZhg=",
|
||||
"owner": "Gerg-L",
|
||||
"repo": "spicetify-nix",
|
||||
"rev": "543f12dd14c62ddee79ab79fbfd8726f312b89ff",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Gerg-L",
|
||||
"ref": "24.11",
|
||||
"repo": "spicetify-nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
@ -631,6 +663,21 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_5": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"treefmt-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@ -654,7 +701,7 @@
|
||||
},
|
||||
"treefmt-nix_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_7"
|
||||
"nixpkgs": "nixpkgs_6"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1746216483,
|
||||
@ -687,7 +734,7 @@
|
||||
},
|
||||
"utils": {
|
||||
"inputs": {
|
||||
"systems": "systems_4"
|
||||
"systems": "systems_5"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
|
10
flake.nix
10
flake.nix
@ -26,13 +26,21 @@
|
||||
url = "github:nix-community/nixvim";
|
||||
inputs.nixpkgs.follows = "unstable";
|
||||
};
|
||||
spicetify = {
|
||||
url = "github:Gerg-L/spicetify-nix/24.11";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
zen-browser = {
|
||||
url = "github:youwen5/zen-browser-flake";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
rust-overlay.url = "github:oxalica/rust-overlay";
|
||||
nix-vscode-extensions.url = "github:nix-community/nix-vscode-extensions";
|
||||
ags.url = "github:Aylur/ags";
|
||||
hyprpanel = {
|
||||
url = "github:jas-singhfsu/hyprpanel";
|
||||
inputs.nixpkgs.follows = "unstable";
|
||||
};
|
||||
|
||||
agenix = {
|
||||
url = "github:ryantm/agenix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
@ -69,10 +69,14 @@
|
||||
programs.zsh.enable = true;
|
||||
environment.variables.EDITOR = "nvim";
|
||||
|
||||
my.hyprland.enable = true;
|
||||
my.libreoffice.enable = true;
|
||||
my.steam.enable = true;
|
||||
my.utilities.enable = true;
|
||||
my = {
|
||||
hyprland.enable = true;
|
||||
libreoffice.enable = true;
|
||||
steam.enable = true;
|
||||
spotify.enable = true;
|
||||
utilities.enable = true;
|
||||
zed.enable = true;
|
||||
};
|
||||
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users.users.michael = {
|
||||
|
@ -1,43 +0,0 @@
|
||||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
cfg = config.my.ags;
|
||||
in {
|
||||
imports = [inputs.ags.homeManagerModules.default];
|
||||
|
||||
options.my.ags = {
|
||||
enable = mkEnableOption "ags";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
programs.ags = {
|
||||
enable = true;
|
||||
|
||||
extraPackages =
|
||||
(with pkgs; [
|
||||
fzf
|
||||
])
|
||||
++ (with inputs.ags.packages.${pkgs.system}; [
|
||||
battery
|
||||
hyprland
|
||||
mpris
|
||||
network
|
||||
tray
|
||||
wireplumber
|
||||
]);
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
brightnessctl
|
||||
fd
|
||||
dart-sass
|
||||
hyprpicker
|
||||
swww
|
||||
];
|
||||
};
|
||||
}
|
@ -44,6 +44,7 @@ in {
|
||||
gnome-font-viewer
|
||||
gnome-system-monitor
|
||||
monophony # music player
|
||||
zen-browser
|
||||
|
||||
# Nvim clipboard
|
||||
wl-clipboard
|
||||
|
@ -1,4 +1,5 @@
|
||||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
@ -7,13 +8,13 @@
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
cfg = config.my.hyprland;
|
||||
in {
|
||||
imports = [inputs.hyprpanel.homeManagerModules.hyprpanel];
|
||||
|
||||
options.my.hyprland = {
|
||||
enable = mkEnableOption "hyprland";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
my.ags.enable = true;
|
||||
|
||||
programs.fuzzel.enable = true;
|
||||
|
||||
home.packages = with pkgs; [
|
||||
@ -23,16 +24,25 @@ in {
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
plugins = with pkgs.hyprlandPlugins; [
|
||||
hy3
|
||||
];
|
||||
settings = {
|
||||
# debug.disable_logs = false;
|
||||
"$mod" = "SUPER";
|
||||
general = {
|
||||
gaps_in = 5;
|
||||
gaps_out = 10;
|
||||
# No top gap since the bar is there
|
||||
gaps_out = "0,10,10,10";
|
||||
layout = "hy3";
|
||||
};
|
||||
input = {
|
||||
follow_mouse = 2;
|
||||
sensitivity = -0.2;
|
||||
};
|
||||
plugin.hy3 = {
|
||||
autotile.enable = true;
|
||||
};
|
||||
exec-once = [
|
||||
"hyprctl setcursor Adwaita 24"
|
||||
"ags"
|
||||
@ -49,15 +59,19 @@ in {
|
||||
"$mod, T, exec, foot"
|
||||
", Print, exec, grimblast copy area"
|
||||
# Windows
|
||||
"$mod, H, movefocus, l"
|
||||
"$mod, J, movefocus, d"
|
||||
"$mod, K, movefocus, u"
|
||||
"$mod, L, movefocus, r"
|
||||
"$mod, H, hy3:movefocus, l"
|
||||
"$mod, J, hy3:movefocus, d"
|
||||
"$mod, K, hy3:movefocus, u"
|
||||
"$mod, L, hy3:movefocus, r"
|
||||
# Moving windows
|
||||
"$mod SHIFT, H, movewindow, l"
|
||||
"$mod SHIFT, J, movewindow, d"
|
||||
"$mod SHIFT, K, movewindow, u"
|
||||
"$mod SHIFT, L, movewindow, r"
|
||||
"$mod SHIFT, H, hy3:movewindow, l"
|
||||
"$mod SHIFT, J, hy3:movewindow, d"
|
||||
"$mod SHIFT, K, hy3:movewindow, u"
|
||||
"$mod SHIFT, L, hy3:movewindow, r"
|
||||
# Groups
|
||||
"$mod, E, hy3:makegroup, opposite"
|
||||
"$mod SHIFT, E, hy3:changegroup, opposite"
|
||||
"$mod, W, hy3:changegroup, toggletab"
|
||||
]
|
||||
++ (
|
||||
# workspaces
|
||||
@ -103,6 +117,8 @@ in {
|
||||
# mouse bindings
|
||||
bindm=ALT,mouse:272,movewindow
|
||||
bindm=ALT,mouse:273,resizewindow
|
||||
bindn = , mouse_down, hy3:focustab, l, require_hovered
|
||||
bindn = , mouse_up, hy3:focustab, r, require_hovered
|
||||
|
||||
# no gaps when only window
|
||||
workspace = w[t1], gapsout:0, gapsin:0
|
||||
@ -234,5 +250,54 @@ in {
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
# https://hyprpanel.com/configuration/settings.html#home-manager-module
|
||||
programs.hyprpanel = {
|
||||
enable = true;
|
||||
systemd.enable = true;
|
||||
hyprland.enable = true;
|
||||
|
||||
settings = {
|
||||
layout."bar.layouts"."0" = {
|
||||
left = ["dashboard" "workspaces"];
|
||||
middle = ["clock" "notifications"];
|
||||
right = ["media" "hypridle" "volume" "network" "bluetooth" "systray"];
|
||||
};
|
||||
theme = {
|
||||
name = "gruvbox";
|
||||
font = {
|
||||
name = "Inter";
|
||||
size = "1rem";
|
||||
weight = 600;
|
||||
};
|
||||
bar = {
|
||||
transparent = true;
|
||||
outer_spacing = "0.5em";
|
||||
margin_top = "0.5em";
|
||||
margin_bottom = "0.5em";
|
||||
|
||||
buttons.clock.spacing = "0";
|
||||
};
|
||||
};
|
||||
bar = {
|
||||
launcher.icon = "";
|
||||
clock = {
|
||||
format = "%b %d %l:%M %p";
|
||||
showIcon = false;
|
||||
};
|
||||
systray.ignore = ["spotify-client"];
|
||||
customModules.hypridle = {
|
||||
label = false;
|
||||
offIcon = "";
|
||||
onIcon = "";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
override = {
|
||||
"theme.bar.buttons.workspaces.active" = "#ebdbb2";
|
||||
"theme.bar.buttons.workspaces.occupied" = "#665c54";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -33,6 +33,7 @@
|
||||
|
||||
# External overlays
|
||||
# Included after the above to ensure modifications are applied
|
||||
hyprpanel = inputs.hyprpanel.overlay;
|
||||
rust-overlay = inputs.rust-overlay.overlays.default;
|
||||
vscode-extensions = inputs.nix-vscode-extensions.overlays.default;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user