From aae1271cf010aa5f26e6cd49a7c61e9e8254ec02 Mon Sep 17 00:00:00 2001
From: Hadi <112569860+anotherhadi@users.noreply.github.com>
Date: Fri, 14 Jun 2024 10:00:54 +0200
Subject: [PATCH] test
---
flake.lock | 48 +++
flake.nix | 34 +-
home/apps/kitty/default.nix | 50 ---
home/apps/laptop.nix | 14 -
home/apps/qutebrowser/serverpage/default.nix | 298 ------------------
home/apps/server.nix | 1 -
home/apps/spicetify/default.nix | 40 ---
home/laptop.nix | 32 +-
home/programs/btop/default.nix | 9 +
home/{apps => programs}/cava/default.nix | 4 +-
home/programs/kitty/default.nix | 48 +++
home/programs/laptop.nix | 4 +
home/{apps => programs}/nvim/alpha.nix | 6 +-
home/{apps => programs}/nvim/auto-pairs.nix | 0
home/{apps => programs}/nvim/bufferline.nix | 0
home/{apps => programs}/nvim/cmp.nix | 0
home/{apps => programs}/nvim/comment.nix | 0
home/{apps => programs}/nvim/copilot.nix | 0
home/{apps => programs}/nvim/git.nix | 0
home/{apps => programs}/nvim/keymaps.nix | 0
home/{apps => programs}/nvim/laptop.nix | 0
home/{apps => programs}/nvim/lazygit.nix | 0
home/{apps => programs}/nvim/lightline.nix | 0
home/{apps => programs}/nvim/lsp.nix | 0
home/{apps => programs}/nvim/noice.nix | 0
home/{apps => programs}/nvim/none-ls.nix | 0
home/{apps => programs}/nvim/nvim-tree.nix | 0
home/{apps => programs}/nvim/obsidian.nix | 2 +-
home/{apps => programs}/nvim/oil.nix | 0
home/{apps => programs}/nvim/options.nix | 0
home/{apps => programs}/nvim/telescope.nix | 0
.../nvim/tmux-navigator.nix | 0
home/{apps => programs}/nvim/toggleterm.nix | 0
home/{apps => programs}/nvim/treesitter.nix | 0
home/{apps => programs}/nvim/trouble.nix | 0
home/{apps => programs}/nvim/whichkey.nix | 0
home/{apps => programs}/nvim/wilder.nix | 0
.../qutebrowser/default.nix | 101 +++---
.../qutebrowser/duckduckgo-colorscheme.nix | 2 +-
.../qutebrowser/homepage/default.nix | 8 +-
home/programs/spicetify/default.nix | 40 +++
home/scripts/brightness/default.nix | 2 +-
home/scripts/heaven/default.nix | 39 ---
home/scripts/laptop.nix | 1 -
home/scripts/nixy/default.nix | 11 -
home/scripts/server.nix | 1 -
home/scripts/startup/default.nix | 10 +-
home/server.nix | 41 ---
home/system/dunst/default.nix | 26 +-
home/system/git/default.nix | 7 +-
home/system/hyprland/default.nix | 30 +-
home/system/hyprland/hyprlock.nix | 22 +-
home/system/hyprland/hyprpaper.nix | 4 +-
home/system/laptop.nix | 12 +-
home/system/server.nix | 1 -
home/system/shell/default.nix | 4 +
home/system/shell/fetch/default.nix | 1 +
.../shell/fetch}/neofetch/default.nix | 6 +-
.../shell/fetch}/nerdfetch/default.nix | 9 +-
home/system/shell/fzf.nix | 4 +-
.../default.nix => system/shell/lazygit.nix} | 2 +-
home/{apps => system/shell}/lf/config/colors | 0
home/{apps => system/shell}/lf/config/icons | 0
home/{apps => system/shell}/lf/default.nix | 0
home/system/shell/starship.nix | 4 +-
.../default.nix => system/shell/tmux.nix} | 0
home/system/shell/zsh.nix | 4 +-
home/system/sops/laptop.nix | 13 +-
home/system/sops/server.nix | 14 -
home/system/waybar/default.nix | 74 +++--
home/system/wlogout/default.nix | 16 +-
home/{apps => system}/wofi/default.nix | 22 +-
home/themes/config/load_colors.nix | 38 ---
home/themes/config/load_wallpapers.nix | 6 -
home/themes/config/template.nix | 109 -------
home/themes/heaven.nix | 64 ----
home/themes/nixy.nix | 64 ----
home/themes/wallpapers/Lofi-Computer.png | Bin 3809985 -> 0 bytes
home/themes/wip.nix | 64 ----
home/{themes => }/wallpapers/Fuji-Dark.png | Bin
home/{themes => }/wallpapers/Fuji-Light.png | Bin
home/wallpapers/Lofi-Computer.png | Bin 0 -> 4310003 bytes
.../wallpapers/Lofi-Urban-Nightscape.png | Bin
home/{themes => }/wallpapers/barcode.png | Bin
home/{themes => }/wallpapers/cat_leaves.png | Bin
home/{themes => }/wallpapers/cloud.png | Bin
home/{themes => }/wallpapers/default.png | Bin
home/{themes => }/wallpapers/galaxy.png | Bin
home/{themes => }/wallpapers/house_cloud.png | Bin
home/{themes => }/wallpapers/mountains.png | Bin
.../wallpapers/mountains_black.png | Bin
home/{themes => }/wallpapers/tokyo.png | Bin
home/{themes => }/wallpapers/windows.png | Bin
hosts/laptop/configuration.nix | 115 +++----
hosts/laptop/prime.nix | 13 -
hosts/laptop/tailscale.nix | 6 -
hosts/laptop/variables.nix | 79 +++++
hosts/server/cloudflared.nix | 13 -
hosts/server/configuration.nix | 90 ------
hosts/server/firewall.nix | 13 -
hosts/server/hardware-configuration.nix | 38 ---
hosts/server/nextcloud.nix | 21 --
hosts/server/nginx.nix | 11 -
hosts/server/ntfy.nix | 1 -
hosts/server/openssh.nix | 26 --
hosts/server/pihole.nix | 0
hosts/server/tailscale.nix | 6 -
hosts/server/vaultwarden.nix | 21 --
hosts/{laptop => shared}/fonts.nix | 0
hosts/{laptop => shared}/nvidia.nix | 4 +-
hosts/shared/prime.nix | 13 +
hosts/shared/testnvidia.nix | 52 +++
hosts/{laptop => shared}/tuigreet.nix | 0
hosts/shared/variables-config.nix | 8 +
secrets/laptop.yaml | 23 ++
secrets/secrets.yaml | 28 --
variables.nix | 30 --
117 files changed, 616 insertions(+), 1461 deletions(-)
delete mode 100644 home/apps/kitty/default.nix
delete mode 100644 home/apps/laptop.nix
delete mode 100644 home/apps/qutebrowser/serverpage/default.nix
delete mode 100644 home/apps/server.nix
delete mode 100644 home/apps/spicetify/default.nix
create mode 100644 home/programs/btop/default.nix
rename home/{apps => programs}/cava/default.nix (60%)
create mode 100644 home/programs/kitty/default.nix
create mode 100644 home/programs/laptop.nix
rename home/{apps => programs}/nvim/alpha.nix (96%)
rename home/{apps => programs}/nvim/auto-pairs.nix (100%)
rename home/{apps => programs}/nvim/bufferline.nix (100%)
rename home/{apps => programs}/nvim/cmp.nix (100%)
rename home/{apps => programs}/nvim/comment.nix (100%)
rename home/{apps => programs}/nvim/copilot.nix (100%)
rename home/{apps => programs}/nvim/git.nix (100%)
rename home/{apps => programs}/nvim/keymaps.nix (100%)
rename home/{apps => programs}/nvim/laptop.nix (100%)
rename home/{apps => programs}/nvim/lazygit.nix (100%)
rename home/{apps => programs}/nvim/lightline.nix (100%)
rename home/{apps => programs}/nvim/lsp.nix (100%)
rename home/{apps => programs}/nvim/noice.nix (100%)
rename home/{apps => programs}/nvim/none-ls.nix (100%)
rename home/{apps => programs}/nvim/nvim-tree.nix (100%)
rename home/{apps => programs}/nvim/obsidian.nix (77%)
rename home/{apps => programs}/nvim/oil.nix (100%)
rename home/{apps => programs}/nvim/options.nix (100%)
rename home/{apps => programs}/nvim/telescope.nix (100%)
rename home/{apps => programs}/nvim/tmux-navigator.nix (100%)
rename home/{apps => programs}/nvim/toggleterm.nix (100%)
rename home/{apps => programs}/nvim/treesitter.nix (100%)
rename home/{apps => programs}/nvim/trouble.nix (100%)
rename home/{apps => programs}/nvim/whichkey.nix (100%)
rename home/{apps => programs}/nvim/wilder.nix (100%)
rename home/{apps => programs}/qutebrowser/default.nix (64%)
rename home/{apps => programs}/qutebrowser/duckduckgo-colorscheme.nix (79%)
rename home/{apps => programs}/qutebrowser/homepage/default.nix (96%)
create mode 100644 home/programs/spicetify/default.nix
delete mode 100644 home/scripts/heaven/default.nix
delete mode 100644 home/scripts/server.nix
delete mode 100644 home/server.nix
delete mode 100644 home/system/server.nix
create mode 100644 home/system/shell/fetch/default.nix
rename home/{apps => system/shell/fetch}/neofetch/default.nix (96%)
rename home/{scripts => system/shell/fetch}/nerdfetch/default.nix (97%)
rename home/{apps/lazygit/default.nix => system/shell/lazygit.nix} (74%)
rename home/{apps => system/shell}/lf/config/colors (100%)
rename home/{apps => system/shell}/lf/config/icons (100%)
rename home/{apps => system/shell}/lf/default.nix (100%)
rename home/{apps/tmux/default.nix => system/shell/tmux.nix} (100%)
delete mode 100644 home/system/sops/server.nix
rename home/{apps => system}/wofi/default.nix (68%)
delete mode 100644 home/themes/config/load_colors.nix
delete mode 100644 home/themes/config/load_wallpapers.nix
delete mode 100644 home/themes/config/template.nix
delete mode 100644 home/themes/heaven.nix
delete mode 100644 home/themes/nixy.nix
delete mode 100644 home/themes/wallpapers/Lofi-Computer.png
delete mode 100644 home/themes/wip.nix
rename home/{themes => }/wallpapers/Fuji-Dark.png (100%)
rename home/{themes => }/wallpapers/Fuji-Light.png (100%)
create mode 100644 home/wallpapers/Lofi-Computer.png
rename home/{themes => }/wallpapers/Lofi-Urban-Nightscape.png (100%)
rename home/{themes => }/wallpapers/barcode.png (100%)
rename home/{themes => }/wallpapers/cat_leaves.png (100%)
rename home/{themes => }/wallpapers/cloud.png (100%)
rename home/{themes => }/wallpapers/default.png (100%)
rename home/{themes => }/wallpapers/galaxy.png (100%)
rename home/{themes => }/wallpapers/house_cloud.png (100%)
rename home/{themes => }/wallpapers/mountains.png (100%)
rename home/{themes => }/wallpapers/mountains_black.png (100%)
rename home/{themes => }/wallpapers/tokyo.png (100%)
rename home/{themes => }/wallpapers/windows.png (100%)
delete mode 100644 hosts/laptop/prime.nix
delete mode 100644 hosts/laptop/tailscale.nix
create mode 100644 hosts/laptop/variables.nix
delete mode 100644 hosts/server/cloudflared.nix
delete mode 100644 hosts/server/configuration.nix
delete mode 100644 hosts/server/firewall.nix
delete mode 100644 hosts/server/hardware-configuration.nix
delete mode 100644 hosts/server/nextcloud.nix
delete mode 100644 hosts/server/nginx.nix
delete mode 100644 hosts/server/ntfy.nix
delete mode 100644 hosts/server/openssh.nix
delete mode 100644 hosts/server/pihole.nix
delete mode 100644 hosts/server/tailscale.nix
delete mode 100644 hosts/server/vaultwarden.nix
rename hosts/{laptop => shared}/fonts.nix (100%)
rename hosts/{laptop => shared}/nvidia.nix (81%)
create mode 100644 hosts/shared/prime.nix
create mode 100644 hosts/shared/testnvidia.nix
rename hosts/{laptop => shared}/tuigreet.nix (100%)
create mode 100644 hosts/shared/variables-config.nix
create mode 100644 secrets/laptop.yaml
delete mode 100644 secrets/secrets.yaml
delete mode 100644 variables.nix
diff --git a/flake.lock b/flake.lock
index faa2ae7..69decfe 100644
--- a/flake.lock
+++ b/flake.lock
@@ -423,6 +423,22 @@
"type": "github"
}
},
+ "nixos-hardware": {
+ "locked": {
+ "lastModified": 1718349360,
+ "narHash": "sha256-SuPne4BMqh9/IkKIAG47Cu5qfmntAaqlHdX1yuFoDO0=",
+ "owner": "NixOS",
+ "repo": "nixos-hardware",
+ "rev": "ae5c8dcc4d0182d07d75df2dc97112de822cb9d6",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "master",
+ "repo": "nixos-hardware",
+ "type": "github"
+ }
+ },
"nixpkgs": {
"locked": {
"lastModified": 1717786204,
@@ -530,6 +546,35 @@
"type": "github"
}
},
+ "nur": {
+ "locked": {
+ "lastModified": 1718310343,
+ "narHash": "sha256-jD2XqvofA5hdROv8OSTss/vjJi164Mjavgh2yJf2ej4=",
+ "owner": "nix-community",
+ "repo": "NUR",
+ "rev": "ca312c14ad9abbb8736b9f9fd6fa8b8f60b2f1b2",
+ "type": "github"
+ },
+ "original": {
+ "id": "nur",
+ "type": "indirect"
+ }
+ },
+ "nurpkgs": {
+ "locked": {
+ "lastModified": 1718310343,
+ "narHash": "sha256-jD2XqvofA5hdROv8OSTss/vjJi164Mjavgh2yJf2ej4=",
+ "owner": "nix-community",
+ "repo": "NUR",
+ "rev": "ca312c14ad9abbb8736b9f9fd6fa8b8f60b2f1b2",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "NUR",
+ "type": "github"
+ }
+ },
"ny": {
"flake": false,
"locked": {
@@ -547,8 +592,11 @@
"apple-fonts": "apple-fonts",
"home-manager": "home-manager",
"hyprland": "hyprland",
+ "nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_3",
"nixvim": "nixvim",
+ "nur": "nur",
+ "nurpkgs": "nurpkgs",
"sops-nix": "sops-nix",
"spicetify-nix": "spicetify-nix"
}
diff --git a/flake.nix b/flake.nix
index 8389d5e..897a7e3 100644
--- a/flake.nix
+++ b/flake.nix
@@ -1,5 +1,6 @@
{
- description = "Nixy - Hadi's NixOS configuration";
+ description =
+ "My NixOs dotfiles - Home-manager, hyprland, nixvim, sops, kitty, wofi, waybar, lf, dunst, qutebrowser, tmux, ...";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
@@ -18,18 +19,20 @@
inputs.nixpkgs.follows = "nixpkgs";
};
hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
+ nurpkgs.url = "github:nix-community/NUR";
+ nixos-hardware.url = "github:NixOS/nixos-hardware/master";
};
- outputs =
- inputs@{ nixpkgs, home-manager, sops-nix, hyprland, spicetify-nix, ... }: {
+ outputs = inputs@{ nixpkgs, home-manager, sops-nix, hyprland, spicetify-nix
+ , nur, nixos-hardware, ... }: {
nixosConfigurations = {
nixy = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
+ { nixpkgs.overlays = [ nur.overlay ]; }
./hosts/laptop/configuration.nix
- ./hosts/laptop/fonts.nix
- ./hosts/laptop/tuigreet.nix
+ nixos-hardware.nixosModules.omen-16-n0005ne
{ _module.args = { inherit inputs; }; }
home-manager.nixosModules.home-manager
{
@@ -47,27 +50,6 @@
}
];
};
-
- heaven = nixpkgs.lib.nixosSystem {
- system = "x86_64-linux";
- modules = [
- ./hosts/server/configuration.nix
- { _module.args = { inherit inputs; }; }
- home-manager.nixosModules.home-manager
- {
- home-manager = {
- useGlobalPkgs = true;
- useUserPackages = true;
- users."hadi" = import ./home/server.nix; # CHANGE ME
- extraSpecialArgs = {
- inherit inputs;
- inherit sops-nix;
- };
- };
- }
- ];
- };
-
};
};
}
diff --git a/home/apps/kitty/default.nix b/home/apps/kitty/default.nix
deleted file mode 100644
index e757bd5..0000000
--- a/home/apps/kitty/default.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-{ config, pkgs, ... }: {
-
- programs.kitty = {
- enable = true;
- settings = {
-
- scrollback_lines = 10000;
- enable_audio_bell = false;
- update_check_interval = 0;
- font_family = config.theme.font-mono;
- font_size = 13;
- cursor_shape = "Underline";
- cursor_underline_thickness = 1;
- window_padding_width = 10;
- url_style = "curly";
- confirm_os_window_close = "0";
- remember_window_size = "no";
- disable_ligatures = "never";
- shell = "${pkgs.tmux}/bin/tmux";
- initial_window_width = 1200;
- initial_window_height = 600;
-
- background = "#" + config.theme.colors.bg;
- url_color = "#" + config.theme.colors.primary-fg;
-
- color0 = "#" + config.theme.colors.color0;
- color8 = "#" + config.theme.colors.color8;
- color1 = "#" + config.theme.colors.color1;
- color9 = "#" + config.theme.colors.color9;
- color2 = "#" + config.theme.colors.color2;
- color10 = "#" + config.theme.colors.color10;
- color3 = "#" + config.theme.colors.color3;
- color11 = "#" + config.theme.colors.color11;
- color4 = "#" + config.theme.colors.color4;
- color12 = "#" + config.theme.colors.color12;
- color5 = "#" + config.theme.colors.color5;
- color13 = "#" + config.theme.colors.color13;
- color6 = "#" + config.theme.colors.color6;
- color14 = "#" + config.theme.colors.color14;
- color7 = "#" + config.theme.colors.color7;
- color15 = "#" + config.theme.colors.color15;
-
- cursor = "#" + config.theme.colors.fg;
- cursor_text_color = "#" + config.theme.colors.bg;
-
- selection_foreground = "#" + config.theme.colors.primary-fg;
- selection_background = "#" + config.theme.colors.primary-bg;
- };
- };
-}
diff --git a/home/apps/laptop.nix b/home/apps/laptop.nix
deleted file mode 100644
index a5bd904..0000000
--- a/home/apps/laptop.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- imports = [
- ./kitty
- ./lf
- ./neofetch
- ./nvim/laptop.nix
- ./qutebrowser
- ./spicetify
- ./wofi
- ./cava
- ./tmux
- ./lazygit
- ];
-}
diff --git a/home/apps/qutebrowser/serverpage/default.nix b/home/apps/qutebrowser/serverpage/default.nix
deleted file mode 100644
index 151ea3f..0000000
--- a/home/apps/qutebrowser/serverpage/default.nix
+++ /dev/null
@@ -1,298 +0,0 @@
-{ config, ... }:
-let
- bookmarks = ''
- Apps: [
- {text: "TrueNAS", url: "https://heaven", icon: ""},
- {text: "Nextcloud", url: "https://cloud.anotherhadi.com/", icon: ""},
- {text: "Vaultwarden", url: "https://vault.anotherhadi.com/", icon: ""},
- {text: "Vaultwarden", url: "https://vault.anotherhadi.com/", icon: ""},
- {text: "Jellyfin", url: "https://media.anotherhadi.com", icon: ""},
- ],
- Media: [
- {text: "Overseerr", url: "https://heaven:30023", icon: "O"},
- {text: "Radarr", url: "https://heaven:30025", icon: "R"},
- {text: "Sonarr", url: "https://heaven:30027", icon: "S"},
- {text: "Bazarr", url: "https://heaven:30046", icon: "B"},
- {text: "Prowlarr", url: "https://heaven:30050", icon: "P"},
- ],
- Admin: [
- {text: "Vaultwarden", url: "https://vault.anotherhadi.com/admin", icon: ""},
- {text: "Cloudflare One", url: "https://one.dash.cloudflare.com/", icon: ""},
- {text: "Cloudflare", url: "https://cloudflare.com/", icon: ""},
- {text: "Tailscale", url: "https://login.tailscale.com/admin/machines", icon: ""},
- {text: "PiHole", url: "http://heaven:20720/admin", icon: ""},
- {text: "Unifi", url: "https://heaven:30072", icon: ""},
- ],
- '';
-in {
-
- xdg.configFile."serverpage/index.html".text = ''
-
-
-
-
-
-
- Homepage
-
-
-
-
-
-
-
-
-
- '';
-}
diff --git a/home/apps/server.nix b/home/apps/server.nix
deleted file mode 100644
index 568045a..0000000
--- a/home/apps/server.nix
+++ /dev/null
@@ -1 +0,0 @@
-{ imports = [ ./lf ./neofetch ]; }
diff --git a/home/apps/spicetify/default.nix b/home/apps/spicetify/default.nix
deleted file mode 100644
index 9c9c90d..0000000
--- a/home/apps/spicetify/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ pkgs, config, lib, spicetify-nix, ... }:
-let spicePkgs = spicetify-nix.packages.${pkgs.system}.default;
-in {
-
- imports = [ spicetify-nix.homeManagerModules.default ];
- nixpkgs.config.allowUnfreePredicate = pkg:
- builtins.elem (lib.getName pkg) [ "spotify" ];
- programs.spicetify = {
- enable = true;
- theme = spicePkgs.themes.text;
- colorScheme = "custom";
-
- customColorScheme = {
- text = "${config.theme.colors.fg}";
- subtext = "${config.theme.colors.alt-fg}";
- sidebar-text = "${config.theme.colors.alt-fg}";
- main = "${config.theme.colors.bg}";
- sidebar = "${config.theme.colors.bg}";
- background = "${config.theme.colors.bg}";
- player = "${config.theme.colors.bg}";
- card = "${config.theme.colors.bg}";
- shadow = "000000";
- selected-row = "${config.theme.colors.alt-bg}";
- button = "${config.theme.colors.primary-bg}";
- button-active = "${config.theme.colors.primary-bg}";
- button-disabled = "${config.theme.colors.alt-bg}";
- tab-active = "${config.theme.colors.primary-bg}";
- misc = "${config.theme.colors.alt-fg}";
- };
-
- enabledExtensions = with spicePkgs.extensions; [
- playlistIcons
- lastfm
- historyShortcut
- hidePodcasts
- fullAppDisplay
- shuffle
- ];
- };
-}
diff --git a/home/laptop.nix b/home/laptop.nix
index 55229f0..4c7176d 100644
--- a/home/laptop.nix
+++ b/home/laptop.nix
@@ -1,25 +1,21 @@
-{ pkgs, ... }:
-let variable = import ../variables.nix;
-in {
+{ pkgs, config, ... }: {
imports = [
+ ../hosts/laptop/variables.nix
./system/laptop.nix
./scripts/laptop.nix
- ./apps/laptop.nix
- ./themes/nixy.nix
- ./themes/config/load_wallpapers.nix
+ ./programs/laptop.nix
];
home = {
- username = variable.username;
- homeDirectory = variable.homeDirectory;
+ inherit (config.var) username;
+ inherit (config.var) homeDirectory;
packages = with pkgs; [
swappy
imv
discord
- # obsidian # BROKEN
- btop
+ obsidian
xfce.thunar
bitwarden
vlc
@@ -32,8 +28,6 @@ in {
jq
# Utils
- sops # Secrets
- age # Secrets
fd
bc
gcc
@@ -43,9 +37,9 @@ in {
xdg_utils
wget
curl
- neovide
wf-recorder
glow
+ nwg-displays
# Just cool
peaclock
@@ -55,11 +49,19 @@ in {
# Backup
vscode
- firefox
tor-browser
+ firefox
+ neovide
];
- stateVersion = variable.stateVersion;
+ file."wallpapers" = {
+ recursive = true;
+ source = ./wallpapers;
+ };
+
+ stateVersion = "24.05";
};
+
programs.home-manager.enable = true;
+
}
diff --git a/home/programs/btop/default.nix b/home/programs/btop/default.nix
new file mode 100644
index 0000000..c1a556f
--- /dev/null
+++ b/home/programs/btop/default.nix
@@ -0,0 +1,9 @@
+{
+ programs.btop = {
+ enable = true;
+ settings = {
+ color_theme = "Default";
+ theme_background = false;
+ };
+ };
+}
diff --git a/home/apps/cava/default.nix b/home/programs/cava/default.nix
similarity index 60%
rename from home/apps/cava/default.nix
rename to home/programs/cava/default.nix
index 4244173..5bb2c89 100644
--- a/home/apps/cava/default.nix
+++ b/home/programs/cava/default.nix
@@ -5,8 +5,8 @@
general.framerate = 60;
smoothing.noise_reduction = 88;
color = {
- background = "'#${config.theme.colors.bg}'";
- foreground = "'#${config.theme.colors.primary-bg}'";
+ background = "'#${config.var.theme.colors.bg}'";
+ foreground = "'#${config.var.theme.colors.accent}'";
};
};
};
diff --git a/home/programs/kitty/default.nix b/home/programs/kitty/default.nix
new file mode 100644
index 0000000..7480ac3
--- /dev/null
+++ b/home/programs/kitty/default.nix
@@ -0,0 +1,48 @@
+{ config, pkgs, ... }: {
+ programs.kitty = {
+ enable = true;
+ settings = {
+ scrollback_lines = 10000;
+ initial_window_width = 1200;
+ initial_window_height = 600;
+ update_check_interval = 0;
+ enable_audio_bell = false;
+ confirm_os_window_close = "0";
+ remember_window_size = "no";
+ disable_ligatures = "never";
+ shell = "${pkgs.tmux}/bin/tmux";
+ url_style = "curly";
+ cursor_shape = "Underline";
+ cursor_underline_thickness = 1;
+ window_padding_width = config.var.theme.gaps-out;
+
+ # Font
+ font_family = config.var.theme.font-mono;
+ font_size = 13;
+
+ # Colors
+ background = "#" + config.var.theme.colors.bg;
+ url_color = "#" + config.var.theme.colors.accent;
+ color0 = "#" + config.var.theme.colors.c0;
+ color8 = "#" + config.var.theme.colors.c8;
+ color1 = "#" + config.var.theme.colors.c1;
+ color9 = "#" + config.var.theme.colors.c9;
+ color2 = "#" + config.var.theme.colors.c2;
+ color10 = "#" + config.var.theme.colors.c10;
+ color3 = "#" + config.var.theme.colors.c3;
+ color11 = "#" + config.var.theme.colors.c11;
+ color4 = "#" + config.var.theme.colors.c4;
+ color12 = "#" + config.var.theme.colors.c12;
+ color5 = "#" + config.var.theme.colors.c5;
+ color13 = "#" + config.var.theme.colors.c13;
+ color6 = "#" + config.var.theme.colors.c6;
+ color14 = "#" + config.var.theme.colors.c14;
+ color7 = "#" + config.var.theme.colors.c7;
+ color15 = "#" + config.var.theme.colors.c15;
+ cursor = "#" + config.var.theme.colors.fg;
+ cursor_text_color = "#" + config.var.theme.colors.bg;
+ selection_foreground = "#" + config.var.theme.colors.accentFg;
+ selection_background = "#" + config.var.theme.colors.accent;
+ };
+ };
+}
diff --git a/home/programs/laptop.nix b/home/programs/laptop.nix
new file mode 100644
index 0000000..2ab4c52
--- /dev/null
+++ b/home/programs/laptop.nix
@@ -0,0 +1,4 @@
+{
+ imports =
+ [ ./btop ./kitty ./nvim/laptop.nix ./qutebrowser ./spicetify ./cava ];
+}
diff --git a/home/apps/nvim/alpha.nix b/home/programs/nvim/alpha.nix
similarity index 96%
rename from home/apps/nvim/alpha.nix
rename to home/programs/nvim/alpha.nix
index 47db524..a698867 100644
--- a/home/apps/nvim/alpha.nix
+++ b/home/programs/nvim/alpha.nix
@@ -1,9 +1,9 @@
{ config, ... }: {
programs.nixvim.highlight = {
- AlphaHeaderColor.fg = "#${config.theme.colors.primary-bg}";
- AlphaTextColor.fg = "#${config.theme.colors.fg}";
- AlphaShortcutColor.fg = "#${config.theme.colors.alt-fg}";
+ AlphaHeaderColor.fg = "#${config.var.theme.colors.accent}";
+ AlphaTextColor.fg = "#${config.var.theme.colors.fg}";
+ AlphaShortcutColor.fg = "#${config.var.theme.colors.fgalt}";
};
programs.nixvim.plugins.alpha = {
diff --git a/home/apps/nvim/auto-pairs.nix b/home/programs/nvim/auto-pairs.nix
similarity index 100%
rename from home/apps/nvim/auto-pairs.nix
rename to home/programs/nvim/auto-pairs.nix
diff --git a/home/apps/nvim/bufferline.nix b/home/programs/nvim/bufferline.nix
similarity index 100%
rename from home/apps/nvim/bufferline.nix
rename to home/programs/nvim/bufferline.nix
diff --git a/home/apps/nvim/cmp.nix b/home/programs/nvim/cmp.nix
similarity index 100%
rename from home/apps/nvim/cmp.nix
rename to home/programs/nvim/cmp.nix
diff --git a/home/apps/nvim/comment.nix b/home/programs/nvim/comment.nix
similarity index 100%
rename from home/apps/nvim/comment.nix
rename to home/programs/nvim/comment.nix
diff --git a/home/apps/nvim/copilot.nix b/home/programs/nvim/copilot.nix
similarity index 100%
rename from home/apps/nvim/copilot.nix
rename to home/programs/nvim/copilot.nix
diff --git a/home/apps/nvim/git.nix b/home/programs/nvim/git.nix
similarity index 100%
rename from home/apps/nvim/git.nix
rename to home/programs/nvim/git.nix
diff --git a/home/apps/nvim/keymaps.nix b/home/programs/nvim/keymaps.nix
similarity index 100%
rename from home/apps/nvim/keymaps.nix
rename to home/programs/nvim/keymaps.nix
diff --git a/home/apps/nvim/laptop.nix b/home/programs/nvim/laptop.nix
similarity index 100%
rename from home/apps/nvim/laptop.nix
rename to home/programs/nvim/laptop.nix
diff --git a/home/apps/nvim/lazygit.nix b/home/programs/nvim/lazygit.nix
similarity index 100%
rename from home/apps/nvim/lazygit.nix
rename to home/programs/nvim/lazygit.nix
diff --git a/home/apps/nvim/lightline.nix b/home/programs/nvim/lightline.nix
similarity index 100%
rename from home/apps/nvim/lightline.nix
rename to home/programs/nvim/lightline.nix
diff --git a/home/apps/nvim/lsp.nix b/home/programs/nvim/lsp.nix
similarity index 100%
rename from home/apps/nvim/lsp.nix
rename to home/programs/nvim/lsp.nix
diff --git a/home/apps/nvim/noice.nix b/home/programs/nvim/noice.nix
similarity index 100%
rename from home/apps/nvim/noice.nix
rename to home/programs/nvim/noice.nix
diff --git a/home/apps/nvim/none-ls.nix b/home/programs/nvim/none-ls.nix
similarity index 100%
rename from home/apps/nvim/none-ls.nix
rename to home/programs/nvim/none-ls.nix
diff --git a/home/apps/nvim/nvim-tree.nix b/home/programs/nvim/nvim-tree.nix
similarity index 100%
rename from home/apps/nvim/nvim-tree.nix
rename to home/programs/nvim/nvim-tree.nix
diff --git a/home/apps/nvim/obsidian.nix b/home/programs/nvim/obsidian.nix
similarity index 77%
rename from home/apps/nvim/obsidian.nix
rename to home/programs/nvim/obsidian.nix
index aa44d5b..458edce 100644
--- a/home/apps/nvim/obsidian.nix
+++ b/home/programs/nvim/obsidian.nix
@@ -2,7 +2,7 @@
programs.nixvim.plugins.obsidian = {
enable = true;
settings = {
- dir = "~/Nextcloud/obsidian";
+ dir = "~/nextcloud/Notes";
disable_frontmatter = true;
};
};
diff --git a/home/apps/nvim/oil.nix b/home/programs/nvim/oil.nix
similarity index 100%
rename from home/apps/nvim/oil.nix
rename to home/programs/nvim/oil.nix
diff --git a/home/apps/nvim/options.nix b/home/programs/nvim/options.nix
similarity index 100%
rename from home/apps/nvim/options.nix
rename to home/programs/nvim/options.nix
diff --git a/home/apps/nvim/telescope.nix b/home/programs/nvim/telescope.nix
similarity index 100%
rename from home/apps/nvim/telescope.nix
rename to home/programs/nvim/telescope.nix
diff --git a/home/apps/nvim/tmux-navigator.nix b/home/programs/nvim/tmux-navigator.nix
similarity index 100%
rename from home/apps/nvim/tmux-navigator.nix
rename to home/programs/nvim/tmux-navigator.nix
diff --git a/home/apps/nvim/toggleterm.nix b/home/programs/nvim/toggleterm.nix
similarity index 100%
rename from home/apps/nvim/toggleterm.nix
rename to home/programs/nvim/toggleterm.nix
diff --git a/home/apps/nvim/treesitter.nix b/home/programs/nvim/treesitter.nix
similarity index 100%
rename from home/apps/nvim/treesitter.nix
rename to home/programs/nvim/treesitter.nix
diff --git a/home/apps/nvim/trouble.nix b/home/programs/nvim/trouble.nix
similarity index 100%
rename from home/apps/nvim/trouble.nix
rename to home/programs/nvim/trouble.nix
diff --git a/home/apps/nvim/whichkey.nix b/home/programs/nvim/whichkey.nix
similarity index 100%
rename from home/apps/nvim/whichkey.nix
rename to home/programs/nvim/whichkey.nix
diff --git a/home/apps/nvim/wilder.nix b/home/programs/nvim/wilder.nix
similarity index 100%
rename from home/apps/nvim/wilder.nix
rename to home/programs/nvim/wilder.nix
diff --git a/home/apps/qutebrowser/default.nix b/home/programs/qutebrowser/default.nix
similarity index 64%
rename from home/apps/qutebrowser/default.nix
rename to home/programs/qutebrowser/default.nix
index db679f1..662084c 100644
--- a/home/apps/qutebrowser/default.nix
+++ b/home/programs/qutebrowser/default.nix
@@ -1,6 +1,6 @@
{ config, ... }: {
- imports = [ ./duckduckgo-colorscheme.nix ./homepage ./serverpage ];
+ imports = [ ./duckduckgo-colorscheme.nix ./homepage ];
programs.qutebrowser = {
enable = true;
@@ -18,8 +18,8 @@
};
quickmarks = {
- home = "${config.home.homeDirectory}/.config/startpage/index.html";
- server = "${config.home.homeDirectory}/.config/serverpage/index.html";
+ home = "${config.var.homeDirectory}/.config/startpage/index.html";
+ server = "${config.var.homeDirectory}/.config/serverpage/index.html";
mynixos = "https://mynixos.com";
github = "https://github.com";
outlook = "https://outlook.office.com/mail/";
@@ -39,92 +39,92 @@
settings = {
url = {
default_page =
- "${config.home.homeDirectory}/.config/startpage/index.html";
+ "${config.var.homeDirectory}/.config/startpage/index.html";
start_pages =
- [ "${config.home.homeDirectory}/.config/startpage/index.html" ];
+ [ "${config.var.homeDirectory}/.config/startpage/index.html" ];
};
colors = {
tabs = {
- odd.bg = "#${config.theme.colors.bg}";
- odd.fg = "#${config.theme.colors.fg}";
- even.bg = "#${config.theme.colors.bg}";
- even.fg = "#${config.theme.colors.fg}";
+ odd.bg = "#${config.var.theme.colors.bg}";
+ odd.fg = "#${config.var.theme.colors.fg}";
+ even.bg = "#${config.var.theme.colors.bg}";
+ even.fg = "#${config.var.theme.colors.fg}";
selected = {
odd = {
- bg = "#${config.theme.colors.primary-bg}";
- fg = "#${config.theme.colors.primary-fg}";
+ bg = "#${config.var.theme.colors.accent}";
+ fg = "#${config.var.theme.colors.accentFg}";
};
even = {
- bg = "#${config.theme.colors.primary-bg}";
- fg = "#${config.theme.colors.primary-fg}";
+ bg = "#${config.var.theme.colors.accent}";
+ fg = "#${config.var.theme.colors.accentFg}";
};
};
indicator = {
- error = "#${config.theme.colors.color1}";
- start = "#${config.theme.colors.alt-bg}";
- stop = "#${config.theme.colors.alt-bg}";
+ error = "#${config.var.theme.colors.c1}";
+ start = "#${config.var.theme.colors.bgalt}";
+ stop = "#${config.var.theme.colors.bgalt}";
};
};
hints = {
- bg = "#${config.theme.colors.alt-bg}";
- fg = "#${config.theme.colors.alt-fg}";
- match.fg = "#${config.theme.colors.bg}";
+ bg = "#${config.var.theme.colors.bgalt}";
+ fg = "#${config.var.theme.colors.fgalt}";
+ match.fg = "#${config.var.theme.colors.bg}";
};
completion = {
category = {
- bg = "#${config.theme.colors.bg}";
- fg = "#${config.theme.colors.fg}";
+ bg = "#${config.var.theme.colors.bg}";
+ fg = "#${config.var.theme.colors.fg}";
border = {
- top = "#${config.theme.colors.bg}";
- bottom = "#${config.theme.colors.bg}";
+ top = "#${config.var.theme.colors.bg}";
+ bottom = "#${config.var.theme.colors.bg}";
};
};
- odd.bg = "#${config.theme.colors.bg}";
- even.bg = "#${config.theme.colors.bg}";
+ odd.bg = "#${config.var.theme.colors.bg}";
+ even.bg = "#${config.var.theme.colors.bg}";
fg = [ "#FFFFFF" "#FFFFFF" "#FFFFFF" ];
- match.fg = "#${config.theme.colors.primary-bg}";
+ match.fg = "#${config.var.theme.colors.accent}";
item.selected = {
- bg = "#${config.theme.colors.primary-bg}";
- border.top = "#${config.theme.colors.primary-bg}";
- border.bottom = "#${config.theme.colors.primary-bg}";
- fg = "#${config.theme.colors.primary-fg}";
- match.fg = "#${config.theme.colors.primary-fg}";
+ bg = "#${config.var.theme.colors.accent}";
+ border.top = "#${config.var.theme.colors.accent}";
+ border.bottom = "#${config.var.theme.colors.accent}";
+ fg = "#${config.var.theme.colors.accentFg}";
+ match.fg = "#${config.var.theme.colors.accentFg}";
};
};
statusbar = {
- normal.bg = "#${config.theme.colors.bg}";
- normal.fg = "#${config.theme.colors.fg}";
- private.bg = "#${config.theme.colors.bg}";
- private.fg = "#${config.theme.colors.fg}";
- insert.bg = "#${config.theme.colors.primary-bg}";
- insert.fg = "#${config.theme.colors.primary-fg}";
+ normal.bg = "#${config.var.theme.colors.bg}";
+ normal.fg = "#${config.var.theme.colors.fg}";
+ private.bg = "#${config.var.theme.colors.bg}";
+ private.fg = "#${config.var.theme.colors.fg}";
+ insert.bg = "#${config.var.theme.colors.accent}";
+ insert.fg = "#${config.var.theme.colors.accentFg}";
command = {
- bg = "#${config.theme.colors.alt-bg}";
- fg = "#${config.theme.colors.alt-fg}";
- private.bg = "#${config.theme.colors.alt-bg}";
- private.fg = "#${config.theme.colors.alt-fg}";
+ bg = "#${config.var.theme.colors.bgalt}";
+ fg = "#${config.var.theme.colors.fgalt}";
+ private.bg = "#${config.var.theme.colors.bgalt}";
+ private.fg = "#${config.var.theme.colors.fgalt}";
};
};
messages = {
info = {
- bg = "#${config.theme.colors.alt-bg}";
- fg = "#${config.theme.colors.alt-fg}";
- border = "#${config.theme.colors.alt-bg}";
+ bg = "#${config.var.theme.colors.bgalt}";
+ fg = "#${config.var.theme.colors.fgalt}";
+ border = "#${config.var.theme.colors.bgalt}";
};
error = {
- bg = "#${config.theme.colors.color1}";
- fg = "#${config.theme.colors.alt-fg}";
- border = "#${config.theme.colors.color1}";
+ bg = "#${config.var.theme.colors.c1}";
+ fg = "#${config.var.theme.colors.fgalt}";
+ border = "#${config.var.theme.colors.c1}";
};
};
@@ -133,7 +133,7 @@
"dark"; # Enable dark mode for websites that support it
};
- fonts = { default_family = "${config.theme.font}"; };
+ fonts = { default_family = "${config.var.theme.font}"; };
completion = {
height = "30%";
@@ -184,9 +184,8 @@
keyBindings = {
normal = {
- "gh" = "open ${config.home.homeDirectory}/.config/startpage/index.html";
- "gs" =
- "open ${config.home.homeDirectory}/.config/serverpage/index.html";
+ "gh" = "open ${config.var.homeDirectory}/.config/startpage/index.html";
+ "gs" = "open ${config.var.homeDirectory}/.config/serverpage/index.html";
" p" = "tab-move -";
" n" = "tab-move +";
diff --git a/home/apps/qutebrowser/duckduckgo-colorscheme.nix b/home/programs/qutebrowser/duckduckgo-colorscheme.nix
similarity index 79%
rename from home/apps/qutebrowser/duckduckgo-colorscheme.nix
rename to home/programs/qutebrowser/duckduckgo-colorscheme.nix
index 93ffd7f..e3ea834 100644
--- a/home/apps/qutebrowser/duckduckgo-colorscheme.nix
+++ b/home/programs/qutebrowser/duckduckgo-colorscheme.nix
@@ -4,7 +4,7 @@
// Go to DuckDuckGo settings page, open the console, paste the code and hit enter.
// based on https://ddg.codingcodax.dev/
// Cookies string for your theme
- const cookie = '7=${config.theme.colors.bg}; j=${config.theme.colors.bg}; 9=${config.theme.colors.fg}; aa=${config.theme.colors.alt-fg}; 8=${config.theme.colors.color7}; x=${config.theme.colors.primary-bg}; 21=${config.theme.colors.alt-bg};';
+ const cookie = '7=${config.var.theme.colors.bg}; j=${config.var.theme.colors.bg}; 9=${config.var.theme.colors.fg}; aa=${config.var.theme.colors.fgalt}; 8=${config.var.theme.colors.c7}; x=${config.var.theme.colors.accent}; 21=${config.var.theme.colors.bgalt};';
// Converts cookie string into formatted JSON
const cookieToJSON = (cookieRaw) => {
diff --git a/home/apps/qutebrowser/homepage/default.nix b/home/programs/qutebrowser/homepage/default.nix
similarity index 96%
rename from home/apps/qutebrowser/homepage/default.nix
rename to home/programs/qutebrowser/homepage/default.nix
index cc60626..ad35042 100644
--- a/home/apps/qutebrowser/homepage/default.nix
+++ b/home/programs/qutebrowser/homepage/default.nix
@@ -40,7 +40,7 @@ in {
p {
margin: 0;
padding: 0;
- font-family: '${config.theme.font}', sans-serif;
+ font-family: '${config.var.theme.font}', sans-serif;
}
.w-screen {
@@ -175,14 +175,14 @@ in {
-
+
@@ -232,7 +232,7 @@ in {
const url = document.createElement('p');
url.textContent = link.url;
url.className = 'text-sm';
- url.style = "color: #${config.theme.colors.alt-fg};"
+ url.style = "color: #${config.var.theme.colors.fgalt};"
divNameUrl.appendChild(name);
divNameUrl.appendChild(url);
diff --git a/home/programs/spicetify/default.nix b/home/programs/spicetify/default.nix
new file mode 100644
index 0000000..32294cf
--- /dev/null
+++ b/home/programs/spicetify/default.nix
@@ -0,0 +1,40 @@
+{ pkgs, config, lib, spicetify-nix, ... }:
+let spicePkgs = spicetify-nix.packages.${pkgs.system}.default;
+in {
+
+ imports = [ spicetify-nix.homeManagerModules.default ];
+ nixpkgs.config.allowUnfreePredicate = pkg:
+ builtins.elem (lib.getName pkg) [ "spotify" ];
+ programs.spicetify = {
+ enable = true;
+ theme = spicePkgs.themes.text;
+ colorScheme = "custom";
+
+ customColorScheme = {
+ text = "${config.var.theme.colors.fg}";
+ subtext = "${config.var.theme.colors.fgalt}";
+ sidebar-text = "${config.var.theme.colors.fgalt}";
+ main = "${config.var.theme.colors.bg}";
+ sidebar = "${config.var.theme.colors.bg}";
+ background = "${config.var.theme.colors.bg}";
+ player = "${config.var.theme.colors.bg}";
+ card = "${config.var.theme.colors.bg}";
+ shadow = "000000";
+ selected-row = "${config.var.theme.colors.bgalt}";
+ button = "${config.var.theme.colors.accent}";
+ button-active = "${config.var.theme.colors.accent}";
+ button-disabled = "${config.var.theme.colors.bgalt}";
+ tab-active = "${config.var.theme.colors.accent}";
+ misc = "${config.var.theme.colors.fgalt}";
+ };
+
+ enabledExtensions = with spicePkgs.extensions; [
+ playlistIcons
+ lastfm
+ historyShortcut
+ hidePodcasts
+ fullAppDisplay
+ shuffle
+ ];
+ };
+}
diff --git a/home/scripts/brightness/default.nix b/home/scripts/brightness/default.nix
index 67677bd..dd05842 100644
--- a/home/scripts/brightness/default.nix
+++ b/home/scripts/brightness/default.nix
@@ -1,4 +1,4 @@
-{ pkgs, config, ... }:
+{ pkgs, ... }:
let
increments = "5";
diff --git a/home/scripts/heaven/default.nix b/home/scripts/heaven/default.nix
deleted file mode 100644
index f79998d..0000000
--- a/home/scripts/heaven/default.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ pkgs, config, ... }:
-
-let
- homedir = config.home.homeDirectory;
-
- heaven-rebuild = pkgs.writeShellScriptBin "heaven-rebuild" ''
- sudo nixos-rebuild switch --flake ${homedir}/.config/nixos#heaven
- '';
-
- heaven-upgrade = pkgs.writeShellScriptBin "heaven-upgrade" ''
- sudo nixos-rebuild switch --upgrade --flake ${homedir}/.config/nixos#heaven
- '';
-
- heaven-update = pkgs.writeShellScriptBin "heaven-update" ''
- cd ${homedir}/.config/nixos && sudo nix flake update
- '';
-
- heaven-gc = pkgs.writeShellScriptBin "heaven-gc" ''
- cd ${homedir}/.config/nixos && sudo nix-collect-garbage -d
- '';
-
- heaven-cb = pkgs.writeShellScriptBin "heaven-cb" ''
- sudo /run/current-system/bin/switch-to-configuration boot
- '';
-
- remote-rebuild = pkgs.writeShellScriptBin "remote-rebuild" ''
- ssh -t heaven "cd ~/.config/nixos && git pull && heaven-rebuild"
- '';
-
-in {
- home.packages = with pkgs; [
- heaven-rebuild
- heaven-upgrade
- heaven-update
- heaven-gc
- heaven-cb
- remote-rebuild
- ];
-}
diff --git a/home/scripts/laptop.nix b/home/scripts/laptop.nix
index 1a31ff5..ba52667 100644
--- a/home/scripts/laptop.nix
+++ b/home/scripts/laptop.nix
@@ -1,7 +1,6 @@
{
imports = [
./nixy
- ./nerdfetch
./sounds
./brightness
./caffeine
diff --git a/home/scripts/nixy/default.nix b/home/scripts/nixy/default.nix
index 679be48..b152d55 100644
--- a/home/scripts/nixy/default.nix
+++ b/home/scripts/nixy/default.nix
@@ -23,14 +23,6 @@ let
sudo /run/current-system/bin/switch-to-configuration boot
'';
- heaven-push = pkgs.writeShellScriptBin "heaven-push" ''
- cd ~/dev/heaven && git add . && git commit -m ''${1:-Update} && git push
- '';
-
- remote-rebuild = pkgs.writeShellScriptBin "remote-rebuild" ''
- ssh -t heaven "cd ~/.config/nixos && git pull && heaven-rebuild"
- '';
-
in {
home.packages = with pkgs; [
nixy-rebuild
@@ -38,8 +30,5 @@ in {
nixy-update
nixy-gc
nixy-cb
-
- heaven-push
- remote-rebuild
];
}
diff --git a/home/scripts/server.nix b/home/scripts/server.nix
deleted file mode 100644
index 0b3e233..0000000
--- a/home/scripts/server.nix
+++ /dev/null
@@ -1 +0,0 @@
-{ imports = [ ./heaven ./nixy ./nerdfetch ./compress ]; }
diff --git a/home/scripts/startup/default.nix b/home/scripts/startup/default.nix
index 9580e12..525946b 100644
--- a/home/scripts/startup/default.nix
+++ b/home/scripts/startup/default.nix
@@ -1,8 +1,6 @@
# File runned at startup by Hyprland
-{ pkgs, ... }:
+{ pkgs, config, ... }:
let
- variable = import ../../../variables.nix;
-
nextcloud-watch = pkgs.writeShellScriptBin "nextcloud-watch" ''
# Start nextcloud if I'm on my local network
while true;do
@@ -31,11 +29,9 @@ let
startup = pkgs.writeShellScriptBin "startup" ''
# Because HM enabling services suck.
- [[ ${
- toString variable.enableSops
- } == "1" ]] && systemctl --user start sops-nix
+ [[ ${toString config.var.sops} == "1" ]] && systemctl --user start sops-nix
- [[ ${toString variable.enableNextcloud} == "1" ]] && nextcloud-watch &
+ [[ ${toString config.var.nextcloud} == "1" ]] && nextcloud-watch &
notify-system &
${pkgs.waybar}/bin/waybar &
diff --git a/home/server.nix b/home/server.nix
deleted file mode 100644
index 6114316..0000000
--- a/home/server.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ pkgs, ... }:
-let variable = import ../variables.nix;
-in {
-
- imports = [
- ./system/server.nix
- ./scripts/server.nix
- ./apps/server.nix
- ./themes/wip.nix
- ];
-
- home = {
- username = variable.username;
- homeDirectory = variable.homeDirectory;
-
- packages = with pkgs; [
- btop
-
- # Dev
- go
- cargo
- nodejs
- python3
- jq
-
- # Utils
- sops # Secrets
- age # Secrets
- fd
- bc
- gcc
- zip
- unzip
- wget
- curl
- ];
-
- stateVersion = variable.server.stateVersion;
- };
- programs.home-manager.enable = true;
-}
diff --git a/home/system/dunst/default.nix b/home/system/dunst/default.nix
index 9f45a84..ddb6d1c 100644
--- a/home/system/dunst/default.nix
+++ b/home/system/dunst/default.nix
@@ -34,17 +34,17 @@
sticky_history = "yes";
history_length = 20;
always_run_script = true;
- corner_radius = config.theme.rounding;
+ corner_radius = config.var.theme.rounding;
follow = "mouse";
- font = config.theme.font;
+ font = config.var.theme.font;
format = "%s\\n%b";
- progress_bar_corner_radius = config.theme.rounding - 10;
+ progress_bar_corner_radius = config.var.theme.rounding - 10;
#format = ''
- # %s %p
+ # %s %p
# %b'';
- frame_color = "#" + config.theme.colors.bg;
- highlight = "#" + config.theme.colors.primary-bg;
- foreground = "#" + config.theme.colors.fg;
+ frame_color = "#" + config.var.theme.colors.bg;
+ highlight = "#" + config.var.theme.colors.accent;
+ foreground = "#" + config.var.theme.colors.fg;
frame_width = 1;
offset = "0x10";
horizontal_padding = 10;
@@ -67,16 +67,16 @@
fullscreen_delay_everything = { fullscreen = "delay"; };
urgency_critical = {
- background = "#" + config.theme.colors.color1;
- foreground = "#" + config.theme.colors.color0;
+ background = "#" + config.var.theme.colors.c1;
+ foreground = "#" + config.var.theme.colors.c0;
};
urgency_low = {
- background = "#" + config.theme.colors.alt-bg;
- foreground = "#" + config.theme.colors.alt-fg;
+ background = "#" + config.var.theme.colors.bgalt;
+ foreground = "#" + config.var.theme.colors.fgalt;
};
urgency_normal = {
- background = "#" + config.theme.colors.alt-bg;
- foreground = "#" + config.theme.colors.alt-fg;
+ background = "#" + config.var.theme.colors.bgalt;
+ foreground = "#" + config.var.theme.colors.fgalt;
};
};
};
diff --git a/home/system/git/default.nix b/home/system/git/default.nix
index e370977..4e37cc2 100644
--- a/home/system/git/default.nix
+++ b/home/system/git/default.nix
@@ -1,9 +1,8 @@
-let variable = import ../../../variables.nix;
-in {
+{ config, ... }: {
programs.git = {
enable = true;
- userName = variable.git.username;
- userEmail = variable.git.email;
+ userName = config.var.git.username;
+ userEmail = config.var.git.email;
ignores = [
".cache/"
".DS_Store"
diff --git a/home/system/hyprland/default.nix b/home/system/hyprland/default.nix
index 6b3d420..8a00d7d 100644
--- a/home/system/hyprland/default.nix
+++ b/home/system/hyprland/default.nix
@@ -1,6 +1,4 @@
-{ pkgs, config, hyprland, ... }:
-let variable = import ../../../variables.nix;
-in {
+{ pkgs, config, hyprland, ... }: {
imports = [ ./hyprlock.nix ./hypridle.nix ./hyprpaper.nix ];
@@ -41,8 +39,15 @@ in {
"${pkgs.bitwarden}/bin/bitwarden"
];
- monitor =
- [ "eDP-2,highres,0x0,1" "DP-8,highrr,2560x0,1" ",prefered,auto,1" ];
+ monitor = [
+ "eDP-2,highres,0x0,1"
+ # "DP-9,highrr,2560x0,1"
+ # ",prefered,auto,1"
+ #"desc:,2560x1440@240.0,0x0,1.0"
+ #"desc:,2560x1440@60.0,645x4362,1.0"
+ "desc:AOC U34G2G1 0x00000E06,3440x1440@59.97,2560x0,1.0"
+ ",disable"
+ ];
bind = [
"$mod, RETURN, exec, ${pkgs.kitty}/bin/kitty"
@@ -101,6 +106,7 @@ in {
"XDG_SESSION_TYPE,wayland"
"XDG_CURRENT_DESKTOP,Hyprland"
"XDG_SESSION_TYPE,wayland"
+ "GBM_BACKEND,nvidia-drm"
"XDG_SESSION_DESKTOP,Hyprland"
"QT_AUTO_SCREEN_SCALE_FACTOR,1"
"QT_QPA_PLATFORM=wayland,xcb"
@@ -113,17 +119,17 @@ in {
general = {
resize_on_border = true;
- gaps_in = config.theme.gaps-in;
- gaps_out = config.theme.gaps-out;
- border_size = config.theme.border-size;
- "col.active_border" = "rgba(${config.theme.colors.primary-bg}ff)";
+ gaps_in = config.var.theme.gaps-in;
+ gaps_out = config.var.theme.gaps-out;
+ border_size = config.var.theme.border-size;
+ "col.active_border" = "rgba(${config.var.theme.colors.accent}ff)";
"col.inactive_border" = "rgba(00000055)";
border_part_of_window = true;
layout = "master";
};
decoration = {
- rounding = config.theme.rounding;
+ rounding = config.var.theme.rounding;
drop_shadow = true;
shadow_range = 20;
shadow_render_power = 3;
@@ -143,7 +149,7 @@ in {
};
input = {
- kb_layout = variable.keyboardLayout;
+ kb_layout = config.var.keyboardLayout;
kb_options = "caps:escape";
follow_mouse = 1;
@@ -251,7 +257,7 @@ in {
};
font = {
- name = config.theme.font;
+ name = config.var.theme.font;
size = 11;
};
};
diff --git a/home/system/hyprland/hyprlock.nix b/home/system/hyprland/hyprlock.nix
index a1f4378..a7c8b38 100644
--- a/home/system/hyprland/hyprlock.nix
+++ b/home/system/hyprland/hyprlock.nix
@@ -5,8 +5,8 @@
xdg.configFile."hypr/hyprlock.conf".text = ''
background {
monitor =
- path = $HOME/.config/wallpapers/${config.theme.wallpaper}
- color = rgb(${config.theme.colors.bg})
+ path = $HOME/.config/wallpapers/${config.var.theme.wallpaper}
+ color = rgb(${config.var.theme.colors.bg})
blur_size = 4
blur_passes = 3
@@ -24,9 +24,9 @@
dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
dots_spacing = 0.64 # Scale of dots' absolute size, 0.0 - 1.0
dots_center = true
- outer_color = rgb(${config.theme.colors.primary-bg})
- inner_color = rgb(${config.theme.colors.bg})
- font_color = rgb(${config.theme.colors.fg})
+ outer_color = rgb(${config.var.theme.colors.accent})
+ inner_color = rgb(${config.var.theme.colors.bg})
+ font_color = rgb(${config.var.theme.colors.fg})
fade_on_empty = true
placeholder_text = Password... # Text rendered in the input box when it's empty.
hide_input = false
@@ -39,9 +39,9 @@
label {
monitor =
text = cmd[update:1000] echo " $(date +"%H:%M:%S") "
- color = rgb(${config.theme.colors.fg})
+ color = rgb(${config.var.theme.colors.fg})
font_size = 64
- font_family = ${config.theme.font}
+ font_family = ${config.var.theme.font}
position = 0, 16
halign = center
valign = center
@@ -51,9 +51,9 @@
label {
monitor =
text = Hey $USER
- color = rgb(${config.theme.colors.fg})
+ color = rgb(${config.var.theme.colors.fg})
font_size = 20
- font_family = ${config.theme.font}
+ font_family = ${config.var.theme.font}
position = 0, 0
halign = center
valign = center
@@ -64,9 +64,9 @@
label {
monitor =
text = Type to unlock!
- color = rgb(${config.theme.colors.fg})
+ color = rgb(${config.var.theme.colors.fg})
font_size = 16
- font_family = ${config.theme.font}
+ font_family = ${config.var.theme.font}
position = 0, 30
halign = center
valign = bottom
diff --git a/home/system/hyprland/hyprpaper.nix b/home/system/hyprland/hyprpaper.nix
index d25c538..8a0bdf1 100644
--- a/home/system/hyprland/hyprpaper.nix
+++ b/home/system/hyprland/hyprpaper.nix
@@ -2,8 +2,8 @@
home.packages = with pkgs; [ hyprpaper ];
xdg.configFile."hypr/hyprpaper.conf".text = ''
- preload = ~/.config/wallpapers/${config.theme.wallpaper}
- wallpaper = ,~/.config/wallpapers/${config.theme.wallpaper}
+ preload = ~/wallpapers/${config.var.theme.wallpaper}
+ wallpaper = ,~/wallpapers/${config.var.theme.wallpaper}
ipc=true
splash=false
'';
diff --git a/home/system/laptop.nix b/home/system/laptop.nix
index 3bfc86b..37a32c1 100644
--- a/home/system/laptop.nix
+++ b/home/system/laptop.nix
@@ -1,4 +1,12 @@
{
- imports =
- [ ./git ./dunst ./hyprland ./shell ./sops/laptop.nix ./waybar ./wlogout ];
+ imports = [
+ ./git
+ ./dunst
+ ./hyprland
+ ./shell
+ ./sops/laptop.nix
+ ./waybar
+ ./wlogout
+ ./wofi
+ ];
}
diff --git a/home/system/server.nix b/home/system/server.nix
deleted file mode 100644
index 613d51b..0000000
--- a/home/system/server.nix
+++ /dev/null
@@ -1 +0,0 @@
-{ imports = [ ./git ./shell ./sops/server.nix ]; }
diff --git a/home/system/shell/default.nix b/home/system/shell/default.nix
index d5de2bd..e84d1d8 100644
--- a/home/system/shell/default.nix
+++ b/home/system/shell/default.nix
@@ -4,5 +4,9 @@
./zsh.nix
./starship.nix
./zoxide.nix
+ ./tmux.nix
+ ./lazygit.nix
+ ./fetch
+ ./lf
];
}
diff --git a/home/system/shell/fetch/default.nix b/home/system/shell/fetch/default.nix
new file mode 100644
index 0000000..0cce11f
--- /dev/null
+++ b/home/system/shell/fetch/default.nix
@@ -0,0 +1 @@
+{ imports = [ ./neofetch ./nerdfetch ]; }
diff --git a/home/apps/neofetch/default.nix b/home/system/shell/fetch/neofetch/default.nix
similarity index 96%
rename from home/apps/neofetch/default.nix
rename to home/system/shell/fetch/neofetch/default.nix
index e3be732..62885bb 100644
--- a/home/apps/neofetch/default.nix
+++ b/home/system/shell/fetch/neofetch/default.nix
@@ -109,9 +109,9 @@
song_format="%artist% - %album% - %title%"
song_shorthand="off"
mpc_args=()
- colors=(${toString config.theme.colors.primary-ansi-16-number} 1 ${
- toString config.theme.colors.primary-ansi-16-number
- } ${toString config.theme.colors.primary-ansi-16-number} 7)
+ colors=(${toString config.var.theme.colors.accentNumber} 1 ${
+ toString config.var.theme.colors.accentNumber
+ } ${toString config.var.theme.colors.accentNumber} 7)
bold="on"
underline_enabled="on"
underline_char="-"
diff --git a/home/scripts/nerdfetch/default.nix b/home/system/shell/fetch/nerdfetch/default.nix
similarity index 97%
rename from home/scripts/nerdfetch/default.nix
rename to home/system/shell/fetch/nerdfetch/default.nix
index 3e0d3cf..8808a22 100644
--- a/home/scripts/nerdfetch/default.nix
+++ b/home/system/shell/fetch/nerdfetch/default.nix
@@ -1,4 +1,3 @@
-# Nerdfetch: https://github.com/ThatOneCalculator/NerdFetch
{ pkgs, config, ... }:
let
nerdfetch = pkgs.writeShellScriptBin "nerdfetch" ''
@@ -346,9 +345,9 @@ let
## USER VARIABLES -- YOU CAN CHANGE THESE
- lc="$reset$bold''$${config.theme.colors.primary-ansi-16}" # labels
- nc="$reset$bold''$${config.theme.colors.primary-ansi-16}" # labels
- hn="$reset$bold''$${config.theme.colors.primary-ansi-16}" # labels
+ lc="$reset$bold''$${config.var.theme.colors.accentName}" # labels
+ nc="$reset$bold''$${config.var.theme.colors.accentName}" # labels
+ hn="$reset$bold''$${config.var.theme.colors.accentName}" # labels
ic="$reset$white" # info
c0="$reset$grey" # first color
c1="$reset$white" # second color
@@ -367,4 +366,4 @@ let
"""
'';
-in { home.packages = with pkgs; [ nerdfetch ]; }
+in { home.packages = [ nerdfetch ]; }
diff --git a/home/system/shell/fzf.nix b/home/system/shell/fzf.nix
index d5c9555..7b1f76f 100644
--- a/home/system/shell/fzf.nix
+++ b/home/system/shell/fzf.nix
@@ -3,12 +3,12 @@
enable = true;
enableZshIntegration = true;
colors = {
- "fg+" = config.theme.colors.primary-ansi-16;
+ "fg+" = config.var.theme.colors.accentName;
"bg+" = "-1";
"fg" = "white";
"bg" = "-1";
"prompt" = "grey";
- "pointer" = config.theme.colors.primary-ansi-16;
+ "pointer" = config.var.theme.colors.accentName;
};
defaultOptions = [
"--margin=1"
diff --git a/home/apps/lazygit/default.nix b/home/system/shell/lazygit.nix
similarity index 74%
rename from home/apps/lazygit/default.nix
rename to home/system/shell/lazygit.nix
index af723cf..52ff0ec 100644
--- a/home/apps/lazygit/default.nix
+++ b/home/system/shell/lazygit.nix
@@ -4,7 +4,7 @@
settings = {
gui.theme = {
ligthTheme = false;
- activeBorderColor = [ "${config.theme.colors.primary-ansi-16}" "bold" ];
+ activeBorderColor = [ "${config.var.theme.colors.accentName}" "bold" ];
inactiveBorderColor = [ "black" ];
selectedLineBgColor = [ "default" ];
};
diff --git a/home/apps/lf/config/colors b/home/system/shell/lf/config/colors
similarity index 100%
rename from home/apps/lf/config/colors
rename to home/system/shell/lf/config/colors
diff --git a/home/apps/lf/config/icons b/home/system/shell/lf/config/icons
similarity index 100%
rename from home/apps/lf/config/icons
rename to home/system/shell/lf/config/icons
diff --git a/home/apps/lf/default.nix b/home/system/shell/lf/default.nix
similarity index 100%
rename from home/apps/lf/default.nix
rename to home/system/shell/lf/default.nix
diff --git a/home/system/shell/starship.nix b/home/system/shell/starship.nix
index bac7bf8..8935861 100644
--- a/home/system/shell/starship.nix
+++ b/home/system/shell/starship.nix
@@ -10,10 +10,10 @@
"$git_status"
"$character"
];
- directory = { style = "#${config.theme.colors.primary-bg}"; };
+ directory = { style = "#${config.var.theme.colors.accent}"; };
character = {
- success_symbol = "[❯](#${config.theme.colors.primary-bg})";
+ success_symbol = "[❯](#${config.var.theme.colors.accent})";
error_symbol = "[❯](red)";
vimcmd_symbol = "[❮](cyan)";
};
diff --git a/home/apps/tmux/default.nix b/home/system/shell/tmux.nix
similarity index 100%
rename from home/apps/tmux/default.nix
rename to home/system/shell/tmux.nix
diff --git a/home/system/shell/zsh.nix b/home/system/shell/zsh.nix
index 735571b..4b72ebb 100644
--- a/home/system/shell/zsh.nix
+++ b/home/system/shell/zsh.nix
@@ -11,9 +11,9 @@
initExtraFirst = ''
bindkey -e
- ${if config.theme.neofetch == "neofetch" then
+ ${if config.var.theme.fetch == "neofetch" then
pkgs.neofetch + "/bin/neofetch"
- else if config.theme.neofetch == "nerdfetch" then
+ else if config.var.theme.fetch == "nerdfetch" then
"nerdfetch"
else
""}
diff --git a/home/system/sops/laptop.nix b/home/system/sops/laptop.nix
index e7f047c..8c40f83 100644
--- a/home/system/sops/laptop.nix
+++ b/home/system/sops/laptop.nix
@@ -1,16 +1,15 @@
-{ sops-nix, ... }: {
+{ pkgs, sops-nix, ... }: {
imports = [ sops-nix.homeManagerModules.sops ];
+ home.packages = with pkgs; [ sops age ];
+
sops = {
age.keyFile = "/home/hadi/.config/sops/age/keys.txt";
- defaultSopsFile = ../../../secrets/secrets.yaml;
+ defaultSopsFile = ../../../secrets/laptop.yaml;
secrets = {
sshconfig = { path = "/home/hadi/.ssh/config"; };
- oxk = { path = "/home/hadi/.ssh/oxserver"; };
- gk = { path = "/home/hadi/.ssh/github"; };
- glk = { path = "/home/hadi/.ssh/gitlab"; };
- silicon = { path = "/home/hadi/.ssh/silicon"; };
- heaven = { path = "/home/hadi/.ssh/heaven"; };
+ github-key = { path = "/home/hadi/.ssh/github"; };
+ gitlab-key = { path = "/home/hadi/.ssh/gitlab"; };
};
};
diff --git a/home/system/sops/server.nix b/home/system/sops/server.nix
deleted file mode 100644
index a518969..0000000
--- a/home/system/sops/server.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ sops-nix, ... }: {
- imports = [ sops-nix.homeManagerModules.sops ];
-
- sops = {
- age.keyFile = "/home/hadi/.config/sops/age/keys.txt";
- defaultSopsFile = ../../../secrets/secrets.yaml;
- secrets = {
- gts = { path = "/home/hadi/.ssh/github"; };
- sshconfigheaven = { path = "/home/hadi/.ssh/config"; };
- };
- };
-
- systemd.user.services.mbsync.Unit.After = [ "sops-nix.service" ];
-}
diff --git a/home/system/waybar/default.nix b/home/system/waybar/default.nix
index 3149348..aa0eb66 100644
--- a/home/system/waybar/default.nix
+++ b/home/system/waybar/default.nix
@@ -12,12 +12,18 @@
layer = "top";
position = "top";
spacing = 0;
- "margin-top" =
- if config.theme.waybar.float then config.theme.gaps-out else 0;
- "margin-left" =
- if config.theme.waybar.float then config.theme.gaps-out else 0;
- "margin-right" =
- if config.theme.waybar.float then config.theme.gaps-out else 0;
+ "margin-top" = if config.var.theme.waybar.float then
+ config.var.theme.gaps-out
+ else
+ 0;
+ "margin-left" = if config.var.theme.waybar.float then
+ config.var.theme.gaps-out
+ else
+ 0;
+ "margin-right" = if config.var.theme.waybar.float then
+ config.var.theme.gaps-out
+ else
+ 0;
height = 44;
modules-left = [ "custom/logo" "hyprland/window" ];
modules-center = [ "hyprland/workspaces" ];
@@ -125,23 +131,23 @@
border: none;
border-radius: 0;
min-height: 0;
- font-family: "${config.theme.font}";
- color: #${config.theme.colors.fg};
+ font-family: "${config.var.theme.font}";
+ color: #${config.var.theme.colors.fg};
font-weight: 700;
}
window#waybar {
background-color: ${
- if config.theme.waybar.transparent then
+ if config.var.theme.waybar.transparent then
"rgba(0, 0, 0, 0)"
else
- "#${config.theme.colors.bg}"
+ "#${config.var.theme.colors.bg}"
};
transition-property: background-color;
transition-duration: 0.5s;
border-radius: ${
- if config.theme.waybar.float then
- toString config.theme.rounding
+ if config.var.theme.waybar.float then
+ toString config.var.theme.rounding
else
"0"
}px;
@@ -150,12 +156,12 @@
.modules-left, .modules-center, .modules-right {
border-radius: ${
- if config.theme.waybar.float then
- toString config.theme.rounding
+ if config.var.theme.waybar.float then
+ toString config.var.theme.rounding
else
"0"
}px;
- background-color: #${config.theme.colors.bg};
+ background-color: #${config.var.theme.colors.bg};
padding: 2px 6px;
}
@@ -174,13 +180,13 @@
padding: 6px 18px;
margin: 6px 3px;
border-radius: 4px;
- background-color: #${config.theme.colors.alt-bg};
- color: #${config.theme.colors.alt-fg};
+ background-color: #${config.var.theme.colors.bgalt};
+ color: #${config.var.theme.colors.fgalt};
}
#workspaces button.active {
- color: #${config.theme.colors.primary-fg};
- background-color: #${config.theme.colors.primary-bg};
+ color: #${config.var.theme.colors.accentFg};
+ background-color: #${config.var.theme.colors.accent};
}
#workspaces button:hover {
@@ -190,11 +196,11 @@
}
#workspaces button.urgent {
- background-color: #${config.theme.colors.color1};
+ background-color: #${config.var.theme.colors.c1};
}
#window > * {
- font-family: "${config.theme.font-mono}";
+ font-family: "${config.var.theme.font-mono}";
}
#memory,
@@ -209,19 +215,19 @@
border-radius: 9px;
margin: 6px 3px;
padding: 6px 12px;
- background-color: #${config.theme.colors.alt-bg};
- color: #${config.theme.colors.alt-fg};
+ background-color: #${config.var.theme.colors.bgalt};
+ color: #${config.var.theme.colors.fgalt};
}
#tray menu {
- background-color: #${config.theme.colors.alt-bg};
- color: #${config.theme.colors.alt-fg};
+ background-color: #${config.var.theme.colors.bgalt};
+ color: #${config.var.theme.colors.fgalt};
}
#custom-logo {
padding-right: 7px;
font-size: 15px;
- color: #${config.theme.colors.primary-bg};
+ color: #${config.var.theme.colors.accent};
}
@keyframes blink {
@@ -244,28 +250,28 @@
}
#battery.charging {
- background-color: #${config.theme.colors.alt-bg};
- color: #${config.theme.colors.alt-fg};
+ background-color: #${config.var.theme.colors.bgalt};
+ color: #${config.var.theme.colors.fgalt};
animation: none;
}
#custom-power {
- background-color: #${config.theme.colors.primary-bg};
- color: #${config.theme.colors.primary-fg};
+ background-color: #${config.var.theme.colors.accent};
+ color: #${config.var.theme.colors.accentFg};
}
tooltip {
border-radius: 8px;
padding: 15px;
- background-color: #${config.theme.colors.alt-bg};
- color: #${config.theme.colors.alt-fg};
+ background-color: #${config.var.theme.colors.bgalt};
+ color: #${config.var.theme.colors.fgalt};
}
tooltip label {
padding: 5px;
- background-color: #${config.theme.colors.alt-bg};
- color: #${config.theme.colors.alt-fg};
+ background-color: #${config.var.theme.colors.bgalt};
+ color: #${config.var.theme.colors.fgalt};
}
'';
};
diff --git a/home/system/wlogout/default.nix b/home/system/wlogout/default.nix
index 08f3ecf..8b6ca3c 100644
--- a/home/system/wlogout/default.nix
+++ b/home/system/wlogout/default.nix
@@ -43,7 +43,7 @@
style = ''
* {
- font-family: "${config.theme.font}";
+ font-family: "${config.var.theme.font}";
background-image: none;
transition: 20ms;
}
@@ -53,23 +53,23 @@
}
button {
- color: #${config.theme.colors.fg};
+ color: #${config.var.theme.colors.fg};
font-size:20px;
background-repeat: no-repeat;
background-position: center;
background-size: 25%;
- border: 3px solid #${config.theme.colors.bg};
- background-color: #${config.theme.colors.bg};
+ border: 3px solid #${config.var.theme.colors.bg};
+ background-color: #${config.var.theme.colors.bg};
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}
button:focus,
button:active {
- color: #${config.theme.colors.primary-fg};
- background-color: #${config.theme.colors.primary-bg};
- border: 3px solid #${config.theme.colors.primary-bg};
+ color: #${config.var.theme.colors.accentFg};
+ background-color: #${config.var.theme.colors.accent};
+ border: 3px solid #${config.var.theme.colors.accent};
}
/*
@@ -80,7 +80,7 @@
#lock,#logout,#suspend,#hibernate,#shutdown,#reboot {
margin: 10px;
- border-radius: ${toString config.theme.rounding}px;
+ border-radius: ${toString config.var.theme.rounding}px;
}
#lock {
diff --git a/home/apps/wofi/default.nix b/home/system/wofi/default.nix
similarity index 68%
rename from home/apps/wofi/default.nix
rename to home/system/wofi/default.nix
index 02b0cb2..17817ae 100644
--- a/home/apps/wofi/default.nix
+++ b/home/system/wofi/default.nix
@@ -35,15 +35,15 @@
/** ********** Fonts ********** **/
* {
- font-family: "${config.theme.font}";
+ font-family: "${config.var.theme.font}";
font-weight: 500;
font-size: 12px;
}
#window {
- background-color: #${config.theme.colors.alt-bg};
- color: #${config.theme.colors.alt-fg};
- border-radius: ${toString config.theme.rounding}px;
+ background-color: #${config.var.theme.colors.bgalt};
+ color: #${config.var.theme.colors.fgalt};
+ border-radius: ${toString config.var.theme.rounding}px;
}
#outer-box {
@@ -51,8 +51,8 @@
}
#input {
- background-color: #${config.theme.colors.bg};
- border: 0px solid #${config.theme.colors.primary-bg};
+ background-color: #${config.var.theme.colors.bg};
+ border: 0px solid #${config.var.theme.colors.accent};
padding: 8px 12px;
}
@@ -67,11 +67,11 @@
}
#text {
- color: #${config.theme.colors.color7};
+ color: #${config.var.theme.colors.c7};
}
#text:selected {
- color: #${config.theme.colors.fg};
+ color: #${config.var.theme.colors.fg};
}
#entry {
@@ -79,8 +79,8 @@
}
#entry:selected {
- background-color: #${config.theme.colors.primary-bg};
- color: #${config.theme.colors.primary-fg};
+ background-color: #${config.var.theme.colors.accent};
+ color: #${config.var.theme.colors.accentFg};
}
#unselected {}
@@ -89,7 +89,7 @@
#input,
#entry:selected {
- border-radius: ${toString config.theme.rounding}px;
+ border-radius: ${toString config.var.theme.rounding}px;
}
'';
};
diff --git a/home/themes/config/load_colors.nix b/home/themes/config/load_colors.nix
deleted file mode 100644
index 08ec008..0000000
--- a/home/themes/config/load_colors.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ config, ... }: {
- config.theme.colors.primary-ansi-16-number =
- if config.theme.colors.primary-ansi-16 == "black" then
- 0
- else if config.theme.colors.primary-ansi-16 == "red" then
- 1
- else if config.theme.colors.primary-ansi-16 == "green" then
- 2
- else if config.theme.colors.primary-ansi-16 == "yellow" then
- 3
- else if config.theme.colors.primary-ansi-16 == "blue" then
- 4
- else if config.theme.colors.primary-ansi-16 == "magenta" then
- 5
- else if config.theme.colors.primary-ansi-16 == "cyan" then
- 6
- else if config.theme.colors.primary-ansi-16 == "white" then
- 7
- else if config.theme.colors.primary-ansi-16 == "bright-white" then
- 8
- else if config.theme.colors.primary-ansi-16 == "bright-black" then
- 9
- else if config.theme.colors.primary-ansi-16 == "bright-red" then
- 10
- else if config.theme.colors.primary-ansi-16 == "bright-green" then
- 11
- else if config.theme.colors.primary-ansi-16 == "bright-yellow" then
- 12
- else if config.theme.colors.primary-ansi-16 == "bright-blue" then
- 13
- else if config.theme.colors.primary-ansi-16 == "bright-magenta" then
- 14
- else if config.theme.colors.primary-ansi-16 == "bright-cyan" then
- 15
- else
- 0;
-
-}
diff --git a/home/themes/config/load_wallpapers.nix b/home/themes/config/load_wallpapers.nix
deleted file mode 100644
index 78f7b8b..0000000
--- a/home/themes/config/load_wallpapers.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- xdg.configFile."wallpapers" = {
- recursive = true;
- source = ../wallpapers;
- };
-}
diff --git a/home/themes/config/template.nix b/home/themes/config/template.nix
deleted file mode 100644
index 65520a5..0000000
--- a/home/themes/config/template.nix
+++ /dev/null
@@ -1,109 +0,0 @@
-{ lib, ... }:
-with lib; {
- options.theme = {
-
- waybar = {
- transparent = mkOption {
- type = types.bool;
- description = "Does waybar have a transparent background?";
- };
-
- float = mkOption {
- type = types.bool;
- description = "Floating mode for waybar (gap)";
- };
- };
-
- animation-speed = mkOption {
- type = types.str;
- description = "Options: slow/medium/fast";
- };
-
- neofetch = mkOption {
- type = types.str;
- description = "Options: neofetch/nerdfetch/none";
- };
-
- wallpaper = mkOption {
- type = types.str;
- description = "Name of the wallpaper (from the wallpapers directory)";
- };
-
- font = mkOption {
- type = types.str;
- description = "Default font";
- };
-
- font-mono = mkOption {
- type = types.str;
- description = "Default mono font";
- };
-
- rounding = mkOption {
- type = types.int;
- description = "Borders rounding";
- };
-
- gaps-in = mkOption {
- type = types.int;
- description = "Gaps in";
- };
-
- gaps-out = mkOption {
- type = types.int;
- description = "Gaps out";
- };
-
- border-size = mkOption {
- type = types.int;
- description = "Border size";
- };
-
- colors = let
- mkColorOption = name: {
- inherit name;
- value = mkOption {
- type = types.strMatching "[a-fA-F0-9]{6}";
- description = "Color ${name}.";
- };
- };
- in listToAttrs (map mkColorOption [
- "bg"
- "fg"
- "alt-bg"
- "alt-fg"
- "primary-bg"
- "primary-fg"
- "secondary-bg"
- "secondary-fg"
- "color0"
- "color1"
- "color2"
- "color3"
- "color4"
- "color5"
- "color6"
- "color7"
- "color8"
- "color9"
- "color10"
- "color11"
- "color12"
- "color13"
- "color14"
- "color15"
- ]) // {
- primary-ansi-16 = mkOption {
- type = types.str;
- description =
- "Name of the primary color - ansi 16 colors (black, red, green, yellow, blue, magenta, cyan, white, bright-black, bright-red, bright-green, bright-yellow, bright-blue, bright-magenta, bright-cyan, bright-white)";
- };
-
- primary-ansi-16-number = mkOption {
- type = types.int;
- description = "Set the primary color - ansi 16 colors (0-15)";
- };
-
- };
- };
-}
diff --git a/home/themes/heaven.nix b/home/themes/heaven.nix
deleted file mode 100644
index 42d0f1b..0000000
--- a/home/themes/heaven.nix
+++ /dev/null
@@ -1,64 +0,0 @@
-{
- imports = [ ./config/template.nix ./config/load_colors.nix ];
-
- theme = {
- wallpaper = "default.png";
-
- font-mono = "FiraCode Nerd Font Mono";
- font = "SFProDisplay Nerd Font";
-
- rounding = 12;
- gaps-in = 10;
- gaps-out = 20;
- border-size = 3;
-
- neofetch = "nerdfetch";
-
- waybar = {
- transparent = true;
- float = true;
- };
-
- colors = {
- bg = "040409";
- fg = "FCFCFC";
- alt-bg = "101012";
- alt-fg = "ECECEC";
-
- primary-ansi-16 = "red";
- primary-bg = "a158ff";
- primary-fg = "000000";
-
- secondary-bg = "4928B8";
- secondary-fg = "000000";
-
- # Black
- color0 = "000000";
- # Red
- color1 = "f7768e";
- # Green
- color2 = "73daca";
- # Yellow
- color3 = "e0af68";
- # Blue
- color4 = "7aa2f7";
- # Magenta
- color5 = "a158ff";
- # Cyan
- color6 = "7dcfff";
- # White
- color7 = "E4E5E7";
-
- # Bright
- color8 = "515878";
- color9 = "f7869e";
- color10 = "83eada";
- color11 = "f0bf78";
- color12 = "8ab2f7";
- color13 = "A988F8";
- color14 = "8ddfff";
- color15 = "f4f5f7";
- };
- };
-
-}
diff --git a/home/themes/nixy.nix b/home/themes/nixy.nix
deleted file mode 100644
index 7fc337a..0000000
--- a/home/themes/nixy.nix
+++ /dev/null
@@ -1,64 +0,0 @@
-{
- imports = [ ./config/template.nix ./config/load_colors.nix ];
-
- theme = {
- wallpaper = "default.png";
-
- font-mono = "FiraCode Nerd Font Mono";
- font = "SFProDisplay Nerd Font";
-
- rounding = 12;
- gaps-in = 10;
- gaps-out = 20;
- border-size = 3;
-
- neofetch = "nerdfetch";
-
- waybar = {
- transparent = true;
- float = true;
- };
-
- colors = {
- bg = "040409";
- fg = "FCFCFC";
- alt-bg = "101012";
- alt-fg = "ECECEC";
-
- primary-ansi-16 = "magenta";
- primary-bg = "a158ff";
- primary-fg = "000000";
-
- secondary-bg = "4928B8";
- secondary-fg = "000000";
-
- # Black
- color0 = "000000";
- # Red
- color1 = "f7768e";
- # Green
- color2 = "73daca";
- # Yellow
- color3 = "e0af68";
- # Blue
- color4 = "7aa2f7";
- # Magenta
- color5 = "a158ff";
- # Cyan
- color6 = "7dcfff";
- # White
- color7 = "E4E5E7";
-
- # Bright
- color8 = "515878";
- color9 = "f7869e";
- color10 = "83eada";
- color11 = "f0bf78";
- color12 = "8ab2f7";
- color13 = "A988F8";
- color14 = "8ddfff";
- color15 = "f4f5f7";
- };
- };
-
-}
diff --git a/home/themes/wallpapers/Lofi-Computer.png b/home/themes/wallpapers/Lofi-Computer.png
deleted file mode 100644
index f0e78e68222461e29d8e774ddc7849b9e9d3c9e3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 3809985
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