mirror of
https://github.com/alyraffauf/nixcfg.git
synced 2024-11-22 04:53:54 -05:00
home -> homeManagerModules
This commit is contained in:
parent
aa64f93930
commit
99e5f539d5
10
flake.nix
10
flake.nix
|
@ -34,13 +34,13 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs@{ nixpkgs, home-manager, nixpkgs-unstable
|
outputs =
|
||||||
, home-manager-unstable, nixos-hardware, ... }: {
|
inputs@{ nixpkgs-unstable, home-manager-unstable, nixos-hardware, ... }: {
|
||||||
|
|
||||||
homeConfigurations."aly" =
|
homeConfigurations."aly" =
|
||||||
home-manager-unstable.lib.homeManagerConfiguration {
|
home-manager-unstable.lib.homeManagerConfiguration {
|
||||||
pkgs = import nixpkgs-unstable { system = "x86_64-linux"; };
|
pkgs = import nixpkgs-unstable { system = "x86_64-linux"; };
|
||||||
modules = [ ./home/aly.nix ];
|
modules = [ ./homeManagerModules ];
|
||||||
};
|
};
|
||||||
|
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
|
@ -48,6 +48,7 @@
|
||||||
# Framework 13 with AMD Ryzen 7640U and 32GB RAM.
|
# Framework 13 with AMD Ryzen 7640U and 32GB RAM.
|
||||||
lavaridge = nixpkgs-unstable.lib.nixosSystem {
|
lavaridge = nixpkgs-unstable.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
|
specialArgs = { inherit inputs; };
|
||||||
modules = [
|
modules = [
|
||||||
nixos-hardware.nixosModules.framework-13-7040-amd
|
nixos-hardware.nixosModules.framework-13-7040-amd
|
||||||
home-manager-unstable.nixosModules.home-manager
|
home-manager-unstable.nixosModules.home-manager
|
||||||
|
@ -59,6 +60,7 @@
|
||||||
# Home Lab. Ryzen 5 2600 with 16GB RAM, RX 6700.
|
# Home Lab. Ryzen 5 2600 with 16GB RAM, RX 6700.
|
||||||
mauville = nixpkgs-unstable.lib.nixosSystem {
|
mauville = nixpkgs-unstable.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
|
specialArgs = { inherit inputs; };
|
||||||
modules = [
|
modules = [
|
||||||
home-manager-unstable.nixosModules.home-manager
|
home-manager-unstable.nixosModules.home-manager
|
||||||
./hosts/mauville
|
./hosts/mauville
|
||||||
|
@ -69,6 +71,7 @@
|
||||||
# Lenovo Yoga 9i with i7-1360P and 16GB RAM.
|
# Lenovo Yoga 9i with i7-1360P and 16GB RAM.
|
||||||
petalburg = nixpkgs-unstable.lib.nixosSystem {
|
petalburg = nixpkgs-unstable.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
|
specialArgs = { inherit inputs; };
|
||||||
modules = [
|
modules = [
|
||||||
nixos-hardware.nixosModules.common-pc-laptop-ssd
|
nixos-hardware.nixosModules.common-pc-laptop-ssd
|
||||||
nixos-hardware.nixosModules.common-cpu-intel
|
nixos-hardware.nixosModules.common-cpu-intel
|
||||||
|
@ -81,6 +84,7 @@
|
||||||
# T440p with i5-4210M and 16GB RAM.
|
# T440p with i5-4210M and 16GB RAM.
|
||||||
rustboro = nixpkgs-unstable.lib.nixosSystem {
|
rustboro = nixpkgs-unstable.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
|
specialArgs = { inherit inputs; };
|
||||||
modules = [
|
modules = [
|
||||||
nixos-hardware.nixosModules.lenovo-thinkpad-t440p
|
nixos-hardware.nixosModules.lenovo-thinkpad-t440p
|
||||||
home-manager-unstable.nixosModules.home-manager
|
home-manager-unstable.nixosModules.home-manager
|
||||||
|
|
|
@ -1,30 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
programs.alacritty = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
colors = {
|
|
||||||
primary = {
|
|
||||||
foreground = "#fafafa";
|
|
||||||
background = "#232634";
|
|
||||||
};
|
|
||||||
draw_bold_text_with_bright_colors = true;
|
|
||||||
};
|
|
||||||
font = {
|
|
||||||
normal = {
|
|
||||||
family = "NotoSansM Nerd Font";
|
|
||||||
style = "Regular";
|
|
||||||
};
|
|
||||||
size = 10;
|
|
||||||
};
|
|
||||||
selection.save_to_clipboard = true;
|
|
||||||
window = {
|
|
||||||
blur = true;
|
|
||||||
# decorations = "None";
|
|
||||||
dynamic_padding = true;
|
|
||||||
opacity = 0.8;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,5 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [ ./common.nix ./common-gui.nix ./gnome ];
|
|
||||||
}
|
|
|
@ -1,5 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [ ./common.nix ./common-gui.nix ./hypr ./waybar ./mako ./fuzzel ];
|
|
||||||
}
|
|
|
@ -1,5 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [ ./common.nix ./common-gui.nix ];
|
|
||||||
}
|
|
|
@ -1,5 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [ ./common.nix ./shell ];
|
|
||||||
}
|
|
|
@ -1,35 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [ ./alacritty ];
|
|
||||||
|
|
||||||
programs.librewolf = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
"browser.safebrowsing.malware.enabled" = true;
|
|
||||||
"browser.safebrowsing.phishing.enabled" = true;
|
|
||||||
"browser.safebrowsing.blockedURIs.enabled" = true;
|
|
||||||
|
|
||||||
"browser.safebrowsing.provider.google4.gethashURL" =
|
|
||||||
"https://safebrowsing.googleapis.com/v4/fullHashes:find?$ct=application/x-protobuf&key=%GOOGLE_SAFEBROWSING_API_KEY%&$httpMethod=POST";
|
|
||||||
|
|
||||||
"browser.safebrowsing.provider.google4.updateURL" =
|
|
||||||
"https://safebrowsing.googleapis.com/v4/threatListUpdates:fetch?$ct=application/x-protobuf&key=%GOOGLE_SAFEBROWSING_API_KEY%&$httpMethod=POST";
|
|
||||||
|
|
||||||
"browser.safebrowsing.provider.google.gethashURL" =
|
|
||||||
"https://safebrowsing.google.com/safebrowsing/gethash?client=SAFEBROWSING_ID&appver=%MAJOR_VERSION%&pver=2.2";
|
|
||||||
|
|
||||||
"browser.safebrowsing.provider.google.updateURL" =
|
|
||||||
"https://safebrowsing.google.com/safebrowsing/downloads?client=SAFEBROWSING_ID&appver=%MAJOR_VERSION%&pver=2.2&key=%GOOGLE_SAFEBROWSING_API_KEY%";
|
|
||||||
"browser.safebrowsing.downloads.enabled" = true;
|
|
||||||
|
|
||||||
"identity.fxaccounts.enabled" = true;
|
|
||||||
|
|
||||||
"privacy.clearOnShutdown.history" = false;
|
|
||||||
|
|
||||||
"middlemouse.paste" = false;
|
|
||||||
"general.autoScroll" = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [ ./shell ];
|
|
||||||
home.username = "aly";
|
|
||||||
home.homeDirectory = "/home/aly";
|
|
||||||
|
|
||||||
home.stateVersion = "23.11";
|
|
||||||
programs.home-manager.enable = true;
|
|
||||||
|
|
||||||
services.syncthing.enable = true;
|
|
||||||
}
|
|
|
@ -1,12 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [ ./gnome ./common-gui.nix ];
|
|
||||||
home.username = "dustin";
|
|
||||||
home.homeDirectory = "/home/dustin";
|
|
||||||
|
|
||||||
home.stateVersion = "23.11";
|
|
||||||
programs.home-manager.enable = true;
|
|
||||||
|
|
||||||
services.syncthing.enable = true;
|
|
||||||
}
|
|
|
@ -1,23 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
programs.fuzzel = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
main = {
|
|
||||||
font = "NotoSansM Nerd Font Regular";
|
|
||||||
icon-theme = "Papirus-Dark";
|
|
||||||
layer = "overlay";
|
|
||||||
terminal = "${pkgs.alacritty}/bin/alacritty -e";
|
|
||||||
};
|
|
||||||
border = { width = 2; };
|
|
||||||
colors = {
|
|
||||||
background = "#232634CC";
|
|
||||||
selection = "#232634FF";
|
|
||||||
selection-match = "#e78284FF";
|
|
||||||
selection-text = "#f4b8e4FF";
|
|
||||||
text = "#fafafaFF";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,43 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
dconf.enable = true;
|
|
||||||
dconf.settings = {
|
|
||||||
"org/gnome/desktop/datetime".automatic-timezone = true;
|
|
||||||
"org/gnome/desktop/interface".clock-format = "12h";
|
|
||||||
"org/gnome/desktop/interface".enable-hot-corners = true;
|
|
||||||
"org/gnome/desktop/peripherals/touchpad".tap-to-click = true;
|
|
||||||
"org/gnome/desktop/search-providers".enabled =
|
|
||||||
"['org.gnome.Calendar.desktop', 'org.gnome.Weather.desktop', 'org.gnome.Contacts.desktop', 'org.gnome.Calculator.desktop', 'org.gnome.Characters.desktop', 'org.gnome.clocks.desktop']";
|
|
||||||
"org/gnome/desktop/wm/preferences".auto-raise = true;
|
|
||||||
"org/gnome/mutter".dynamic-workspaces = true;
|
|
||||||
"org/gnome/mutter".edge-tiling = true;
|
|
||||||
"org/gnome/mutter".workspaces-only-on-primary = true;
|
|
||||||
"org/gnome/shell/extensions/blur-my-shell/overview".style-components = 3;
|
|
||||||
"org/gnome/shell/extensions/blur-my-shell/panel".blur = false;
|
|
||||||
"org/gnome/shell/extensions/blur-my-shell/panel".customize = true;
|
|
||||||
"org/gnome/shell/extensions/blur-my-shell/panel".style-panel = 0;
|
|
||||||
"org/gnome/shell/extensions/blur-my-shell/panel".override-background =
|
|
||||||
false;
|
|
||||||
"org/gnome/shell/extensions/blur-my-shell/panel".override-background-dynamically =
|
|
||||||
false;
|
|
||||||
"org/gnome/shell/extensions/blur-my-shell/panel".unblur-in-overview = true;
|
|
||||||
"org/gnome/system/location".enabled = true;
|
|
||||||
"org/gtk/gtk4/settings/file-chooser".sort-directories-first = true;
|
|
||||||
"org/gtk/settings/file-chooser".sort-directories-first = true;
|
|
||||||
"org/gnome/shell".enabled-extensions = [
|
|
||||||
"appindicatorsupport@rgcjonas.gmail.com"
|
|
||||||
"blur-my-shell@aunetx"
|
|
||||||
"gsconnect@andyholmes.github.io"
|
|
||||||
"nightthemeswitcher@romainvigier.fr"
|
|
||||||
"noannoyance-fork@vrba.dev"
|
|
||||||
"tailscale-status@maxgallup.github.com"
|
|
||||||
"tiling-assistant@leleat-on-github"
|
|
||||||
"drive-menu@gnome-shell-extensions.gcampax.github.com"
|
|
||||||
];
|
|
||||||
"org/virt-manager/virt-manager/connections" = {
|
|
||||||
autoconnect = [ "qemu:///system" ];
|
|
||||||
uris = [ "qemu:///system" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,96 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
# Packages that should be installed to the user profile.
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
brightnessctl
|
|
||||||
evince
|
|
||||||
hyprcursor
|
|
||||||
hypridle
|
|
||||||
hyprland-protocols
|
|
||||||
hyprlock
|
|
||||||
hyprnome
|
|
||||||
hyprpaper
|
|
||||||
hyprshade
|
|
||||||
hyprshot
|
|
||||||
playerctl
|
|
||||||
pyprland
|
|
||||||
xdg-desktop-portal-hyprland
|
|
||||||
xfce.exo
|
|
||||||
xfce.ristretto
|
|
||||||
xfce.thunar
|
|
||||||
xfce.thunar-archive-plugin
|
|
||||||
xfce.thunar-media-tags-plugin
|
|
||||||
xfce.thunar-volman
|
|
||||||
xfce.tumbler
|
|
||||||
xfce.xfce4-settings
|
|
||||||
xfce.xfce4-taskmanager
|
|
||||||
xfce.xfconf
|
|
||||||
];
|
|
||||||
|
|
||||||
services.gpg-agent.enable = true;
|
|
||||||
|
|
||||||
wayland.windowManager.hyprland = {
|
|
||||||
enable = true;
|
|
||||||
extraConfig = builtins.readFile ./hyprland.conf;
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg.configFile."hypr/hypridle.conf".source = ./hypridle.conf;
|
|
||||||
|
|
||||||
xdg.configFile."hypr/hyprlock.conf".source = ./hyprlock.conf;
|
|
||||||
|
|
||||||
xdg.configFile."hypr/hyprpaper.conf".source = ./hyprpaper.conf;
|
|
||||||
|
|
||||||
xdg.configFile."hypr/wallpapers/greenCity.jpg".source =
|
|
||||||
./wallpapers/greenCity.jpg;
|
|
||||||
xdg.configFile."hypr/wallpapers/jr-korpa-9XngoIpxcEo-unsplash.jpg".source =
|
|
||||||
./wallpapers/jr-korpa-9XngoIpxcEo-unsplash.jpg;
|
|
||||||
xdg.configFile."hypr/wallpapers/salty-justice-NOMebOREvtc-unsplash.jpg".source =
|
|
||||||
./wallpapers/salty-justice-NOMebOREvtc-unsplash.jpg;
|
|
||||||
|
|
||||||
xdg.configFile."hypr/shaders/blue-light-filter.glsl".source =
|
|
||||||
./blue-light-filter.glsl;
|
|
||||||
xdg.configFile."hypr/hyprshade.toml".source = ./hyprshade.toml;
|
|
||||||
|
|
||||||
xdg.configFile."hypr/pyprland.toml".source = ./pyprland.toml;
|
|
||||||
|
|
||||||
xdg.configFile."xfce4/helpers.rc".source = ../xfce/helpers.rc;
|
|
||||||
|
|
||||||
home.pointerCursor = {
|
|
||||||
gtk.enable = true;
|
|
||||||
# x11.enable = true;
|
|
||||||
package = pkgs.catppuccin-cursors.frappeDark;
|
|
||||||
name = "Catppuccin-Frappe-Dark-Cursors";
|
|
||||||
size = 24;
|
|
||||||
};
|
|
||||||
|
|
||||||
qt = {
|
|
||||||
enable = true;
|
|
||||||
platformTheme = "gtk";
|
|
||||||
style.name = "Catppuccin-Frappe-Compact-Mauve-Dark";
|
|
||||||
};
|
|
||||||
|
|
||||||
gtk = {
|
|
||||||
enable = true;
|
|
||||||
theme = {
|
|
||||||
package = pkgs.catppuccin-gtk.override {
|
|
||||||
accents = [ "mauve" ];
|
|
||||||
size = "compact";
|
|
||||||
variant = "frappe";
|
|
||||||
tweaks = [ "normal" ];
|
|
||||||
};
|
|
||||||
name = "Catppuccin-Frappe-Compact-Mauve-Dark";
|
|
||||||
};
|
|
||||||
iconTheme = {
|
|
||||||
package = pkgs.catppuccin-papirus-folders.override {
|
|
||||||
flavor = "frappe";
|
|
||||||
accent = "mauve";
|
|
||||||
};
|
|
||||||
name = "Papirus-Dark";
|
|
||||||
};
|
|
||||||
font = {
|
|
||||||
name = "NotoSans Nerd Font Regular";
|
|
||||||
size = 11;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,3 +0,0 @@
|
||||||
[pyprland]
|
|
||||||
plugins = ["expose", "scratchpads"]
|
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
services.mako = {
|
|
||||||
enable = true;
|
|
||||||
anchor = "top-center";
|
|
||||||
backgroundColor = "#232634CC";
|
|
||||||
borderColor = "#ca9ee6";
|
|
||||||
borderRadius = 10;
|
|
||||||
defaultTimeout = 10000;
|
|
||||||
font = "NotoSans Nerd Font Regular 10";
|
|
||||||
height = 300;
|
|
||||||
layer = "top";
|
|
||||||
padding = "15";
|
|
||||||
textColor = "#FAFAFA";
|
|
||||||
width = 400;
|
|
||||||
margin = "20,0";
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,98 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
# backblaze-b2
|
|
||||||
curl
|
|
||||||
gh
|
|
||||||
git
|
|
||||||
nixfmt
|
|
||||||
python3
|
|
||||||
ruby
|
|
||||||
wget
|
|
||||||
browsh
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.bash = {
|
|
||||||
enable = true;
|
|
||||||
enableCompletion = true;
|
|
||||||
initExtra = ''
|
|
||||||
export PS1="[\[$(tput setaf 27)\]\u\[$(tput setaf 135)\]@\[$(tput setaf 45)\]\h:\[$(tput setaf 33)\]\w] \[$(tput sgr0)\]$ "
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.emacs = {
|
|
||||||
enable = true;
|
|
||||||
extraPackages = (epkgs:
|
|
||||||
(with epkgs; [
|
|
||||||
better-defaults
|
|
||||||
catppuccin-theme
|
|
||||||
markdown-mode
|
|
||||||
nix-mode
|
|
||||||
org
|
|
||||||
org-bullets
|
|
||||||
org-journal
|
|
||||||
org-roam
|
|
||||||
ox-pandoc
|
|
||||||
projectile
|
|
||||||
python
|
|
||||||
treemacs
|
|
||||||
treemacs-projectile
|
|
||||||
treemacs-tab-bar
|
|
||||||
use-package
|
|
||||||
yaml
|
|
||||||
yaml-mode
|
|
||||||
]));
|
|
||||||
package = pkgs.emacs-nox;
|
|
||||||
extraConfig = builtins.readFile ./emacs.el;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.eza = {
|
|
||||||
enable = true;
|
|
||||||
git = true;
|
|
||||||
icons = true;
|
|
||||||
extraOptions = [ "--group-directories-first" "--header" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.fzf = {
|
|
||||||
enable = true;
|
|
||||||
tmux.enableShellIntegration = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.neovim = {
|
|
||||||
enable = true;
|
|
||||||
viAlias = true;
|
|
||||||
vimAlias = true;
|
|
||||||
defaultEditor = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.nnn.enable = true;
|
|
||||||
|
|
||||||
programs.rbw.enable = true;
|
|
||||||
|
|
||||||
programs.tmux = {
|
|
||||||
enable = true;
|
|
||||||
mouse = true;
|
|
||||||
newSession = true;
|
|
||||||
plugins = with pkgs; [
|
|
||||||
tmuxPlugins.weather
|
|
||||||
tmuxPlugins.better-mouse-mode
|
|
||||||
tmuxPlugins.cpu
|
|
||||||
tmuxPlugins.battery
|
|
||||||
tmuxPlugins.resurrect
|
|
||||||
];
|
|
||||||
terminal = "tmux-256color";
|
|
||||||
extraConfig = ''
|
|
||||||
set-option -g status-bg plum4
|
|
||||||
set-option -g pane-active-border-style fg=plum4
|
|
||||||
set-option -g @tmux-weather-format "%x+%t"
|
|
||||||
set-option -g @tmux-weather-units "u"
|
|
||||||
set -g status-right '#{cpu_percentage} CPU | #{battery_percentage} BAT | %I:%M %p | #{weather}'
|
|
||||||
run-shell ${pkgs.tmuxPlugins.weather}/share/tmux-plugins/weather/tmux-weather.tmux
|
|
||||||
run-shell ${pkgs.tmuxPlugins.cpu}/share/tmux-plugins/cpu/cpu.tmux
|
|
||||||
run-shell ${pkgs.tmuxPlugins.battery}/share/tmux-plugins/battery/battery.tmux
|
|
||||||
run-shell ${pkgs.tmuxPlugins.battery}/share/tmux-plugins/resurrect/resurrect.tmux
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,97 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
# Packages that should be installed to the user profile.
|
|
||||||
home.packages = with pkgs; [ blueberry pavucontrol ];
|
|
||||||
|
|
||||||
xdg.configFile."waybar/style.css".source = ./waybar.css;
|
|
||||||
|
|
||||||
programs.waybar.enable = true;
|
|
||||||
programs.waybar.settings = {
|
|
||||||
mainBar = {
|
|
||||||
height = 36;
|
|
||||||
layer = "top";
|
|
||||||
output = [ "*" ];
|
|
||||||
position = "top";
|
|
||||||
reload_style_on_change = true;
|
|
||||||
modules-left = [ "hyprland/workspaces" "hyprland/submap" ];
|
|
||||||
modules-center = [ "hyprland/window" ];
|
|
||||||
modules-right = [
|
|
||||||
"tray"
|
|
||||||
"bluetooth"
|
|
||||||
"network"
|
|
||||||
"pulseaudio"
|
|
||||||
"battery"
|
|
||||||
"power-profiles-daemon"
|
|
||||||
"clock"
|
|
||||||
];
|
|
||||||
|
|
||||||
"hyprland/workspaces" = {
|
|
||||||
"all-outputs" = true;
|
|
||||||
"format" = "";
|
|
||||||
};
|
|
||||||
"hyprland/window" = { "max-length" = 100; };
|
|
||||||
"clock" = {
|
|
||||||
"tooltip-format" = "{:%Y-%m-%d | %H:%M}";
|
|
||||||
"interval" = 60;
|
|
||||||
"format" = "{:%I:%M%p}";
|
|
||||||
};
|
|
||||||
"battery" = {
|
|
||||||
"states" = { "critical" = 20; };
|
|
||||||
"format" = "{icon}";
|
|
||||||
"format-icons" = [ "" "" "" "" "" ];
|
|
||||||
"tooltip-format" = ''
|
|
||||||
{capacity}%: {timeTo}.
|
|
||||||
Using {power} watts.'';
|
|
||||||
};
|
|
||||||
"bluetooth" = {
|
|
||||||
"format" = " {status}";
|
|
||||||
"format-disabled" = ""; # an empty format will hide the module
|
|
||||||
"format-connected" = " {num_connections} connected";
|
|
||||||
"tooltip-format" = "{controller_alias} {controller_address}";
|
|
||||||
"tooltip-format-connected" = ''
|
|
||||||
{controller_alias} {controller_address}
|
|
||||||
|
|
||||||
{device_enumerate}'';
|
|
||||||
"tooltip-format-enumerate-connected" =
|
|
||||||
"{device_alias} {device_address}";
|
|
||||||
"on-click" = "blueberry";
|
|
||||||
};
|
|
||||||
"pulseaudio" = {
|
|
||||||
"format" = " {volume}%";
|
|
||||||
"format-bluetooth" = "{volume}% {icon}";
|
|
||||||
"format-muted" = "";
|
|
||||||
"format-icons" = {
|
|
||||||
"headphones" = "";
|
|
||||||
"handsfree" = "";
|
|
||||||
"headset" = "";
|
|
||||||
};
|
|
||||||
"on-click" = "pavucontrol -t 3";
|
|
||||||
};
|
|
||||||
"network" = {
|
|
||||||
"format-wifi" = " {signalStrength}%";
|
|
||||||
"format-ethernet" = "";
|
|
||||||
"format-disconnected" = "⚠";
|
|
||||||
"tooltip-format" = "{ifname} via {gwaddr} ";
|
|
||||||
"tooltip-format-wifi" = "{essid} ({signalStrength}%) ";
|
|
||||||
"tooltip-format-ethernet" = "{ifname} ";
|
|
||||||
"tooltip-format-disconnected" = "Disconnected";
|
|
||||||
"on-click" = "alacritty --class nmtui -e nmtui";
|
|
||||||
};
|
|
||||||
"tray" = { "spacing" = 10; };
|
|
||||||
"power-profiles-daemon" = {
|
|
||||||
"format" = "{icon}";
|
|
||||||
"tooltip-format" = ''
|
|
||||||
Profile: {profile}
|
|
||||||
Driver: {driver}'';
|
|
||||||
"tooltip" = true;
|
|
||||||
"format-icons" = {
|
|
||||||
"default" = "";
|
|
||||||
"performance" = "";
|
|
||||||
"balanced" = "";
|
|
||||||
"power-saver" = "";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,4 +0,0 @@
|
||||||
TerminalEmulator=alacritty
|
|
||||||
FileManager=thunar
|
|
||||||
WebBrowser=firefox
|
|
||||||
|
|
14
homeManagerModules/cliApps/bash/default.nix
Normal file
14
homeManagerModules/cliApps/bash/default.nix
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
{ pkgs, lib, config, ... }: {
|
||||||
|
|
||||||
|
options = { cliApps.bash.enable = lib.mkEnableOption "Enables bash."; };
|
||||||
|
|
||||||
|
config = lib.mkIf config.cliApps.bash.enable {
|
||||||
|
programs.bash = {
|
||||||
|
enable = true;
|
||||||
|
enableCompletion = true;
|
||||||
|
initExtra = ''
|
||||||
|
export PS1="[\[$(tput setaf 27)\]\u\[$(tput setaf 135)\]@\[$(tput setaf 45)\]\h:\[$(tput setaf 33)\]\w] \[$(tput sgr0)\]$ "
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
28
homeManagerModules/cliApps/default.nix
Normal file
28
homeManagerModules/cliApps/default.nix
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [ ./bash ./emacs ./eza ./fzf ./neovim ./tmux ];
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
# backblaze-b2
|
||||||
|
browsh
|
||||||
|
curl
|
||||||
|
gh
|
||||||
|
git
|
||||||
|
nixfmt
|
||||||
|
python3
|
||||||
|
ruby
|
||||||
|
wget
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.nnn.enable = lib.mkDefault true;
|
||||||
|
|
||||||
|
programs.rbw.enable = lib.mkDefault true;
|
||||||
|
|
||||||
|
cliApps.bash.enable = lib.mkDefault true;
|
||||||
|
cliApps.emacs.enable = lib.mkDefault true;
|
||||||
|
cliApps.eza.enable = lib.mkDefault true;
|
||||||
|
cliApps.fzf.enable = lib.mkDefault true;
|
||||||
|
cliApps.neovim.enable = lib.mkDefault true;
|
||||||
|
cliApps.tmux.enable = lib.mkDefault true;
|
||||||
|
}
|
34
homeManagerModules/cliApps/emacs/default.nix
Normal file
34
homeManagerModules/cliApps/emacs/default.nix
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
{ pkgs, lib, config, ... }: {
|
||||||
|
|
||||||
|
options = { cliApps.emacs.enable = lib.mkEnableOption "Enables emacs."; };
|
||||||
|
|
||||||
|
config = lib.mkIf config.cliApps.emacs.enable {
|
||||||
|
home.packages = with pkgs; [ nixfmt python3 ];
|
||||||
|
|
||||||
|
programs.emacs = {
|
||||||
|
enable = true;
|
||||||
|
extraPackages = (epkgs:
|
||||||
|
(with epkgs; [
|
||||||
|
better-defaults
|
||||||
|
catppuccin-theme
|
||||||
|
markdown-mode
|
||||||
|
nix-mode
|
||||||
|
org
|
||||||
|
org-bullets
|
||||||
|
org-journal
|
||||||
|
org-roam
|
||||||
|
ox-pandoc
|
||||||
|
projectile
|
||||||
|
python
|
||||||
|
treemacs
|
||||||
|
treemacs-projectile
|
||||||
|
treemacs-tab-bar
|
||||||
|
use-package
|
||||||
|
yaml
|
||||||
|
yaml-mode
|
||||||
|
]));
|
||||||
|
package = pkgs.emacs-nox;
|
||||||
|
extraConfig = builtins.readFile ./emacs.el;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
13
homeManagerModules/cliApps/eza/default.nix
Normal file
13
homeManagerModules/cliApps/eza/default.nix
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
{ pkgs, lib, config, ... }: {
|
||||||
|
|
||||||
|
options = { cliApps.eza.enable = lib.mkEnableOption "Enables eza."; };
|
||||||
|
|
||||||
|
config = lib.mkIf config.cliApps.eza.enable {
|
||||||
|
programs.eza = {
|
||||||
|
enable = true;
|
||||||
|
git = true;
|
||||||
|
icons = true;
|
||||||
|
extraOptions = [ "--group-directories-first" "--header" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
11
homeManagerModules/cliApps/fzf/default.nix
Normal file
11
homeManagerModules/cliApps/fzf/default.nix
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{ pkgs, lib, config, ... }: {
|
||||||
|
|
||||||
|
options = { cliApps.fzf.enable = lib.mkEnableOption "Enables fzf."; };
|
||||||
|
|
||||||
|
config = lib.mkIf config.cliApps.fzf.enable {
|
||||||
|
programs.fzf = {
|
||||||
|
enable = true;
|
||||||
|
tmux.enableShellIntegration = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
13
homeManagerModules/cliApps/neovim/default.nix
Normal file
13
homeManagerModules/cliApps/neovim/default.nix
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
{ pkgs, lib, config, ... }: {
|
||||||
|
|
||||||
|
options = { cliApps.neovim.enable = lib.mkEnableOption "Enables neovim."; };
|
||||||
|
|
||||||
|
config = lib.mkIf config.cliApps.neovim.enable {
|
||||||
|
programs.neovim = {
|
||||||
|
enable = true;
|
||||||
|
viAlias = true;
|
||||||
|
vimAlias = true;
|
||||||
|
defaultEditor = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
31
homeManagerModules/cliApps/tmux/default.nix
Normal file
31
homeManagerModules/cliApps/tmux/default.nix
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
{ pkgs, lib, config, ... }: {
|
||||||
|
|
||||||
|
options = { cliApps.tmux.enable = lib.mkEnableOption "Enables tmux."; };
|
||||||
|
|
||||||
|
config = lib.mkIf config.cliApps.tmux.enable {
|
||||||
|
programs.tmux = {
|
||||||
|
enable = true;
|
||||||
|
mouse = true;
|
||||||
|
newSession = true;
|
||||||
|
plugins = with pkgs; [
|
||||||
|
tmuxPlugins.battery
|
||||||
|
tmuxPlugins.better-mouse-mode
|
||||||
|
tmuxPlugins.cpu
|
||||||
|
tmuxPlugins.resurrect
|
||||||
|
tmuxPlugins.weather
|
||||||
|
];
|
||||||
|
terminal = "tmux-256color";
|
||||||
|
extraConfig = ''
|
||||||
|
set-option -g status-bg plum4
|
||||||
|
set-option -g pane-active-border-style fg=plum4
|
||||||
|
set-option -g @tmux-weather-format "%x+%t"
|
||||||
|
set-option -g @tmux-weather-units "u"
|
||||||
|
set -g status-right '#{cpu_percentage} CPU | #{battery_percentage} BAT | %I:%M %p | #{weather}'
|
||||||
|
run-shell ${pkgs.tmuxPlugins.battery}/share/tmux-plugins/battery/battery.tmux
|
||||||
|
run-shell ${pkgs.tmuxPlugins.resurrect}/share/tmux-plugins/resurrect/resurrect.tmux
|
||||||
|
run-shell ${pkgs.tmuxPlugins.cpu}/share/tmux-plugins/cpu/cpu.tmux
|
||||||
|
run-shell ${pkgs.tmuxPlugins.weather}/share/tmux-plugins/weather/tmux-weather.tmux
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
5
homeManagerModules/default.nix
Normal file
5
homeManagerModules/default.nix
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [ ./cliApps ./guiApps ./desktopEnv ./userServices ];
|
||||||
|
}
|
7
homeManagerModules/desktopEnv/default.nix
Normal file
7
homeManagerModules/desktopEnv/default.nix
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [ ./gnome ./hypr ];
|
||||||
|
|
||||||
|
desktopEnv.hyprland.enable = lib.mkDefault true;
|
||||||
|
}
|
50
homeManagerModules/desktopEnv/gnome/default.nix
Normal file
50
homeManagerModules/desktopEnv/gnome/default.nix
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
{ pkgs, lib, config, ... }: {
|
||||||
|
|
||||||
|
options = {
|
||||||
|
desktopEnv.gnome.enable =
|
||||||
|
lib.mkEnableOption "Enables GNOME with basic settings configuration.";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf config.desktopEnv.gnome.enable {
|
||||||
|
dconf.enable = true;
|
||||||
|
dconf.settings = {
|
||||||
|
"org/gnome/desktop/datetime".automatic-timezone = true;
|
||||||
|
"org/gnome/desktop/interface".clock-format = "12h";
|
||||||
|
"org/gnome/desktop/interface".enable-hot-corners = true;
|
||||||
|
"org/gnome/desktop/peripherals/touchpad".tap-to-click = true;
|
||||||
|
"org/gnome/desktop/search-providers".enabled =
|
||||||
|
"['org.gnome.Calendar.desktop', 'org.gnome.Weather.desktop', 'org.gnome.Contacts.desktop', 'org.gnome.Calculator.desktop', 'org.gnome.Characters.desktop', 'org.gnome.clocks.desktop']";
|
||||||
|
"org/gnome/desktop/wm/preferences".auto-raise = true;
|
||||||
|
"org/gnome/mutter".dynamic-workspaces = true;
|
||||||
|
"org/gnome/mutter".edge-tiling = true;
|
||||||
|
"org/gnome/mutter".workspaces-only-on-primary = true;
|
||||||
|
"org/gnome/shell/extensions/blur-my-shell/overview".style-components = 3;
|
||||||
|
"org/gnome/shell/extensions/blur-my-shell/panel".blur = false;
|
||||||
|
"org/gnome/shell/extensions/blur-my-shell/panel".customize = true;
|
||||||
|
"org/gnome/shell/extensions/blur-my-shell/panel".style-panel = 0;
|
||||||
|
"org/gnome/shell/extensions/blur-my-shell/panel".override-background =
|
||||||
|
false;
|
||||||
|
"org/gnome/shell/extensions/blur-my-shell/panel".override-background-dynamically =
|
||||||
|
false;
|
||||||
|
"org/gnome/shell/extensions/blur-my-shell/panel".unblur-in-overview =
|
||||||
|
true;
|
||||||
|
"org/gnome/system/location".enabled = true;
|
||||||
|
"org/gtk/gtk4/settings/file-chooser".sort-directories-first = true;
|
||||||
|
"org/gtk/settings/file-chooser".sort-directories-first = true;
|
||||||
|
"org/gnome/shell".enabled-extensions = [
|
||||||
|
"appindicatorsupport@rgcjonas.gmail.com"
|
||||||
|
"blur-my-shell@aunetx"
|
||||||
|
"gsconnect@andyholmes.github.io"
|
||||||
|
"nightthemeswitcher@romainvigier.fr"
|
||||||
|
"noannoyance-fork@vrba.dev"
|
||||||
|
"tailscale-status@maxgallup.github.com"
|
||||||
|
"tiling-assistant@leleat-on-github"
|
||||||
|
"drive-menu@gnome-shell-extensions.gcampax.github.com"
|
||||||
|
];
|
||||||
|
"org/virt-manager/virt-manager/connections" = {
|
||||||
|
autoconnect = [ "qemu:///system" ];
|
||||||
|
uris = [ "qemu:///system" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
111
homeManagerModules/desktopEnv/hypr/default.nix
Normal file
111
homeManagerModules/desktopEnv/hypr/default.nix
Normal file
|
@ -0,0 +1,111 @@
|
||||||
|
{ pkgs, lib, config, ... }: {
|
||||||
|
|
||||||
|
options = {
|
||||||
|
desktopEnv.hyprland.enable =
|
||||||
|
lib.mkEnableOption "Enables hyprland with extra apps.";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf config.desktopEnv.hyprland.enable {
|
||||||
|
|
||||||
|
# Basic apps needed to run a hyprland desktop.
|
||||||
|
guiApps.waybar.enable = lib.mkDefault true;
|
||||||
|
guiApps.mako.enable = lib.mkDefault true;
|
||||||
|
guiApps.fuzzel.enable = lib.mkDefault true;
|
||||||
|
guiApps.alacritty.enable = lib.mkDefault true;
|
||||||
|
|
||||||
|
# Packages that should be installed to the user profile.
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
brightnessctl
|
||||||
|
evince
|
||||||
|
hyprcursor
|
||||||
|
hypridle
|
||||||
|
hyprland-protocols
|
||||||
|
hyprlock
|
||||||
|
hyprnome
|
||||||
|
hyprpaper
|
||||||
|
hyprshade
|
||||||
|
hyprshot
|
||||||
|
playerctl
|
||||||
|
pyprland
|
||||||
|
xdg-desktop-portal-hyprland
|
||||||
|
xfce.exo
|
||||||
|
xfce.ristretto
|
||||||
|
xfce.thunar
|
||||||
|
xfce.thunar-archive-plugin
|
||||||
|
xfce.thunar-media-tags-plugin
|
||||||
|
xfce.thunar-volman
|
||||||
|
xfce.tumbler
|
||||||
|
xfce.xfce4-settings
|
||||||
|
xfce.xfce4-taskmanager
|
||||||
|
xfce.xfconf
|
||||||
|
];
|
||||||
|
|
||||||
|
services.gpg-agent.enable = true;
|
||||||
|
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
extraConfig = builtins.readFile ./hyprland.conf;
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg.configFile."hypr/hypridle.conf".source = ./hypridle.conf;
|
||||||
|
|
||||||
|
xdg.configFile."hypr/hyprlock.conf".source = ./hyprlock.conf;
|
||||||
|
|
||||||
|
xdg.configFile."hypr/hyprpaper.conf".source = ./hyprpaper.conf;
|
||||||
|
|
||||||
|
xdg.configFile."hypr/wallpapers/greenCity.jpg".source =
|
||||||
|
./wallpapers/greenCity.jpg;
|
||||||
|
xdg.configFile."hypr/wallpapers/jr-korpa-9XngoIpxcEo-unsplash.jpg".source =
|
||||||
|
./wallpapers/jr-korpa-9XngoIpxcEo-unsplash.jpg;
|
||||||
|
xdg.configFile."hypr/wallpapers/salty-justice-NOMebOREvtc-unsplash.jpg".source =
|
||||||
|
./wallpapers/salty-justice-NOMebOREvtc-unsplash.jpg;
|
||||||
|
|
||||||
|
xdg.configFile."hypr/shaders/blue-light-filter.glsl".source =
|
||||||
|
./blue-light-filter.glsl;
|
||||||
|
xdg.configFile."hypr/hyprshade.toml".source = ./hyprshade.toml;
|
||||||
|
|
||||||
|
xdg.configFile."xfce4/helpers.rc".text = ''
|
||||||
|
TerminalEmulator=alacritty
|
||||||
|
FileManager=thunar
|
||||||
|
WebBrowser=firefox
|
||||||
|
'';
|
||||||
|
|
||||||
|
home.pointerCursor = {
|
||||||
|
gtk.enable = true;
|
||||||
|
# x11.enable = true;
|
||||||
|
package = pkgs.catppuccin-cursors.frappeDark;
|
||||||
|
name = "Catppuccin-Frappe-Dark-Cursors";
|
||||||
|
size = 24;
|
||||||
|
};
|
||||||
|
|
||||||
|
qt = {
|
||||||
|
enable = true;
|
||||||
|
platformTheme = "gtk";
|
||||||
|
style.name = "Catppuccin-Frappe-Compact-Mauve-Dark";
|
||||||
|
};
|
||||||
|
|
||||||
|
gtk = {
|
||||||
|
enable = true;
|
||||||
|
theme = {
|
||||||
|
package = pkgs.catppuccin-gtk.override {
|
||||||
|
accents = [ "mauve" ];
|
||||||
|
size = "compact";
|
||||||
|
variant = "frappe";
|
||||||
|
tweaks = [ "normal" ];
|
||||||
|
};
|
||||||
|
name = "Catppuccin-Frappe-Compact-Mauve-Dark";
|
||||||
|
};
|
||||||
|
iconTheme = {
|
||||||
|
package = pkgs.catppuccin-papirus-folders.override {
|
||||||
|
flavor = "frappe";
|
||||||
|
accent = "mauve";
|
||||||
|
};
|
||||||
|
name = "Papirus-Dark";
|
||||||
|
};
|
||||||
|
font = {
|
||||||
|
name = "NotoSans Nerd Font Regular";
|
||||||
|
size = 11;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Before Width: | Height: | Size: 4.1 MiB After Width: | Height: | Size: 4.1 MiB |
Before Width: | Height: | Size: 2.7 MiB After Width: | Height: | Size: 2.7 MiB |
Before Width: | Height: | Size: 2.4 MiB After Width: | Height: | Size: 2.4 MiB |
36
homeManagerModules/guiApps/alacritty/default.nix
Normal file
36
homeManagerModules/guiApps/alacritty/default.nix
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
{ pkgs, lib, config, ... }: {
|
||||||
|
|
||||||
|
options = {
|
||||||
|
guiApps.alacritty.enable = lib.mkEnableOption "Enables alacritty.";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf config.guiApps.alacritty.enable {
|
||||||
|
programs.alacritty = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
colors = {
|
||||||
|
primary = {
|
||||||
|
foreground = "#fafafa";
|
||||||
|
background = "#232634";
|
||||||
|
};
|
||||||
|
draw_bold_text_with_bright_colors = true;
|
||||||
|
};
|
||||||
|
font = {
|
||||||
|
normal = {
|
||||||
|
family = "NotoSansM Nerd Font";
|
||||||
|
style = "Regular";
|
||||||
|
};
|
||||||
|
size = 10;
|
||||||
|
};
|
||||||
|
selection.save_to_clipboard = true;
|
||||||
|
window = {
|
||||||
|
blur = true;
|
||||||
|
# decorations = "None";
|
||||||
|
dynamic_padding = true;
|
||||||
|
opacity = 0.8;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
8
homeManagerModules/guiApps/default.nix
Normal file
8
homeManagerModules/guiApps/default.nix
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [ ./alacritty ./fuzzel ./librewolf ./mako ./waybar ];
|
||||||
|
|
||||||
|
guiApps.librewolf.enable = lib.mkDefault true;
|
||||||
|
guiApps.alacritty.enable = lib.mkDefault true;
|
||||||
|
}
|
26
homeManagerModules/guiApps/fuzzel/default.nix
Normal file
26
homeManagerModules/guiApps/fuzzel/default.nix
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
{ pkgs, lib, config, ... }: {
|
||||||
|
|
||||||
|
options = { guiApps.fuzzel.enable = lib.mkEnableOption "Enables fuzzel."; };
|
||||||
|
|
||||||
|
config = lib.mkIf config.guiApps.fuzzel.enable {
|
||||||
|
programs.fuzzel = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
main = {
|
||||||
|
font = "NotoSansM Nerd Font Regular";
|
||||||
|
icon-theme = "Papirus-Dark";
|
||||||
|
layer = "overlay";
|
||||||
|
terminal = "${pkgs.alacritty}/bin/alacritty -e";
|
||||||
|
};
|
||||||
|
border = { width = 2; };
|
||||||
|
colors = {
|
||||||
|
background = "#232634CC";
|
||||||
|
selection = "#232634FF";
|
||||||
|
selection-match = "#e78284FF";
|
||||||
|
selection-text = "#f4b8e4FF";
|
||||||
|
text = "#fafafaFF";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
37
homeManagerModules/guiApps/librewolf/default.nix
Normal file
37
homeManagerModules/guiApps/librewolf/default.nix
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
{ pkgs, lib, config, ... }: {
|
||||||
|
|
||||||
|
options = {
|
||||||
|
guiApps.librewolf.enable = lib.mkEnableOption "Enables librewolf.";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf config.guiApps.librewolf.enable {
|
||||||
|
programs.librewolf = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
"browser.safebrowsing.malware.enabled" = true;
|
||||||
|
"browser.safebrowsing.phishing.enabled" = true;
|
||||||
|
"browser.safebrowsing.blockedURIs.enabled" = true;
|
||||||
|
|
||||||
|
"browser.safebrowsing.provider.google4.gethashURL" =
|
||||||
|
"https://safebrowsing.googleapis.com/v4/fullHashes:find?$ct=application/x-protobuf&key=%GOOGLE_SAFEBROWSING_API_KEY%&$httpMethod=POST";
|
||||||
|
|
||||||
|
"browser.safebrowsing.provider.google4.updateURL" =
|
||||||
|
"https://safebrowsing.googleapis.com/v4/threatListUpdates:fetch?$ct=application/x-protobuf&key=%GOOGLE_SAFEBROWSING_API_KEY%&$httpMethod=POST";
|
||||||
|
|
||||||
|
"browser.safebrowsing.provider.google.gethashURL" =
|
||||||
|
"https://safebrowsing.google.com/safebrowsing/gethash?client=SAFEBROWSING_ID&appver=%MAJOR_VERSION%&pver=2.2";
|
||||||
|
|
||||||
|
"browser.safebrowsing.provider.google.updateURL" =
|
||||||
|
"https://safebrowsing.google.com/safebrowsing/downloads?client=SAFEBROWSING_ID&appver=%MAJOR_VERSION%&pver=2.2&key=%GOOGLE_SAFEBROWSING_API_KEY%";
|
||||||
|
"browser.safebrowsing.downloads.enabled" = true;
|
||||||
|
|
||||||
|
"identity.fxaccounts.enabled" = true;
|
||||||
|
|
||||||
|
"privacy.clearOnShutdown.history" = false;
|
||||||
|
|
||||||
|
"middlemouse.paste" = false;
|
||||||
|
"general.autoScroll" = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
22
homeManagerModules/guiApps/mako/default.nix
Normal file
22
homeManagerModules/guiApps/mako/default.nix
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
{ pkgs, lib, config, ... }: {
|
||||||
|
|
||||||
|
options = { guiApps.mako.enable = lib.mkEnableOption "Enables mako."; };
|
||||||
|
|
||||||
|
config = lib.mkIf config.guiApps.mako.enable {
|
||||||
|
services.mako = {
|
||||||
|
enable = true;
|
||||||
|
anchor = "top-center";
|
||||||
|
backgroundColor = "#232634CC";
|
||||||
|
borderColor = "#ca9ee6";
|
||||||
|
borderRadius = 10;
|
||||||
|
defaultTimeout = 10000;
|
||||||
|
font = "NotoSans Nerd Font Regular 10";
|
||||||
|
height = 300;
|
||||||
|
layer = "top";
|
||||||
|
padding = "15";
|
||||||
|
textColor = "#FAFAFA";
|
||||||
|
width = 400;
|
||||||
|
margin = "20,0";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
100
homeManagerModules/guiApps/waybar/default.nix
Normal file
100
homeManagerModules/guiApps/waybar/default.nix
Normal file
|
@ -0,0 +1,100 @@
|
||||||
|
{ pkgs, lib, config, ... }: {
|
||||||
|
|
||||||
|
options = { guiApps.waybar.enable = lib.mkEnableOption "Enables waybar."; };
|
||||||
|
|
||||||
|
config = lib.mkIf config.guiApps.waybar.enable {
|
||||||
|
# Packages that should be installed to the user profile.
|
||||||
|
home.packages = with pkgs; [ blueberry pavucontrol ];
|
||||||
|
|
||||||
|
xdg.configFile."waybar/style.css".source = ./waybar.css;
|
||||||
|
|
||||||
|
programs.waybar.enable = true;
|
||||||
|
programs.waybar.settings = {
|
||||||
|
mainBar = {
|
||||||
|
height = 36;
|
||||||
|
layer = "top";
|
||||||
|
output = [ "*" ];
|
||||||
|
position = "top";
|
||||||
|
reload_style_on_change = true;
|
||||||
|
modules-left = [ "hyprland/workspaces" "hyprland/submap" ];
|
||||||
|
modules-center = [ "hyprland/window" ];
|
||||||
|
modules-right = [
|
||||||
|
"tray"
|
||||||
|
"bluetooth"
|
||||||
|
"network"
|
||||||
|
"pulseaudio"
|
||||||
|
"battery"
|
||||||
|
"power-profiles-daemon"
|
||||||
|
"clock"
|
||||||
|
];
|
||||||
|
|
||||||
|
"hyprland/workspaces" = {
|
||||||
|
"all-outputs" = true;
|
||||||
|
"format" = "";
|
||||||
|
};
|
||||||
|
"hyprland/window" = { "max-length" = 100; };
|
||||||
|
"clock" = {
|
||||||
|
"tooltip-format" = "{:%Y-%m-%d | %H:%M}";
|
||||||
|
"interval" = 60;
|
||||||
|
"format" = "{:%I:%M%p}";
|
||||||
|
};
|
||||||
|
"battery" = {
|
||||||
|
"states" = { "critical" = 20; };
|
||||||
|
"format" = "{icon}";
|
||||||
|
"format-icons" = [ "" "" "" "" "" ];
|
||||||
|
"tooltip-format" = ''
|
||||||
|
{capacity}%: {timeTo}.
|
||||||
|
Using {power} watts.'';
|
||||||
|
};
|
||||||
|
"bluetooth" = {
|
||||||
|
"format" = " {status}";
|
||||||
|
"format-disabled" = ""; # an empty format will hide the module
|
||||||
|
"format-connected" = " {num_connections} connected";
|
||||||
|
"tooltip-format" = "{controller_alias} {controller_address}";
|
||||||
|
"tooltip-format-connected" = ''
|
||||||
|
{controller_alias} {controller_address}
|
||||||
|
|
||||||
|
{device_enumerate}'';
|
||||||
|
"tooltip-format-enumerate-connected" =
|
||||||
|
"{device_alias} {device_address}";
|
||||||
|
"on-click" = "blueberry";
|
||||||
|
};
|
||||||
|
"pulseaudio" = {
|
||||||
|
"format" = " {volume}%";
|
||||||
|
"format-bluetooth" = "{volume}% {icon}";
|
||||||
|
"format-muted" = "";
|
||||||
|
"format-icons" = {
|
||||||
|
"headphones" = "";
|
||||||
|
"handsfree" = "";
|
||||||
|
"headset" = "";
|
||||||
|
};
|
||||||
|
"on-click" = "pavucontrol -t 3";
|
||||||
|
};
|
||||||
|
"network" = {
|
||||||
|
"format-wifi" = " {signalStrength}%";
|
||||||
|
"format-ethernet" = "";
|
||||||
|
"format-disconnected" = "⚠";
|
||||||
|
"tooltip-format" = "{ifname} via {gwaddr} ";
|
||||||
|
"tooltip-format-wifi" = "{essid} ({signalStrength}%) ";
|
||||||
|
"tooltip-format-ethernet" = "{ifname} ";
|
||||||
|
"tooltip-format-disconnected" = "Disconnected";
|
||||||
|
"on-click" = "alacritty --class nmtui -e nmtui";
|
||||||
|
};
|
||||||
|
"tray" = { "spacing" = 10; };
|
||||||
|
"power-profiles-daemon" = {
|
||||||
|
"format" = "{icon}";
|
||||||
|
"tooltip-format" = ''
|
||||||
|
Profile: {profile}
|
||||||
|
Driver: {driver}'';
|
||||||
|
"tooltip" = true;
|
||||||
|
"format-icons" = {
|
||||||
|
"default" = "";
|
||||||
|
"performance" = "";
|
||||||
|
"balanced" = "";
|
||||||
|
"power-saver" = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
7
homeManagerModules/userServices/default.nix
Normal file
7
homeManagerModules/userServices/default.nix
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [ ./syncthing ];
|
||||||
|
|
||||||
|
userServices.syncthing.enable = lib.mkDefault true;
|
||||||
|
}
|
11
homeManagerModules/userServices/syncthing/default.nix
Normal file
11
homeManagerModules/userServices/syncthing/default.nix
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{ pkgs, lib, config, ... }: {
|
||||||
|
|
||||||
|
options = {
|
||||||
|
userServices.syncthing.enable =
|
||||||
|
lib.mkEnableOption "Enables syncthing as user.";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf config.userServices.syncthing.enable {
|
||||||
|
services.syncthing.enable = true;
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,10 +1,11 @@
|
||||||
# Framework Laptop 13 with AMD Ryzen 7640U, 32GB RAM, 1TB SSD.
|
# Framework Laptop 13 with AMD Ryzen 7640U, 32GB RAM, 1TB SSD.
|
||||||
|
|
||||||
{ config, pkgs, lib, ... }:
|
{ inputs, config, pkgs, lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix # Include the results of the hardware scan.
|
./hardware-configuration.nix # Include the results of the hardware scan.
|
||||||
|
./home.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
|
@ -24,8 +25,6 @@
|
||||||
mesonCheckFlags = [ "--no-suite" "fprintd:TestPamFprintd" ];
|
mesonCheckFlags = [ "--no-suite" "fprintd:TestPamFprintd" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager.users.aly = import ../../home/aly-hyprland.nix;
|
|
||||||
|
|
||||||
desktopConfig = {
|
desktopConfig = {
|
||||||
enable = true;
|
enable = true;
|
||||||
windowManagers.hyprland.enable = true;
|
windowManagers.hyprland.enable = true;
|
||||||
|
|
14
hosts/lavaridge/home.nix
Normal file
14
hosts/lavaridge/home.nix
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
{ inputs, config, pkgs, lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
home-manager.users.aly = {
|
||||||
|
imports = [ ../../homeManagerModules ];
|
||||||
|
home.username = "aly";
|
||||||
|
home.homeDirectory = "/home/aly";
|
||||||
|
|
||||||
|
home.stateVersion = "23.11";
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
|
||||||
|
desktopEnv.hyprland.enable = true;
|
||||||
|
};
|
||||||
|
}
|
|
@ -3,9 +3,7 @@
|
||||||
{ config, pkgs, lib, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [ ./hardware-configuration.nix ./home.nix ];
|
||||||
./hardware-configuration.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
# Bootloader.
|
# Bootloader.
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
@ -28,8 +26,6 @@
|
||||||
extraPackages32 = with pkgs; [ driversi686Linux.amdvlk ];
|
extraPackages32 = with pkgs; [ driversi686Linux.amdvlk ];
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager.users.aly = import ../../home/aly-hyprland.nix;
|
|
||||||
|
|
||||||
homeLab.enable = true;
|
homeLab.enable = true;
|
||||||
desktopConfig.enable = true;
|
desktopConfig.enable = true;
|
||||||
|
|
||||||
|
|
14
hosts/mauville/home.nix
Normal file
14
hosts/mauville/home.nix
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
{ inputs, config, pkgs, lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
home-manager.users.aly = {
|
||||||
|
imports = [ ../../homeManagerModules ];
|
||||||
|
home.username = "aly";
|
||||||
|
home.homeDirectory = "/home/aly";
|
||||||
|
|
||||||
|
home.stateVersion = "23.11";
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
|
||||||
|
desktopEnv.hyprland.enable = true;
|
||||||
|
};
|
||||||
|
}
|
|
@ -54,6 +54,7 @@ let
|
||||||
in {
|
in {
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix # Include the results of the hardware scan.
|
./hardware-configuration.nix # Include the results of the hardware scan.
|
||||||
|
./home.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
|
@ -72,13 +73,8 @@ in {
|
||||||
powerManagement.powertop.enable = true;
|
powerManagement.powertop.enable = true;
|
||||||
services.thermald.enable = true;
|
services.thermald.enable = true;
|
||||||
|
|
||||||
home-manager.users.aly = import ../../home/aly-gnome.nix;
|
|
||||||
home-manager.users.dustin = import ../../home/dustin-gnome.nix;
|
|
||||||
|
|
||||||
environment.systemPackages = [ cs-adjuster cs-adjuster-plasma pp-adjuster ];
|
environment.systemPackages = [ cs-adjuster cs-adjuster-plasma pp-adjuster ];
|
||||||
|
|
||||||
userConfig.dustin.enable = true;
|
|
||||||
|
|
||||||
desktopConfig = {
|
desktopConfig = {
|
||||||
enable = true;
|
enable = true;
|
||||||
windowManagers.hyprland.enable = false;
|
windowManagers.hyprland.enable = false;
|
||||||
|
|
27
hosts/petalburg/home.nix
Normal file
27
hosts/petalburg/home.nix
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
{ inputs, config, pkgs, lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
home-manager.users.aly = {
|
||||||
|
imports = [ ../../homeManagerModules ];
|
||||||
|
home.username = "aly";
|
||||||
|
home.homeDirectory = "/home/aly";
|
||||||
|
|
||||||
|
home.stateVersion = "23.11";
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
|
||||||
|
desktopEnv.hyprland.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
userConfig.dustin.enable = true;
|
||||||
|
home-manager.users.dustin = {
|
||||||
|
imports = [ ../../homeManagerModules ];
|
||||||
|
home.username = "dustin";
|
||||||
|
home.homeDirectory = "/home/dustin";
|
||||||
|
|
||||||
|
home.stateVersion = "23.11";
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
|
||||||
|
desktopEnv.hyprland.enable = false;
|
||||||
|
desktopEnv.gnome.enable = true;
|
||||||
|
};
|
||||||
|
}
|
|
@ -5,6 +5,7 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix # Include the results of the hardware scan.
|
./hardware-configuration.nix # Include the results of the hardware scan.
|
||||||
|
./home.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
# Bootloader.
|
# Bootloader.
|
||||||
|
@ -16,8 +17,6 @@
|
||||||
|
|
||||||
powerManagement.cpuFreqGovernor = "ondemand";
|
powerManagement.cpuFreqGovernor = "ondemand";
|
||||||
|
|
||||||
home-manager.users.aly = import ../../home/aly-hyprland.nix;
|
|
||||||
|
|
||||||
desktopConfig = {
|
desktopConfig = {
|
||||||
enable = true;
|
enable = true;
|
||||||
windowManagers.hyprland.enable = true;
|
windowManagers.hyprland.enable = true;
|
||||||
|
|
14
hosts/rustboro/home.nix
Normal file
14
hosts/rustboro/home.nix
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
{ inputs, config, pkgs, lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
home-manager.users.aly = {
|
||||||
|
imports = [ ../../homeManagerModules ];
|
||||||
|
home.username = "aly";
|
||||||
|
home.homeDirectory = "/home/aly";
|
||||||
|
|
||||||
|
home.stateVersion = "23.11";
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
|
||||||
|
desktopEnv.hyprland.enable = true;
|
||||||
|
};
|
||||||
|
}
|
|
@ -82,9 +82,4 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager = {
|
|
||||||
useGlobalPkgs = true;
|
|
||||||
useUserPackages = true;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, lib, config, ... }: {
|
{ inputs, pkgs, lib, config, ... }: {
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
userConfig.aly.enable = lib.mkEnableOption "Enables Aly's user.";
|
userConfig.aly.enable = lib.mkEnableOption "Enables Aly's user.";
|
||||||
|
|
|
@ -3,4 +3,9 @@
|
||||||
imports = [ ./aly ./dustin ];
|
imports = [ ./aly ./dustin ];
|
||||||
|
|
||||||
userConfig.aly.enable = lib.mkDefault true;
|
userConfig.aly.enable = lib.mkDefault true;
|
||||||
|
|
||||||
|
home-manager = {
|
||||||
|
useGlobalPkgs = true;
|
||||||
|
useUserPackages = true;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue