mirror of
https://github.com/anotherhadi/nixy.git
synced 2026-04-02 11:12:09 +02:00
@@ -1,3 +1,4 @@
|
||||
# Discord is a popular chat application.
|
||||
{ inputs, ... }: {
|
||||
imports = [ inputs.nixcord.homeManagerModules.nixcord ];
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
# Legacy
|
||||
{ pkgs, ... }: {
|
||||
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, ... }:
|
||||
let
|
||||
nerdfetch = pkgs.writeShellScriptBin "nerdfetch" ''
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
# Git configuration
|
||||
{ config, ... }:
|
||||
let
|
||||
username = config.var.git.username;
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
# Kitty is a fast, featureful, GPU based terminal emulator
|
||||
{
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
# Lazygit is a simple terminal UI for git commands.
|
||||
{ config, lib, ... }:
|
||||
let
|
||||
accent = "#${config.lib.stylix.colors.base0D}";
|
||||
|
||||
@@ -80,7 +80,7 @@ let
|
||||
|
||||
in {
|
||||
|
||||
imports = [ ./duckduckgo-colorscheme.nix ];
|
||||
imports = [ ../duckduckgo-colorscheme ];
|
||||
|
||||
programs.qutebrowser = {
|
||||
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, ... }: {
|
||||
home.packages = with pkgs; [ tailscale tailscale-systray ];
|
||||
|
||||
|
||||
@@ -1,86 +1,5 @@
|
||||
{ pkgs, config, inputs, ... }:
|
||||
let
|
||||
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;
|
||||
};
|
||||
|
||||
# Zen is a minimalistic web browser.
|
||||
{ pkgs, inputs, ... }: {
|
||||
home.packages = with pkgs;
|
||||
[ inputs.zen-browser.packages."${system}".default ];
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#-
|
||||
#- - `menu` - Open wofi with drun mode. (wofi)
|
||||
#- - `powermenu` - Open power dropdown menu. (wofi)
|
||||
#- - `quickmenu` - Open a dropdown menu with shortcuts and scripts. (wofi)
|
||||
#- - `lock` - Lock the screen. (hyprlock)
|
||||
{ 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, ... }: {
|
||||
wayland.windowManager.hyprland = {
|
||||
plugins = [ inputs.hyprspace.packages.${pkgs.system}.Hyprspace ];
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
# HyprPolkitAgent is a simple polkit agent for wayland compositors
|
||||
{ pkgs, ... }: {
|
||||
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, ... }:
|
||||
let
|
||||
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, ... }: {
|
||||
security.sudo.extraRules = [{
|
||||
users = [ config.var.username ];
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
# TUIGreet is a display manager.
|
||||
# Legacy, I'm now using SDDM
|
||||
{ pkgs, ... }: {
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
|
||||
@@ -3,6 +3,10 @@ let
|
||||
hostname = config.var.hostname;
|
||||
keyboardLayout = config.var.keyboardLayout;
|
||||
configDir = config.var.configDirectory;
|
||||
timeZone = config.var.timeZone;
|
||||
defaultLocale = config.var.defaultLocale;
|
||||
extraLocale = config.var.extraLocale;
|
||||
autoUpgrade = config.var.autoUpgrade;
|
||||
in {
|
||||
networking.hostName = hostname;
|
||||
|
||||
@@ -10,7 +14,7 @@ in {
|
||||
systemd.services.NetworkManager-wait-online.enable = false;
|
||||
|
||||
system.autoUpgrade = {
|
||||
enable = config.var.autoUpgrade;
|
||||
enable = autoUpgrade;
|
||||
dates = "04:00";
|
||||
flake = "${configDir}";
|
||||
flags = [ "--update-input" "nixpkgs" "--commit-lock-file" ];
|
||||
@@ -18,20 +22,20 @@ in {
|
||||
};
|
||||
|
||||
time = {
|
||||
timeZone = config.var.timeZone;
|
||||
timeZone = timeZone;
|
||||
hardwareClockInLocalTime = true;
|
||||
};
|
||||
i18n.defaultLocale = config.var.defaultLocale;
|
||||
i18n.defaultLocale = defaultLocale;
|
||||
i18n.extraLocaleSettings = {
|
||||
LC_ADDRESS = config.var.extraLocale;
|
||||
LC_IDENTIFICATION = config.var.extraLocale;
|
||||
LC_MEASUREMENT = config.var.extraLocale;
|
||||
LC_MONETARY = config.var.extraLocale;
|
||||
LC_NAME = config.var.extraLocale;
|
||||
LC_NUMERIC = config.var.extraLocale;
|
||||
LC_PAPER = config.var.extraLocale;
|
||||
LC_TELEPHONE = config.var.extraLocale;
|
||||
LC_TIME = config.var.extraLocale;
|
||||
LC_ADDRESS = extraLocale;
|
||||
LC_IDENTIFICATION = extraLocale;
|
||||
LC_MEASUREMENT = extraLocale;
|
||||
LC_MONETARY = extraLocale;
|
||||
LC_NAME = extraLocale;
|
||||
LC_NUMERIC = extraLocale;
|
||||
LC_PAPER = extraLocale;
|
||||
LC_TELEPHONE = extraLocale;
|
||||
LC_TIME = extraLocale;
|
||||
};
|
||||
|
||||
services = {
|
||||
|
||||
Reference in New Issue
Block a user