fixed themeing and added more of the omarchy features going for a vm test now
This commit is contained in:
1 parent
eb5f9ef7da
commit
a8795b9d82
50 files changed
+6876
-171
No files matched your search
@@ -0,0 +1,215 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
# Fastfetch system information display for OmniXY
|
||||
# Beautiful system information with OmniXY branding
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.omnixy;
|
||||
omnixy = import ./helpers.nix { inherit config pkgs lib; };
|
||||
in
|
||||
{
|
||||
config = mkIf (cfg.enable or true) {
|
||||
# Add fastfetch to system packages
|
||||
environment.systemPackages = with pkgs; [
|
||||
fastfetch
|
||||
];
|
||||
|
||||
# Create OmniXY branding directory
|
||||
environment.etc."omnixy/branding/logo.txt".text = ''
|
||||
|
||||
███████╗███╗ ███╗███╗ ██╗██╗██╗ ██╗██╗ ██╗
|
||||
██╔════╝████╗ ████║████╗ ██║██║╚██╗██╔╝╚██╗ ██╔╝
|
||||
██║ ██╔████╔██║██╔██╗ ██║██║ ╚███╔╝ ╚████╔╝
|
||||
██║ ██║╚██╔╝██║██║╚██╗██║██║ ██╔██╗ ╚██╔╝
|
||||
███████╗██║ ╚═╝ ██║██║ ╚████║██║██╔╝ ██╗ ██║
|
||||
╚══════╝╚═╝ ╚═╝╚═╝ ╚═══╝╚═╝╚═╝ ╚═╝ ╚═╝
|
||||
|
||||
Declarative NixOS Configuration
|
||||
'';
|
||||
|
||||
environment.etc."omnixy/branding/about.txt".text = ''
|
||||
╭─────────────────────────────────────────────────────╮
|
||||
│ │
|
||||
│ ██████╗ ███╗ ███╗███╗ ██╗██╗██╗ ██╗██╗ ██╗│
|
||||
│ ██╔═══██╗████╗ ████║████╗ ██║██║╚██╗██╔╝╚██╗ ██╔╝│
|
||||
│ ██║ ██║██╔████╔██║██╔██╗ ██║██║ ╚███╔╝ ╚████╔╝ │
|
||||
│ ██║ ██║██║╚██╔╝██║██║╚██╗██║██║ ██╔██╗ ╚██╔╝ │
|
||||
│ ╚██████╔╝██║ ╚═╝ ██║██║ ╚████║██║██╔╝ ██╗ ██║ │
|
||||
│ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═══╝╚═╝╚═╝ ╚═╝ ╚═╝ │
|
||||
│ │
|
||||
│ 🚀 Declarative • 🎨 Beautiful • ⚡ Fast │
|
||||
│ │
|
||||
╰─────────────────────────────────────────────────────╯
|
||||
'';
|
||||
|
||||
# Create fastfetch configuration
|
||||
environment.etc."omnixy/fastfetch/config.jsonc".text = ''
|
||||
{
|
||||
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
||||
"logo": {
|
||||
"type": "file",
|
||||
"source": "/etc/omnixy/branding/about.txt",
|
||||
"color": {
|
||||
"1": "cyan",
|
||||
"2": "blue"
|
||||
},
|
||||
"padding": {
|
||||
"top": 1,
|
||||
"right": 4,
|
||||
"left": 2
|
||||
}
|
||||
},
|
||||
"modules": [
|
||||
"break",
|
||||
{
|
||||
"type": "custom",
|
||||
"format": "\u001b[90m┌─────────────────── Hardware ───────────────────┐"
|
||||
},
|
||||
{
|
||||
"type": "host",
|
||||
"key": " Host",
|
||||
"keyColor": "cyan"
|
||||
},
|
||||
{
|
||||
"type": "cpu",
|
||||
"key": " CPU",
|
||||
"keyColor": "cyan"
|
||||
},
|
||||
{
|
||||
"type": "gpu",
|
||||
"key": " GPU",
|
||||
"keyColor": "cyan"
|
||||
},
|
||||
{
|
||||
"type": "memory",
|
||||
"key": " Memory",
|
||||
"keyColor": "cyan"
|
||||
},
|
||||
{
|
||||
"type": "disk",
|
||||
"key": " Disk (/)",
|
||||
"keyColor": "cyan"
|
||||
},
|
||||
{
|
||||
"type": "custom",
|
||||
"format": "\u001b[90m├─────────────────── Software ───────────────────┤"
|
||||
},
|
||||
{
|
||||
"type": "os",
|
||||
"key": " OS",
|
||||
"keyColor": "blue"
|
||||
},
|
||||
{
|
||||
"type": "kernel",
|
||||
"key": " Kernel",
|
||||
"keyColor": "blue"
|
||||
},
|
||||
{
|
||||
"type": "de",
|
||||
"key": " DE",
|
||||
"keyColor": "blue"
|
||||
},
|
||||
{
|
||||
"type": "wm",
|
||||
"key": " WM",
|
||||
"keyColor": "blue"
|
||||
},
|
||||
{
|
||||
"type": "wmtheme",
|
||||
"key": " Theme",
|
||||
"keyColor": "blue"
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"key": " Shell",
|
||||
"keyColor": "blue"
|
||||
},
|
||||
{
|
||||
"type": "terminal",
|
||||
"key": " Terminal",
|
||||
"keyColor": "blue"
|
||||
},
|
||||
{
|
||||
"type": "custom",
|
||||
"format": "\u001b[90m├─────────────────── OmniXY ─────────────────────┤"
|
||||
},
|
||||
{
|
||||
"type": "custom",
|
||||
"format": " Theme: ${cfg.theme}",
|
||||
"keyColor": "magenta"
|
||||
},
|
||||
{
|
||||
"type": "custom",
|
||||
"format": " Preset: ${cfg.preset or "custom"}",
|
||||
"keyColor": "magenta"
|
||||
},
|
||||
{
|
||||
"type": "custom",
|
||||
"format": " User: ${cfg.user}",
|
||||
"keyColor": "magenta"
|
||||
},
|
||||
{
|
||||
"type": "packages",
|
||||
"key": " Packages",
|
||||
"keyColor": "magenta"
|
||||
},
|
||||
{
|
||||
"type": "custom",
|
||||
"format": "\u001b[90m└─────────────────────────────────────────────────┘"
|
||||
},
|
||||
"break"
|
||||
]
|
||||
}
|
||||
'';
|
||||
|
||||
# Create convenience script
|
||||
environment.systemPackages = [
|
||||
(omnixy.makeScript "omnixy-info" "Show OmniXY system information" ''
|
||||
fastfetch --config /etc/omnixy/fastfetch/config.jsonc
|
||||
'')
|
||||
|
||||
(omnixy.makeScript "omnixy-about" "Show OmniXY about screen" ''
|
||||
clear
|
||||
cat /etc/omnixy/branding/about.txt
|
||||
echo
|
||||
echo "Theme: ${cfg.theme}"
|
||||
echo "Preset: ${cfg.preset or "custom"}"
|
||||
echo "User: ${cfg.user}"
|
||||
echo "NixOS Version: $(nixos-version)"
|
||||
echo
|
||||
echo "Visit: https://github.com/TheArctesian/omnixy"
|
||||
'')
|
||||
];
|
||||
|
||||
# Add to user environment
|
||||
omnixy.forUser {
|
||||
# Set XDG config dir for fastfetch
|
||||
xdg.configFile."fastfetch/config.jsonc".source =
|
||||
config.environment.etc."omnixy/fastfetch/config.jsonc".source;
|
||||
|
||||
# Add shell aliases
|
||||
programs.bash.shellAliases = {
|
||||
neofetch = "omnixy-info";
|
||||
screenfetch = "omnixy-info";
|
||||
sysinfo = "omnixy-info";
|
||||
about = "omnixy-about";
|
||||
};
|
||||
|
||||
programs.zsh.shellAliases = {
|
||||
neofetch = "omnixy-info";
|
||||
screenfetch = "omnixy-info";
|
||||
sysinfo = "omnixy-info";
|
||||
about = "omnixy-about";
|
||||
};
|
||||
|
||||
programs.fish.shellAliases = {
|
||||
neofetch = "omnixy-info";
|
||||
screenfetch = "omnixy-info";
|
||||
sysinfo = "omnixy-info";
|
||||
about = "omnixy-about";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in new issue
Block a user