Added working example
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
flake.nixosModules.fastfetch = { config, lib, pkgs, ... }:
|
||||
let
|
||||
cfg = config.mySystem.apps.fastfetch;
|
||||
in {
|
||||
options.mySystem.apps.fastfetch.enable = lib.mkEnableOption "Personalized Fastfetch";
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
environment.systemPackages = [ pkgs.fastfetch ];
|
||||
|
||||
home-manager.users.shonh.programs.fastfetch = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
"$schema" = "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json";
|
||||
"logo" = {
|
||||
"type" = "small";
|
||||
"padding" = {
|
||||
"top" = 1;
|
||||
"left" = 1;
|
||||
};
|
||||
};
|
||||
"display" = {
|
||||
"separator" = " ";
|
||||
};
|
||||
"modules" = [
|
||||
{
|
||||
"key" = "╭───────────╮";
|
||||
"type" = "custom";
|
||||
}
|
||||
{
|
||||
"key" = "│ {#31} user {#keys}│";
|
||||
"type" = "title";
|
||||
"format" = "{user-name}";
|
||||
}
|
||||
{
|
||||
"key" = "│ {#32} hname {#keys}│";
|
||||
"type" = "title";
|
||||
"format" = "{host-name}";
|
||||
}
|
||||
{
|
||||
"key" = "│ {#33} uptime {#keys}│";
|
||||
"type" = "uptime";
|
||||
}
|
||||
{
|
||||
"key" = "│ {#34}{icon} distro {#keys}│";
|
||||
"type" = "os";
|
||||
}
|
||||
{
|
||||
"key" = "│ {#35} kernel {#keys}│";
|
||||
"type" = "kernel";
|
||||
}
|
||||
{
|
||||
"key" = "│ {#36} desktop {#keys}│";
|
||||
"type" = "de";
|
||||
}
|
||||
{
|
||||
"key" = "│ {#31} term {#keys}│";
|
||||
"type" = "terminal";
|
||||
}
|
||||
{
|
||||
"key" = "│ {#32} shell {#keys}│";
|
||||
"type" = "shell";
|
||||
}
|
||||
{
|
||||
"key" = "│ {#33} cpu {#keys}│";
|
||||
"type" = "cpu";
|
||||
"showPeCoreCount" = true;
|
||||
}
|
||||
{
|
||||
"key" = "│ {#34} disk {#keys}│";
|
||||
"type" = "disk";
|
||||
"folders" = "/";
|
||||
}
|
||||
{
|
||||
"key" = "│ {#35} memory {#keys}│";
|
||||
"type" = "memory";
|
||||
}
|
||||
{
|
||||
"key" = "├───────────┤";
|
||||
"type" = "custom";
|
||||
}
|
||||
{
|
||||
"key" = "│ {#39} colors {#keys}│";
|
||||
"type" = "colors";
|
||||
"symbol" = "circle";
|
||||
}
|
||||
{
|
||||
"key" = "╰───────────╯";
|
||||
"type" = "custom";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
flake.nixosModules.foot = { config, lib, pkgs, ... }:
|
||||
let
|
||||
cfg = config.mySystem.apps.foot;
|
||||
|
||||
colors = config.lib.stylix.colors;
|
||||
fonts = config.stylix.fonts;
|
||||
in {
|
||||
options.mySystem.apps.foot.enable = lib.mkEnableOption "Foot Terminal Emulator";
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
environment.systemPackages = [ pkgs.foot ];
|
||||
|
||||
home-manager.users.shonh = {
|
||||
stylix.targets.foot.enable = false;
|
||||
|
||||
programs.foot = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
main = {
|
||||
term = "xterm-256color";
|
||||
dpi-aware = lib.mkForce "yes";
|
||||
font = "${fonts.monospace.name}:size=${toString fonts.sizes.terminal}";
|
||||
};
|
||||
|
||||
colors-dark = {
|
||||
background = colors.base00;
|
||||
foreground = colors.base05;
|
||||
regular0 = colors.base01; # black
|
||||
regular1 = colors.base08; # red
|
||||
regular2 = colors.base0B; # green
|
||||
regular3 = colors.base0A; # yellow
|
||||
regular4 = colors.base0D; # blue
|
||||
regular5 = colors.base0E; # magenta
|
||||
regular6 = colors.base0C; # cyan
|
||||
regular7 = colors.base05; # white
|
||||
bright0 = colors.base03; # bright black
|
||||
bright1 = colors.base08;
|
||||
bright2 = colors.base0B;
|
||||
bright3 = colors.base0A;
|
||||
bright4 = colors.base0D;
|
||||
bright5 = colors.base0E;
|
||||
bright6 = colors.base0C;
|
||||
bright7 = colors.base07;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
flake.nixosModules.git = { config, lib, pkgs, ... }:
|
||||
let
|
||||
cfg = config.mySystem.apps.git;
|
||||
in {
|
||||
options.mySystem.apps.git.enable = lib.mkEnableOption "Git";
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
programs.git.enable = true;
|
||||
|
||||
home-manager.users.shonh.programs.git = {
|
||||
enable = true;
|
||||
|
||||
settings.user = {
|
||||
name = "Shonhh";
|
||||
email = "endinja.versitile@gmail.com";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
flake.nixosModules.neovim = { config, lib, pkgs, ... }:
|
||||
let
|
||||
cfg = config.mySystem.apps.neovim;
|
||||
in {
|
||||
options.mySystem.apps.neovim.enable = lib.mkEnableOption "Neovim Editor";
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
programs.neovim.enable = true;
|
||||
|
||||
home-manager.users.shonh.programs.neovim = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
# modules/apps/yazi.nix
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
flake.nixosModules.yazi = { config, lib, pkgs, ... }:
|
||||
let
|
||||
cfg = config.mySystem.apps.yazi;
|
||||
in {
|
||||
options.mySystem.apps.yazi.enable = lib.mkEnableOption "Yazi File Manager";
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
|
||||
home-manager.users.shonh = {
|
||||
|
||||
home.packages = [ pkgs.ripdrag ];
|
||||
|
||||
programs.yazi = {
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
|
||||
settings = {
|
||||
opener = {
|
||||
edit = [
|
||||
{ run = "nvim \"$@\""; block = true; desc = "Neovim"; }
|
||||
];
|
||||
};
|
||||
open = {
|
||||
prepend_rules = [
|
||||
{ mime = "text/*"; use = "edit"; }
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
keymap = {
|
||||
mgr.prepend_keymap = [
|
||||
{
|
||||
on = [ "<C-n>" ];
|
||||
run = "shell 'ripdrag \"$@\" -x 2>/dev/null' --confirm --orphan";
|
||||
desc = "Drag and drop selected files";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user