improve documentation

This commit is contained in:
Hadi
2025-03-26 16:01:34 +01:00
parent 29bebce5cd
commit 0409a4db26
18 changed files with 35 additions and 195 deletions

View File

@@ -1,3 +1,4 @@
# Discord is a popular chat application.
{ inputs, ... }: { { inputs, ... }: {
imports = [ inputs.nixcord.homeManagerModules.nixcord ]; imports = [ inputs.nixcord.homeManagerModules.nixcord ];

View File

@@ -1,3 +1,4 @@
# Legacy
{ pkgs, ... }: { { pkgs, ... }: {
home.packages = with pkgs; [ neofetch ]; home.packages = with pkgs; [ neofetch ];

View File

@@ -1,3 +1,5 @@
# Nerdfetch, a simple system info script written in bash
# Source: https://github.com/ThatOneCalculator/NerdFetch
{ pkgs, ... }: { pkgs, ... }:
let let
nerdfetch = pkgs.writeShellScriptBin "nerdfetch" '' nerdfetch = pkgs.writeShellScriptBin "nerdfetch" ''

View File

@@ -1,3 +1,4 @@
# Git configuration
{ config, ... }: { config, ... }:
let let
username = config.var.git.username; username = config.var.git.username;

View File

@@ -1,3 +1,4 @@
# Kitty is a fast, featureful, GPU based terminal emulator
{ {
programs.kitty = { programs.kitty = {
enable = true; enable = true;

View File

@@ -1,3 +1,4 @@
# Lazygit is a simple terminal UI for git commands.
{ config, lib, ... }: { config, lib, ... }:
let let
accent = "#${config.lib.stylix.colors.base0D}"; accent = "#${config.lib.stylix.colors.base0D}";

View File

@@ -80,7 +80,7 @@ let
in { in {
imports = [ ./duckduckgo-colorscheme.nix ]; imports = [ ../duckduckgo-colorscheme ];
programs.qutebrowser = { programs.qutebrowser = {
enable = true; enable = true;

View File

@@ -1,44 +0,0 @@
# A duckduckgo colorscheme generated for the Stylix theme used.
{ config, ... }:
let
accent = config.lib.stylix.colors.base0D;
background = config.lib.stylix.colors.base00;
foreground = config.lib.stylix.colors.base05;
background-alt = config.lib.stylix.colors.base01;
foreground-alt = config.lib.stylix.colors.base06;
in {
home.file.".duckduckgo-colorscheme.js".text =
# js
''
// 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=${background}; j=${background}; 9=${foreground}; aa=${foreground-alt}; 8=${foreground}; x=${accent}; 21=${background-alt};';
// Converts cookie string into formatted JSON
const cookieToJSON = (cookieRaw) => {
const cookieJson = {};
const items = cookieRaw.split(/[ ,]+/);
items.forEach((item) => {
const parts = item.split('=');
cookieJson[parts[0]] = parts[1];
});
return cookieJson;
};
// Iterates over JSON, and adds to browser cookie store
const setCookies = (cookieJson) => {
Object.keys(cookieJson).forEach((key) => {
document.cookie = `''${key}=''${cookieJson [ key ]}`;
});
};
// Call set cookies, passing in formated cookie data
setCookies(cookieToJSON(cookie));
// All done, reload page for changes to take effect :)
location.reload();
'';
}

View File

@@ -1,3 +1,5 @@
# Tailscale is a VPN service that works on top of WireGuard.
# It allows me to access my servers and devices from anywhere.
{ pkgs, ... }: { { pkgs, ... }: {
home.packages = with pkgs; [ tailscale tailscale-systray ]; home.packages = with pkgs; [ tailscale tailscale-systray ];

View File

@@ -1,86 +1,5 @@
{ pkgs, config, inputs, ... }: # Zen is a minimalistic web browser.
let { pkgs, inputs, ... }: {
accent = "#${config.lib.stylix.colors.base0D}";
background = "#${config.lib.stylix.colors.base00}";
foreground = "#${config.lib.stylix.colors.base05}";
muted = "#${config.lib.stylix.colors.base03}";
settings = ''
{
"config": {
"title" : "Welcome Home",
"openLinksInNewTab": false,
"locale": "fr-FR",
"colors": {
"primary": "${accent}",
"background": "${background}",
"foreground": "${foreground}",
"muted": "#${muted}"
},
"folders": [
{
"name": "Bookmarks",
"links": [
{"title": "MyNixOs", "url": "https://mynixos.com", "icon": "󱄅"},
{"title": "Github", "url": "https://github.com", "icon": ""},
{"title": "Proton", "url": "https://mail.proton.me/u/0/inbox", "icon": ""},
{"title": "Cloudflare One", "url": "https://one.dash.cloudflare.com/", "icon": ""},
{"title": "Chat GPT", "url": "https://chat.openai.com/", "icon": "󰭹"},
{"title": "Nixvim", "url": "https://nix-community.github.io/nixvim/", "icon": ""},
{"title": "Hyprland Wiki", "url": "https://wiki.hyprland.org/", "icon": "󰖬"},
{"title": "Youtube", "url": "https://youtube.com", "icon": "󰗃"},
{"title": "Figma", "url": "https://figma.com", "icon": ""},
{"title": "Server", "url": "https://home.anotherhadi.com", "icon": ""}
]
},
{
"name": "Work",
"links": [
{"title": "Outlook", "url": "https://outlook.office.com/mail/", "icon": "󰴢"},
{"title": "Office", "url": "https://www.office.com/?auth=2", "icon": "󰏆"},
{"title": "Teams", "url": "https://teams.microsoft.com/_", "icon": "󰊻"}
]
}
]
}
}
'';
homepage = pkgs.buildNpmPackage {
pname = "homepage";
version = "0.0.0";
src = pkgs.fetchFromGitHub {
owner = "anotherhadi";
repo = "homepage";
rev = "b77d35ed3596eb451bd2ec78063d7cc6e73c773d";
hash = "sha256-j/40922kfAh6zqJ4IRYpr66YXNNYsxuXwZ0aiJFJea0=";
};
# npmDepsHash = lib.fakeHash;
npmDepsHash = "sha256-bG+CHTq2Rst3JMxsjAC81KhK+G7WwsTVD1eyP87g0z4=";
buildPhase = ''
npm install
cp ${
pkgs.writeText "src/routes/config.json" settings
} src/routes/config.json
npm run build
mkdir $out
mv build $out
'';
meta = {
description = "homepage";
homepage = "https://github.com/anotherhadi/homepage";
};
};
in {
home.file.".config/homepage" = {
source = "${homepage}/build";
recursive = true;
};
home.packages = with pkgs; home.packages = with pkgs;
[ inputs.zen-browser.packages."${system}".default ]; [ inputs.zen-browser.packages."${system}".default ];
} }

View File

@@ -4,6 +4,7 @@
#- #-
#- - `menu` - Open wofi with drun mode. (wofi) #- - `menu` - Open wofi with drun mode. (wofi)
#- - `powermenu` - Open power dropdown menu. (wofi) #- - `powermenu` - Open power dropdown menu. (wofi)
#- - `quickmenu` - Open a dropdown menu with shortcuts and scripts. (wofi)
#- - `lock` - Lock the screen. (hyprlock) #- - `lock` - Lock the screen. (hyprlock)
{ pkgs, ... }: { pkgs, ... }:

View File

@@ -1,3 +1,4 @@
# Hyprspace is a hyprland plugin that provides a workspaces overview (three-finger swipe up) and a workspace switcher (three-finger down).
{ inputs, pkgs, ... }: { { inputs, pkgs, ... }: {
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
plugins = [ inputs.hyprspace.packages.${pkgs.system}.Hyprspace ]; plugins = [ inputs.hyprspace.packages.${pkgs.system}.Hyprspace ];

View File

@@ -1,3 +1,4 @@
# HyprPolkitAgent is a simple polkit agent for wayland compositors
{ pkgs, ... }: { { pkgs, ... }: {
home.packages = with pkgs; [ hyprpolkitagent ]; home.packages = with pkgs; [ hyprpolkitagent ];

View File

@@ -1,55 +0,0 @@
{ pkgs, config, ... }: {
stylix.targets.grub.enable = false;
boot = {
bootspec.enable = true;
loader = {
efi.canTouchEfiVariables = true;
grub = {
enable = true;
devices = [ "nodev" ];
efiSupport = true;
useOSProber = true;
};
grub2-theme = {
enable = true;
theme = "whitesur";
icon = "whitesur";
splashImage = config.stylix.image;
bootMenuConfig = ''
item_color = "#333333"
selected_item_color = "#000000"
left = 30%
top = 30%
width = 40%
height = 40%
item_font = "Unifont Regular 24"
icon_width = 48
icon_height = 48
item_icon_space = 24
item_height = 56
item_padding = 8
item_spacing = 16
selected_item_pixmap_style = "select_*.png"
'';
};
};
tmp.cleanOnBoot = true;
kernelPackages =
pkgs.linuxPackages_latest; # _zen, _hardened, _rt, _rt_latest, etc.
# Silent boot
kernelParams = [
"quiet"
"splash"
"vga=current"
"rd.systemd.show_status=false"
"rd.udev.log_level=3"
"udev.log_priority=3"
];
consoleLogLevel = 0;
initrd.verbose = false;
};
}

View File

@@ -1,3 +1,4 @@
# SDDM is a display manager for X11 and Wayland
{ pkgs, inputs, config, lib, ... }: { pkgs, inputs, config, lib, ... }:
let let
foreground = config.theme.textColorOnWallpaper; foreground = config.theme.textColorOnWallpaper;

View File

@@ -1,3 +1,4 @@
# Tailscale is a VPN service that makes it easy to connect your devices between each other.
{ config, ... }: { { config, ... }: {
security.sudo.extraRules = [{ security.sudo.extraRules = [{
users = [ config.var.username ]; users = [ config.var.username ];

View File

@@ -1,3 +1,5 @@
# TUIGreet is a display manager.
# Legacy, I'm now using SDDM
{ pkgs, ... }: { { pkgs, ... }: {
services.greetd = { services.greetd = {
enable = true; enable = true;

View File

@@ -3,6 +3,10 @@ let
hostname = config.var.hostname; hostname = config.var.hostname;
keyboardLayout = config.var.keyboardLayout; keyboardLayout = config.var.keyboardLayout;
configDir = config.var.configDirectory; configDir = config.var.configDirectory;
timeZone = config.var.timeZone;
defaultLocale = config.var.defaultLocale;
extraLocale = config.var.extraLocale;
autoUpgrade = config.var.autoUpgrade;
in { in {
networking.hostName = hostname; networking.hostName = hostname;
@@ -10,7 +14,7 @@ in {
systemd.services.NetworkManager-wait-online.enable = false; systemd.services.NetworkManager-wait-online.enable = false;
system.autoUpgrade = { system.autoUpgrade = {
enable = config.var.autoUpgrade; enable = autoUpgrade;
dates = "04:00"; dates = "04:00";
flake = "${configDir}"; flake = "${configDir}";
flags = [ "--update-input" "nixpkgs" "--commit-lock-file" ]; flags = [ "--update-input" "nixpkgs" "--commit-lock-file" ];
@@ -18,20 +22,20 @@ in {
}; };
time = { time = {
timeZone = config.var.timeZone; timeZone = timeZone;
hardwareClockInLocalTime = true; hardwareClockInLocalTime = true;
}; };
i18n.defaultLocale = config.var.defaultLocale; i18n.defaultLocale = defaultLocale;
i18n.extraLocaleSettings = { i18n.extraLocaleSettings = {
LC_ADDRESS = config.var.extraLocale; LC_ADDRESS = extraLocale;
LC_IDENTIFICATION = config.var.extraLocale; LC_IDENTIFICATION = extraLocale;
LC_MEASUREMENT = config.var.extraLocale; LC_MEASUREMENT = extraLocale;
LC_MONETARY = config.var.extraLocale; LC_MONETARY = extraLocale;
LC_NAME = config.var.extraLocale; LC_NAME = extraLocale;
LC_NUMERIC = config.var.extraLocale; LC_NUMERIC = extraLocale;
LC_PAPER = config.var.extraLocale; LC_PAPER = extraLocale;
LC_TELEPHONE = config.var.extraLocale; LC_TELEPHONE = extraLocale;
LC_TIME = config.var.extraLocale; LC_TIME = extraLocale;
}; };
services = { services = {