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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