mirror of
https://github.com/anotherhadi/nixy.git
synced 2026-04-02 11:12:09 +02:00
improve documentation
This commit is contained in:
@@ -1,3 +1,4 @@
|
|||||||
|
# Discord is a popular chat application.
|
||||||
{ inputs, ... }: {
|
{ inputs, ... }: {
|
||||||
imports = [ inputs.nixcord.homeManagerModules.nixcord ];
|
imports = [ inputs.nixcord.homeManagerModules.nixcord ];
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
# Legacy
|
||||||
{ pkgs, ... }: {
|
{ pkgs, ... }: {
|
||||||
home.packages = with pkgs; [ neofetch ];
|
home.packages = with pkgs; [ neofetch ];
|
||||||
|
|
||||||
|
|||||||
@@ -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" ''
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
# Git configuration
|
||||||
{ config, ... }:
|
{ config, ... }:
|
||||||
let
|
let
|
||||||
username = config.var.git.username;
|
username = config.var.git.username;
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
# Kitty is a fast, featureful, GPU based terminal emulator
|
||||||
{
|
{
|
||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -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}";
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ let
|
|||||||
|
|
||||||
in {
|
in {
|
||||||
|
|
||||||
imports = [ ./duckduckgo-colorscheme.nix ];
|
imports = [ ../duckduckgo-colorscheme ];
|
||||||
|
|
||||||
programs.qutebrowser = {
|
programs.qutebrowser = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -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();
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
@@ -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 ];
|
||||||
|
|
||||||
|
|||||||
@@ -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 ];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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, ... }:
|
||||||
|
|
||||||
|
|||||||
@@ -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 ];
|
||||||
|
|||||||
@@ -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 ];
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -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;
|
||||||
|
|||||||
@@ -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 ];
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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 = {
|
||||||
|
|||||||
Reference in New Issue
Block a user