Compare commits
38 Commits
a4f56f922f
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 25e647190b | |||
| c942a482c2 | |||
| a802c85678 | |||
| fc58b0ad29 | |||
| 5d4e3982ee | |||
| cbedc31575 | |||
| f6585da4b7 | |||
| 64336e8f9f | |||
| efbb990fab | |||
| 0f105b5324 | |||
|
|
eb0c48b1e7 | ||
| e22144dcc0 | |||
| 09e90babd9 | |||
| 1d14750a1f | |||
| 300a594250 | |||
| dcda6ea9b8 | |||
| c3981e6316 | |||
| cb37b19941 | |||
|
|
e54fc963f6 | ||
|
|
94cad97ba9 | ||
|
|
59b1f8b632 | ||
|
|
de7db470ae | ||
|
|
336c395b56 | ||
|
|
dbed42316a | ||
| 7410e0e0a2 | |||
| 22a1b19301 | |||
| 0167bb1ab5 | |||
| 905aace59e | |||
| 2337629578 | |||
| a55644e77c | |||
| b5ee65626a | |||
| d3531dfd9e | |||
| 820e4b1cce | |||
| dd0ddd7834 | |||
| b23ebe640d | |||
| ef35e06dfd | |||
| bac5ee7534 | |||
| e4f1e92d2a |
17
flake.lock
generated
17
flake.lock
generated
@@ -25,6 +25,22 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"aghpb": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1773167124,
|
||||||
|
"narHash": "sha256-ELnpKMODHKZcsXZ9/6XyTo17u3j2bUs9nplyULz6uFI=",
|
||||||
|
"owner": "cat-milk",
|
||||||
|
"repo": "Anime-Girls-Holding-Programming-Books",
|
||||||
|
"rev": "c04a6e18f474965b731b65e539ad69a94123c444",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "cat-milk",
|
||||||
|
"repo": "Anime-Girls-Holding-Programming-Books",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"assets": {
|
"assets": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
@@ -313,6 +329,7 @@
|
|||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"agenix": "agenix",
|
"agenix": "agenix",
|
||||||
|
"aghpb": "aghpb",
|
||||||
"assets": "assets",
|
"assets": "assets",
|
||||||
"catppuccin": "catppuccin",
|
"catppuccin": "catppuccin",
|
||||||
"flake-file": "flake-file",
|
"flake-file": "flake-file",
|
||||||
|
|||||||
@@ -11,6 +11,10 @@
|
|||||||
nixpkgs.follows = "nixpkgs";
|
nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
aghpb = {
|
||||||
|
url = "github:cat-milk/Anime-Girls-Holding-Programming-Books";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
assets = {
|
assets = {
|
||||||
url = "path:./assets";
|
url = "path:./assets";
|
||||||
flake = false;
|
flake = false;
|
||||||
|
|||||||
@@ -1,22 +0,0 @@
|
|||||||
{
|
|
||||||
config.flake.factory.hyprpaper = mappings: { config
|
|
||||||
, osConfig
|
|
||||||
, lib
|
|
||||||
, ...
|
|
||||||
}: {
|
|
||||||
services.hyprpaper = assert osConfig.programs.hyprland.enable; {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
preload = map ({ path, ... }: path) mappings;
|
|
||||||
wallpaper =
|
|
||||||
map
|
|
||||||
({ monitor
|
|
||||||
, path
|
|
||||||
, prefix ? ""
|
|
||||||
,
|
|
||||||
}: "${monitor},${prefix}${path}")
|
|
||||||
mappings;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -7,7 +7,10 @@
|
|||||||
, UID
|
, UID
|
||||||
, GID
|
, GID
|
||||||
,
|
,
|
||||||
}: {
|
}: { pkgs, ... }: {
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
cifs-utils
|
||||||
|
];
|
||||||
fileSystems."${destination}" = {
|
fileSystems."${destination}" = {
|
||||||
device = "//${host}/${resource}";
|
device = "//${host}/${resource}";
|
||||||
fsType = "cifs";
|
fsType = "cifs";
|
||||||
|
|||||||
8
modules/factory/wpaperd.nix
Normal file
8
modules/factory/wpaperd.nix
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
config.flake.factory.wpaperd = config: {
|
||||||
|
services.wpaperd = {
|
||||||
|
enable = true;
|
||||||
|
settings = config;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -5,7 +5,7 @@
|
|||||||
imports = with inputs.self.factory; [
|
imports = with inputs.self.factory; [
|
||||||
(mount-cifs {
|
(mount-cifs {
|
||||||
host = "duke.veltnet";
|
host = "duke.veltnet";
|
||||||
resource = "home";
|
resource = "smb-share";
|
||||||
destination = "/home/weckyy702/duke";
|
destination = "/home/weckyy702/duke";
|
||||||
credentials_path = "${config.age.secrets.nas-creds.path}";
|
credentials_path = "${config.age.secrets.nas-creds.path}";
|
||||||
UID = "weckyy702";
|
UID = "weckyy702";
|
||||||
|
|||||||
@@ -3,22 +3,24 @@
|
|||||||
imports = with inputs.self.modules.nixos; [
|
imports = with inputs.self.modules.nixos; [
|
||||||
weckyy702
|
weckyy702
|
||||||
steam
|
steam
|
||||||
|
mullvad
|
||||||
];
|
];
|
||||||
|
|
||||||
home-manager.users.weckyy702 = { config, ... }: {
|
home-manager.users.weckyy702 = { config, ... }: {
|
||||||
imports = with inputs.self.modules.homeManager;
|
imports = with inputs.self.modules.homeManager;
|
||||||
with inputs.self.factory; [
|
with inputs.self.factory; [
|
||||||
(hyprpaper {
|
(wpaperd {
|
||||||
wallpaper_path = "${inputs.assets}/horizontal_16x9.png";
|
default = {
|
||||||
monitor_names = [
|
path = "${inputs.assets}/horizontal_16x9.png";
|
||||||
"DP-1"
|
};
|
||||||
"HDMI-A-1"
|
|
||||||
];
|
|
||||||
})
|
})
|
||||||
|
|
||||||
vesktop
|
vesktop
|
||||||
spicetify
|
spicetify
|
||||||
borgmatic
|
borgmatic
|
||||||
|
|
||||||
qbittorrent
|
qbittorrent
|
||||||
|
prusa-slicer
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
9
modules/hosts/tux/devtools.nix
Normal file
9
modules/hosts/tux/devtools.nix
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{ inputs, ... }: {
|
||||||
|
flake.modules.nixos.tux = {
|
||||||
|
imports = with inputs.self.modules.nixos;
|
||||||
|
with inputs.self.factory; [
|
||||||
|
development-tools
|
||||||
|
docker
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
20
modules/hosts/tux/filesystems.nix
Normal file
20
modules/hosts/tux/filesystems.nix
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
flake.modules.nixos.tux = {
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/mapper/luks-9d836ef1-a7f9-430f-8fb8-f202f6336e5a";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/15FA-55CF";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [ "fmask=0077" "dmask=0077" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices =
|
||||||
|
[ { device = "/dev/mapper/luks-46e78828-ab23-48b8-8e2a-de7a21adbe24"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
3
modules/hosts/tux/flake-parts.nix
Normal file
3
modules/hosts/tux/flake-parts.nix
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
{ inputs, ...}: {
|
||||||
|
flake.nixosConfigurations = inputs.self.lib.mkNixos "x86_64-linux" "tux";
|
||||||
|
}
|
||||||
16
modules/hosts/tux/hardware.nix
Normal file
16
modules/hosts/tux/hardware.nix
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{ inputs, ... }: {
|
||||||
|
flake.modules.nixos.tux = {
|
||||||
|
imports = with inputs.self.modules.nixos; [
|
||||||
|
intel-gpu
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "sdhci_pci" ];
|
||||||
|
boot.initrd.luks.devices."luks-9d836ef1-a7f9-430f-8fb8-f202f6336e5a".device = "/dev/disk/by-uuid/9d836ef1-a7f9-430f-8fb8-f202f6336e5a";
|
||||||
|
boot.initrd.luks.devices."luks-46e78828-ab23-48b8-8e2a-de7a21adbe24".device = "/dev/disk/by-uuid/46e78828-ab23-48b8-8e2a-de7a21adbe24";
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = "x86_64-linux";
|
||||||
|
|
||||||
|
hardware.enableRedistributableFirmware = true;
|
||||||
|
hardware.cpu.intel.updateMicrocode = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
8
modules/hosts/tux/networking.nix
Normal file
8
modules/hosts/tux/networking.nix
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{inputs, ...}: {
|
||||||
|
flake.modules.nixos.tux = {
|
||||||
|
imports = with inputs.self.modules.nixos; [
|
||||||
|
networkmanager
|
||||||
|
];
|
||||||
|
networking.hostName = "tux";
|
||||||
|
};
|
||||||
|
}
|
||||||
18
modules/hosts/tux/tux.nix
Normal file
18
modules/hosts/tux/tux.nix
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
{ inputs, ... }: {
|
||||||
|
flake.modules.nixos.tux = {
|
||||||
|
imports = with inputs.self.modules.nixos;
|
||||||
|
with inputs.self.factory; [
|
||||||
|
system-desktop
|
||||||
|
systemd-boot
|
||||||
|
bluetooth
|
||||||
|
i18n-de
|
||||||
|
|
||||||
|
(autologin "weckyy702")
|
||||||
|
|
||||||
|
home-vpn
|
||||||
|
opentablet
|
||||||
|
|
||||||
|
#TODO: laptop specific aspects like powertop
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
8
modules/hosts/tux/users/weckyy702/backlight.nix
Normal file
8
modules/hosts/tux/users/weckyy702/backlight.nix
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{ inputs, ... }: {
|
||||||
|
flake.modules.nixos.tux = {
|
||||||
|
imports = with inputs.self.modules.nixos; [
|
||||||
|
backlight
|
||||||
|
];
|
||||||
|
users.users.weckyy702.extraGroups = [ "video" ];
|
||||||
|
};
|
||||||
|
}
|
||||||
5
modules/hosts/tux/users/weckyy702/bluetooth.nix
Normal file
5
modules/hosts/tux/users/weckyy702/bluetooth.nix
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{ inputs, ... }: {
|
||||||
|
flake.modules.homeManager.blueman-applet = {
|
||||||
|
services.blueman-applet.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
5
modules/hosts/tux/users/weckyy702/docker.nix
Normal file
5
modules/hosts/tux/users/weckyy702/docker.nix
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
flake.modules.nixos.tux = {
|
||||||
|
users.users.weckyy702.extraGroups = [ "docker" ];
|
||||||
|
};
|
||||||
|
}
|
||||||
12
modules/hosts/tux/users/weckyy702/hyprland.nix
Normal file
12
modules/hosts/tux/users/weckyy702/hyprland.nix
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{ inputs, ... }: {
|
||||||
|
flake.modules.homeManager.tux-hyprland = {
|
||||||
|
imports = with inputs.self.modules.homeManager; [
|
||||||
|
ashell
|
||||||
|
];
|
||||||
|
wayland.windowManager.hyprland.settings = {
|
||||||
|
monitor = [
|
||||||
|
"eDP-1,preferred,0x0,1.066666667"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
16
modules/hosts/tux/users/weckyy702/mount-nas.nix
Normal file
16
modules/hosts/tux/users/weckyy702/mount-nas.nix
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{ inputs, ... }: {
|
||||||
|
flake.modules.nixos.tux = { config, ... }: {
|
||||||
|
age.secrets."nas-creds".file = "${inputs.secrets}/nas-creds.age";
|
||||||
|
|
||||||
|
imports = with inputs.self.factory; [
|
||||||
|
(mount-cifs {
|
||||||
|
host = "duke.veltnet";
|
||||||
|
resource = "smb-share";
|
||||||
|
destination = "/mnt/nas";
|
||||||
|
credentials_path = "${config.age.secrets.nas-creds.path}";
|
||||||
|
UID = "weckyy702";
|
||||||
|
GID = "users";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
21
modules/hosts/tux/users/weckyy702/wallpaper.nix
Normal file
21
modules/hosts/tux/users/weckyy702/wallpaper.nix
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{ inputs, ... }: {
|
||||||
|
flake-file.inputs = {
|
||||||
|
aghpb = {
|
||||||
|
url = "github:cat-milk/Anime-Girls-Holding-Programming-Books";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
flake.modules.homeManager.randomized-aghpb-wallpaper = {
|
||||||
|
imports = with inputs.self.factory; [
|
||||||
|
(wpaperd {
|
||||||
|
default = {
|
||||||
|
path = inputs.aghpb;
|
||||||
|
recursive = true;
|
||||||
|
mode = "stretch";
|
||||||
|
duration = "5m";
|
||||||
|
};
|
||||||
|
})
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
22
modules/hosts/tux/users/weckyy702/weckyy702.nix
Normal file
22
modules/hosts/tux/users/weckyy702/weckyy702.nix
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{ inputs, ... }: {
|
||||||
|
flake.modules.nixos.tux = {
|
||||||
|
imports = with inputs.self.modules.nixos; [
|
||||||
|
weckyy702
|
||||||
|
upower
|
||||||
|
libreoffice
|
||||||
|
];
|
||||||
|
|
||||||
|
home-manager.users.weckyy702 = {
|
||||||
|
imports = with inputs.self.modules.homeManager;
|
||||||
|
with inputs.self.factory; [
|
||||||
|
borgmatic
|
||||||
|
obsidian
|
||||||
|
vesktop
|
||||||
|
tux-hyprland
|
||||||
|
randomized-aghpb-wallpaper
|
||||||
|
nm-applet
|
||||||
|
blueman-applet
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
48
modules/programs/ashell.nix
Normal file
48
modules/programs/ashell.nix
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
{
|
||||||
|
flake.modules.homeManager.ashell =
|
||||||
|
{ config
|
||||||
|
, lib
|
||||||
|
, ...
|
||||||
|
}: {
|
||||||
|
programs.ashell = {
|
||||||
|
enable = true;
|
||||||
|
systemd.enable = true;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
modules = {
|
||||||
|
left = [ "Workspaces" ];
|
||||||
|
center = [ "Clock" ];
|
||||||
|
right = [ "Tray" [ "SystemInfo" "Settings" ] ];
|
||||||
|
};
|
||||||
|
|
||||||
|
system_info.indicators = [ "Cpu" "Memory" "Temperature" "DownloadSpeed" "UploadSpeed" ];
|
||||||
|
|
||||||
|
settings.indicators = [ "Battery" ];
|
||||||
|
|
||||||
|
appearance = lib.mkIf config.catppuccin.enable {
|
||||||
|
success_color = "#a6e3a1";
|
||||||
|
text_color = "#cdd6f4";
|
||||||
|
workspace_colors = [ "#fab387" "#b4befe" "#cba6f7" ];
|
||||||
|
|
||||||
|
primary_color = {
|
||||||
|
base = "#fab387";
|
||||||
|
text = "#1e1e2e";
|
||||||
|
};
|
||||||
|
danger_color = {
|
||||||
|
base = "#f38ba8";
|
||||||
|
weak = "#f9e2af";
|
||||||
|
};
|
||||||
|
background_color = {
|
||||||
|
base = "#1e1e2e";
|
||||||
|
weak = "#313244";
|
||||||
|
strong = "#45475a";
|
||||||
|
};
|
||||||
|
secondary_color = {
|
||||||
|
base = "#11111b";
|
||||||
|
strong = "#1b1b25";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -6,9 +6,84 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
flake.modules.homeManager.browser = { pkgs, ... }: {
|
flake.modules.homeManager.browser =
|
||||||
|
{ pkgs
|
||||||
|
, lib
|
||||||
|
, ...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
mkExtension = shortId: guid: {
|
||||||
|
name = guid;
|
||||||
|
value = {
|
||||||
|
install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${shortId}/latest.xpi";
|
||||||
|
installation_mode = "normal_installed";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
zen-pkg =
|
||||||
|
inputs.zen-browser.packages.${pkgs.stdenv.hostPlatform.system}.zen-browser-unwrapped;
|
||||||
|
|
||||||
|
prefs = {
|
||||||
|
"zen.tabs.vertical.right-side" = true;
|
||||||
|
"zen.workspaces.force-container-workspace" = true;
|
||||||
|
"zen.view.compact.enable-at-startup" = true;
|
||||||
|
"zen.pinned-tab-manager.restore-pinned-tabs-to-pinned-url" = true;
|
||||||
|
"zen.welcome-screen.seen" = true;
|
||||||
|
|
||||||
|
"sidebar.visibility" = "hide-sidebar";
|
||||||
|
|
||||||
|
"browser.ctrlTab.sortByRecentlyUsed" = true;
|
||||||
|
|
||||||
|
"privacy.fingerprintingProtection" = true;
|
||||||
|
"privacy.globalprivacycontrol.was_ever_enabled" = true;
|
||||||
|
"privacy.sanitize.clearOnShutdown.hasMigratedToNewPrefs3" = true;
|
||||||
|
"privacy.trackingprotection.allow_list.convenience.enabled" = false;
|
||||||
|
"privacy.trackingprotection.allow_list.hasMigratedCategoryPrefs" = true;
|
||||||
|
"privacy.trackingprotection.allow_list.hasUserInteractedWithETPSettings" = true;
|
||||||
|
"privacy.trackingprotection.emailtracking.enabled" = true;
|
||||||
|
"privacy.trackingprotection.enabled" = true;
|
||||||
|
"privacy.trackingprotection.socialtracking.enabled" = true;
|
||||||
|
};
|
||||||
|
extensions = [
|
||||||
|
# To add additional extensions, find it on addons.mozilla.org, find
|
||||||
|
# the short ID in the url (like https://addons.mozilla.org/en-US/firefox/addon/!SHORT_ID!/)
|
||||||
|
# Then go to https://addons.mozilla.org/api/v5/addons/addon/!SHORT_ID!/ to get the guid
|
||||||
|
(mkExtension "ublock-origin" "uBlock0@raymondhill.net")
|
||||||
|
(mkExtension "darkreader" "addon@darkreader.org")
|
||||||
|
(mkExtension "bitwarden-password-manager" "{446900e4-71c2-419f-a6a7-df9c091e268b}")
|
||||||
|
# ...
|
||||||
|
];
|
||||||
|
in
|
||||||
|
{
|
||||||
home.packages = [
|
home.packages = [
|
||||||
inputs.zen-browser.packages.${pkgs.stdenv.hostPlatform.system}.default
|
(
|
||||||
|
pkgs.wrapFirefox zen-pkg
|
||||||
|
{
|
||||||
|
extraPrefs = lib.concatLines (
|
||||||
|
lib.mapAttrsToList
|
||||||
|
(
|
||||||
|
name: value: ''lockPref(${lib.strings.toJSON name}, ${lib.strings.toJSON value});''
|
||||||
|
)
|
||||||
|
prefs
|
||||||
|
);
|
||||||
|
|
||||||
|
extraPolicies = {
|
||||||
|
DisableTelemetry = true;
|
||||||
|
ExtensionSettings = builtins.listToAttrs extensions;
|
||||||
|
|
||||||
|
SearchEngines = {
|
||||||
|
Default = "ddg";
|
||||||
|
Add = [
|
||||||
|
{
|
||||||
|
Name = "nixpkgs packages";
|
||||||
|
URLTemplate = "https://search.nixos.org/packages?query={searchTerms}";
|
||||||
|
IconURL = "https://wiki.nixos.org/favicon.ico";
|
||||||
|
Alias = "@np";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
)
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,12 @@
|
|||||||
{
|
{
|
||||||
flake.modules.homeManager.btop = { pkgs, ... }: {
|
flake.modules.homeManager.btop = { pkgs, ... }: {
|
||||||
home.packages = with pkgs; [
|
programs.btop = {
|
||||||
btop
|
enable = true;
|
||||||
];
|
settings = {
|
||||||
|
vim_keys = true;
|
||||||
|
proc_tree = true;
|
||||||
|
proc_aggregate = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,11 +38,20 @@
|
|||||||
hyprcursor.size = size;
|
hyprcursor.size = size;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
wayland.windowManager.hyprland.settings.exec-once = [
|
||||||
|
"hyprctl setcursor catppuccin-mocha-mauve-cursors 24"
|
||||||
|
];
|
||||||
|
|
||||||
catppuccin.enable = true;
|
catppuccin.enable = true;
|
||||||
# Required for QT apps to use the catppuccin colors
|
# Required for QT apps to use the catppuccin colors
|
||||||
qt = {
|
qt = {
|
||||||
enable = true;
|
enable = true;
|
||||||
style.name = "kvantum";
|
style.name = "kvantum";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
gtk = {
|
||||||
|
enable = true;
|
||||||
|
colorScheme = "dark";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,14 +1,23 @@
|
|||||||
{ inputs, ... }: {
|
{ inputs, ... }: {
|
||||||
flake.modules.nixos.development-tools = { pkgs, ... }: {
|
flake.modules.nixos.development-tools = { pkgs, ... }: {
|
||||||
imports = with inputs.self.modules.nixos; [
|
|
||||||
rust
|
|
||||||
];
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
cmake
|
cmake
|
||||||
gnumake
|
gnumake
|
||||||
clang
|
clang
|
||||||
gcc
|
gcc
|
||||||
|
|
||||||
|
man-pages
|
||||||
|
man-pages-posix
|
||||||
];
|
];
|
||||||
|
documentation.dev.enable = true;
|
||||||
|
|
||||||
|
programs.direnv = {
|
||||||
|
enable = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
silent = true;
|
||||||
|
nix-direnv.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.nix-ld.enable = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
flake.modules.nixos.rust = { pkgs, ... }: {
|
flake.modules.nixos.development-tools = { pkgs, ... }: {
|
||||||
nixpkgs.overlays = [
|
nixpkgs.overlays = [
|
||||||
inputs.rust-overlay.overlays.default
|
inputs.rust-overlay.overlays.default
|
||||||
];
|
];
|
||||||
|
|||||||
5
modules/programs/development-tools/udev.nix
Normal file
5
modules/programs/development-tools/udev.nix
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
flake.modules.nixos.development-tools = { pkgs, ... }: {
|
||||||
|
services.udev.packages = with pkgs; [ platformio-core.udev ];
|
||||||
|
};
|
||||||
|
}
|
||||||
8
modules/programs/docker.nix
Normal file
8
modules/programs/docker.nix
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
flake.modules.nixos.docker = {
|
||||||
|
virtualisation.docker = {
|
||||||
|
enable = true;
|
||||||
|
autoPrune.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -21,10 +21,6 @@
|
|||||||
follow_mouse = 1;
|
follow_mouse = 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
exec-once = [
|
|
||||||
"hyprctl setcursor catppuccin-mocha-mauve-cursors 24"
|
|
||||||
];
|
|
||||||
|
|
||||||
bind =
|
bind =
|
||||||
[
|
[
|
||||||
"$mod, Q, exit"
|
"$mod, Q, exit"
|
||||||
|
|||||||
7
modules/programs/libreoffice.nix
Normal file
7
modules/programs/libreoffice.nix
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
flake.modules.nixos.libreoffice = { pkgs, ... }: {
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
libreoffice
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
{ ... }: {
|
{ ... }: {
|
||||||
imports = [
|
imports = [
|
||||||
./lsp.nix
|
./lsp.nix
|
||||||
|
./formatter.nix
|
||||||
./telescope
|
./telescope
|
||||||
./cmp
|
./cmp
|
||||||
];
|
];
|
||||||
|
|||||||
15
modules/programs/nixvim/_nixvim-config/plugins/formatter.nix
Normal file
15
modules/programs/nixvim/_nixvim-config/plugins/formatter.nix
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
plugins.conform-nvim = {
|
||||||
|
enable = true;
|
||||||
|
autoInstall.enable = true;
|
||||||
|
settings = {
|
||||||
|
formatters_by_ft = {
|
||||||
|
cpp = [ "clang_format" ];
|
||||||
|
markdown = [
|
||||||
|
"prettier"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
formatters = { };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -20,6 +20,8 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
rnix.enable = true;
|
rnix.enable = true;
|
||||||
|
|
||||||
|
basedpyright.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
keymaps = [
|
keymaps = [
|
||||||
|
|||||||
13
modules/programs/obsidian.nix
Normal file
13
modules/programs/obsidian.nix
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
flake.modules.homeManager.obsidian = {
|
||||||
|
programs.obsidian = {
|
||||||
|
enable = true;
|
||||||
|
defaultSettings = {
|
||||||
|
communityPlugins = [
|
||||||
|
"excalidraw"
|
||||||
|
];
|
||||||
|
themes = [ ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
7
modules/programs/prusa-slicer.nix
Normal file
7
modules/programs/prusa-slicer.nix
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
flake.modules.homeManager.prusa-slicer = { pkgs, ... }: {
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
prusa-slicer
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -8,9 +8,6 @@
|
|||||||
protontricks = {
|
protontricks = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
dedicatedServer.openFirewall = true;
|
|
||||||
localNetworkGameTransfers.openFirewall = true;
|
|
||||||
remotePlay.openFirewall = true;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
11
modules/services/backlight.nix
Normal file
11
modules/services/backlight.nix
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
flake.modules.nixos.backlight = {
|
||||||
|
programs.light = {
|
||||||
|
enable = true;
|
||||||
|
brightnessKeys = {
|
||||||
|
enable = true;
|
||||||
|
step = 5;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,19 +1,23 @@
|
|||||||
{
|
{
|
||||||
flake.modules.homeManager.borgmatic =
|
flake.modules.homeManager.borgmatic =
|
||||||
{ config
|
{ config
|
||||||
|
, osConfig
|
||||||
, pkgs
|
, pkgs
|
||||||
|
, lib
|
||||||
, ...
|
, ...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
hostname = config.networking.hostname;
|
hostname = osConfig.networking.hostName;
|
||||||
username = config.home.username;
|
username = config.home.username;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
libnotify
|
libnotify
|
||||||
|
borgmatic
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.borgmatic = {
|
programs.borgmatic = {
|
||||||
|
enable = true;
|
||||||
backups.default = {
|
backups.default = {
|
||||||
location = {
|
location = {
|
||||||
repositories = [
|
repositories = [
|
||||||
@@ -25,14 +29,11 @@
|
|||||||
excludeHomeManagerSymlinks = true;
|
excludeHomeManagerSymlinks = true;
|
||||||
patterns = [
|
patterns = [
|
||||||
#TODO: home.homeDirectory might be usable here
|
#TODO: home.homeDirectory might be usable here
|
||||||
"R /home/${username}/Documents"
|
#TODO: should be user and machine specific
|
||||||
"R /home/${username}/.ssh"
|
"R /home/${username}"
|
||||||
"- /home/${username}/Documents/SteamLibrary"
|
"+ /home/${username}/.ssh"
|
||||||
"- /home/${username}/Documents/PrismLauncher instances"
|
"- /home/${username}/.*"
|
||||||
"- /home/${username}/Documents/.Trash-1000"
|
|
||||||
"- /home/${username}/Documents/VMs/Data"
|
|
||||||
"- **/node_modules"
|
"- **/node_modules"
|
||||||
"- **/.git"
|
|
||||||
"- **/.cache"
|
"- **/.cache"
|
||||||
"- **/*build"
|
"- **/*build"
|
||||||
"- **/target"
|
"- **/target"
|
||||||
@@ -43,6 +44,8 @@
|
|||||||
"- **/dist"
|
"- **/dist"
|
||||||
"- **/.pio"
|
"- **/.pio"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
extraConfig.exclude_if_present = [ ".borgignore" ];
|
||||||
};
|
};
|
||||||
retention.keepWeekly = 2;
|
retention.keepWeekly = 2;
|
||||||
storage.extraConfig.ssh_command = "ssh -i /home/${username}/.ssh/id_ed25519_borg";
|
storage.extraConfig.ssh_command = "ssh -i /home/${username}/.ssh/id_ed25519_borg";
|
||||||
@@ -50,6 +53,8 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#TODO: there is a services.borgmatic
|
||||||
|
|
||||||
systemd.user.services.borgmatic = {
|
systemd.user.services.borgmatic = {
|
||||||
Unit.Description = "Create a backup using borgmatic";
|
Unit.Description = "Create a backup using borgmatic";
|
||||||
Service.ExecStart = "${pkgs.borgmatic}/bin/borgmatic create --stats";
|
Service.ExecStart = "${pkgs.borgmatic}/bin/borgmatic create --stats";
|
||||||
|
|||||||
12
modules/services/flameshot.nix
Normal file
12
modules/services/flameshot.nix
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
flake.modules.homeManager.flameshot = {
|
||||||
|
services.flameshot = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
General = {
|
||||||
|
useGrimAdapter = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
7
modules/services/networkmanager.nix
Normal file
7
modules/services/networkmanager.nix
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
flake.modules.nixos.networkmanager = {
|
||||||
|
networking.networkmanager = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
5
modules/services/nm-applet.nix
Normal file
5
modules/services/nm-applet.nix
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
flake.modules.homeManager.nm-applet = {
|
||||||
|
services.network-manager-applet.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
7
modules/services/tailscale.nix
Normal file
7
modules/services/tailscale.nix
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
flake.modules.nixos.tailscale = {
|
||||||
|
services.tailscale = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
5
modules/services/upower.nix
Normal file
5
modules/services/upower.nix
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
flake.modules.nixos.upower = {
|
||||||
|
services.upower.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
9
modules/system-settings/bluetooth.nix
Normal file
9
modules/system-settings/bluetooth.nix
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
flake.modules.nixos.bluetooth = {
|
||||||
|
hardware.bluetooth = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.blueman.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
14
modules/system-settings/home-vpn.nix
Normal file
14
modules/system-settings/home-vpn.nix
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
{ self, ... }: {
|
||||||
|
flake.modules.nixos.home-vpn = {
|
||||||
|
imports = with self.modules.nixos; [
|
||||||
|
tailscale
|
||||||
|
resolved
|
||||||
|
];
|
||||||
|
|
||||||
|
services.resolved.extraConfig = ''
|
||||||
|
[Resolve]
|
||||||
|
DNS=10.10.0.1
|
||||||
|
Domains=~veltnet
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
15
modules/system-settings/intel-gpu.nix
Normal file
15
modules/system-settings/intel-gpu.nix
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
flake.modules.nixos.intel-gpu = {pkgs, ...}: {
|
||||||
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
|
|
||||||
|
hardware.graphics = {
|
||||||
|
enable = true;
|
||||||
|
extraPackages = with pkgs; [
|
||||||
|
intel-media-driver
|
||||||
|
intel-compute-runtime
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.sessionVariables.LIBVA_DRIVER_NAME = "iHD";
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -8,4 +8,8 @@
|
|||||||
fontDir.enable = true;
|
fontDir.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
flake.modules.homeManager.nerdfonts = {
|
||||||
|
gtk.font.name = "JetBrainsMono";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
8
modules/system-settings/opentablet.nix
Normal file
8
modules/system-settings/opentablet.nix
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
flake.modules.nixos.opentablet = {
|
||||||
|
hardware.opentabletdriver = {
|
||||||
|
enable = true;
|
||||||
|
daemon.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
7
modules/system-settings/resolved.nix
Normal file
7
modules/system-settings/resolved.nix
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
flake.modules.nixos.resolved = {
|
||||||
|
services.resolved.enable = true;
|
||||||
|
|
||||||
|
networking.networkmanager.dns = "systemd-resolved";
|
||||||
|
};
|
||||||
|
}
|
||||||
6
modules/system-settings/systemd-boot.nix
Normal file
6
modules/system-settings/systemd-boot.nix
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
flake.modules.nixos.systemd-boot = {
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -23,6 +23,7 @@
|
|||||||
multimedia
|
multimedia
|
||||||
zsh
|
zsh
|
||||||
thunderbird
|
thunderbird
|
||||||
|
flameshot
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IFNjTWNPZyB6Mzk1
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IFNjTWNPZyBDZVNV
|
||||||
MWl5cW5uNkc0WTFUTEF1TGFOS0J3a1YyRzJieTlDOGVPbm84WVVNCjJUNlp5K3Ny
|
dEhaL21OOUpVeEIyVHY0RHUySldpMkxEMjNrbk5nbWlNRUZrblRvCmEyTnRlNC8r
|
||||||
YUhMdWp2Zk5tNGp1TkxKcnNST2h1N0VrVnNiaUZzV21QUFUKLT4gc3NoLWVkMjU1
|
cldvZGEwS1QvSzdWdGdNSHUrR1N5M1lJcXBpcHZ2RDVMc0UKLT4gc3NoLWVkMjU1
|
||||||
MTkgZkJwNFR3IDR5UFhoTkNOUlJyVmovMUQzTExGK2Y2bFZPMW9ZZFdQTFliUFVj
|
MTkgZkJwNFR3IERiWDkrMEk5MU1vSHB4MmpFbjRMSDhiY3EwVXlrejBHT0h2N2pm
|
||||||
WDRPM2cKSjFQVWhVZXFMY0ZzdDEraXdkeW1BVkRtemFQdHYzeUI4ZjhrNFdsdmo1
|
N0I3MGsKd3RFQ01ObktrNkV5Z1ZsMVFzakVmUXJEczIyV2FVbldCQThCVERQMzJO
|
||||||
WQotPiBzc2gtZWQyNTUxOSBZazBxSWcgOUJxQkMzYzFrYWhVOTVFTnNvVmI1WDBn
|
VQotPiBzc2gtZWQyNTUxOSBZazBxSWcgNjBhL2RldVQ2SWhjL0R2c09jUUY4d01j
|
||||||
U2ZCVDU0WTliQzRxTVZKdCtCdwpYbUlJVmNHaHpuY0dJMldJSEFkbmpkZTlmTkI1
|
RjFjamExWlEvOHlaVUhhQlhURQplRzgxY1pxblZnOXNkZVVEUHN0MVlsRFlQK1hW
|
||||||
Y3lhQWRBaWdNOGpvcHdzCi0tLSA0dm04SEovSnZ5dW9MaTdxV1NSUGxnZ3orTzNy
|
WWVWQ1NwSHM1eUFtRHBvCi0tLSBnL0tvY3JBR3JVaGZVT2NZU2F4SnJlLzE5VUFw
|
||||||
WUt6eUt6TFAyTGFhdWFVCs0loU4KFs/vYaJX4d31Gf1y8Fv/jWEIALZ4KIqbEPPf
|
QU4zM2lsNnRKQkE2blBVCqVEBU+W7CRtMD5OPPvioRttzBk1ZAJSgSiZkJPdVli9
|
||||||
3C1Ljr2Mbfz231S/zxjfjK2vhHNtYdBtPOsEtpvThCZSTzuJ/WUzox5XUfL7
|
Phhr6ZWAr3crBp3Pbn3emLmh+79XdOeAjXI5NhKA2/qW1eSpfClr2rIwu3HX
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
|||||||
Reference in New Issue
Block a user