The Blue Update #1
2
.gitattributes
vendored
2
.gitattributes
vendored
|
@ -1 +1 @@
|
||||||
extras/secrets.nix filter=git-crypt diff=git-crypt
|
variables/secrets/** filter=git-crypt diff=git-crypt
|
||||||
|
|
|
@ -1,16 +0,0 @@
|
||||||
{ inputs, ... }: {
|
|
||||||
additions = final: _prev: import ./pkgs {pkgs = final;};
|
|
||||||
|
|
||||||
selfsuper = (self: super: {
|
|
||||||
mpv = super.mpv.override {
|
|
||||||
scripts = with self.mpvScripts; [mpris sponsorblock thumbnail];
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
finalprev = (final: prev: {
|
|
||||||
unstable = import inputs.nixpkgs-unstable {
|
|
||||||
system = final.system;
|
|
||||||
config.allowUnfree = true;
|
|
||||||
};
|
|
||||||
});
|
|
||||||
}
|
|
|
@ -1,4 +0,0 @@
|
||||||
{ pkgs, ... }: {
|
|
||||||
xash3d = pkgs.callPackage ./xash/xash3d.nix {};
|
|
||||||
hlsdk = pkgs.callPackage ./xash/hlsdk.nix {};
|
|
||||||
}
|
|
|
@ -1,72 +0,0 @@
|
||||||
{ ... }: {
|
|
||||||
# Define domains
|
|
||||||
jimDomain = "";
|
|
||||||
|
|
||||||
# User account passwords, generated with 'mkpasswd -m sha-512'
|
|
||||||
jimboAccPass = "";
|
|
||||||
|
|
||||||
# External emails
|
|
||||||
jimUsername = "";
|
|
||||||
jimEmail = "";
|
|
||||||
|
|
||||||
# SSH Keys
|
|
||||||
jimKeys = [
|
|
||||||
""
|
|
||||||
""
|
|
||||||
];
|
|
||||||
|
|
||||||
# System timezone in standard timezone identifier format
|
|
||||||
timeZone = "";
|
|
||||||
|
|
||||||
# Cloudflare API key
|
|
||||||
flareApiKey = "";
|
|
||||||
|
|
||||||
# Wireguard keys, generated with the wg command
|
|
||||||
wgServerPriv = "";
|
|
||||||
wgServerPub = "";
|
|
||||||
wgClientPriv = "";
|
|
||||||
wgClientPub = "";
|
|
||||||
wgPixel9Pub = "";
|
|
||||||
wgOraclePub = "";
|
|
||||||
|
|
||||||
# Icecast, plaintext
|
|
||||||
castAdminPass = "";
|
|
||||||
castSourcePass = "";
|
|
||||||
|
|
||||||
# Photoprism, plaintext
|
|
||||||
prismAdminPass = "";
|
|
||||||
|
|
||||||
# Matrix secrets
|
|
||||||
matrixSecret = "";
|
|
||||||
discordBotID = "";
|
|
||||||
discordBotToken = "";
|
|
||||||
|
|
||||||
# Pixelfed secret, must be 32 characters long
|
|
||||||
pixelfedKey = ''
|
|
||||||
APP_KEY=
|
|
||||||
'';
|
|
||||||
|
|
||||||
# Transmission credentials, plaintext
|
|
||||||
transmissionCredFile = ''
|
|
||||||
{
|
|
||||||
"rpc-username": "",
|
|
||||||
"rpc-password": ""
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
|
|
||||||
# Email cleartext passwords
|
|
||||||
noreplyPassword = "";
|
|
||||||
|
|
||||||
# Email account hashes, generated with 'mkpasswd -m bcrypt'
|
|
||||||
noreplyMailHash = "";
|
|
||||||
jimboMailHash = "";
|
|
||||||
lunaMailHash = "";
|
|
||||||
freecornMailHash = "";
|
|
||||||
tinyMailHash = "";
|
|
||||||
|
|
||||||
# IPs
|
|
||||||
jimIP1 = "";
|
|
||||||
jimIP2 = "";
|
|
||||||
lunaIP = "";
|
|
||||||
cornIP = "";
|
|
||||||
}
|
|
Binary file not shown.
219
flake.lock
219
flake.lock
|
@ -33,6 +33,27 @@
|
||||||
"type": "gitlab"
|
"type": "gitlab"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"crane": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"lanzaboote",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1717535930,
|
||||||
|
"narHash": "sha256-1hZ/txnbd/RmiBPNUs7i8UQw2N89uAK3UzrGAWdnFfU=",
|
||||||
|
"owner": "ipetkov",
|
||||||
|
"repo": "crane",
|
||||||
|
"rev": "55e7754ec31dac78980c8be45f8a28e80e370946",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "ipetkov",
|
||||||
|
"repo": "crane",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"flake-compat": {
|
"flake-compat": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
@ -50,6 +71,22 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-compat_2": {
|
"flake-compat_2": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1696426674,
|
||||||
|
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-compat_3": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1673956053,
|
"lastModified": 1673956053,
|
||||||
|
@ -65,9 +102,48 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"flake-parts": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs-lib": [
|
||||||
|
"lanzaboote",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1717285511,
|
||||||
|
"narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=",
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"flake-utils": {
|
"flake-utils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems_2"
|
"systems": "systems"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1710146030,
|
||||||
|
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-utils_2": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1681202837,
|
"lastModified": 1681202837,
|
||||||
|
@ -83,6 +159,28 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"gitignore": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"lanzaboote",
|
||||||
|
"pre-commit-hooks-nix",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1709087332,
|
||||||
|
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "gitignore.nix",
|
||||||
|
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "gitignore.nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"hardware": {
|
"hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1727665282,
|
"lastModified": 1727665282,
|
||||||
|
@ -120,10 +218,37 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"lanzaboote": {
|
||||||
|
"inputs": {
|
||||||
|
"crane": "crane",
|
||||||
|
"flake-compat": "flake-compat",
|
||||||
|
"flake-parts": "flake-parts",
|
||||||
|
"flake-utils": "flake-utils",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"pre-commit-hooks-nix": "pre-commit-hooks-nix",
|
||||||
|
"rust-overlay": "rust-overlay"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1718178907,
|
||||||
|
"narHash": "sha256-eSZyrQ9uoPB9iPQ8Y5H7gAmAgAvCw3InStmU3oEjqsE=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "lanzaboote",
|
||||||
|
"rev": "b627ccd97d0159214cee5c7db1412b75e4be6086",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"ref": "v0.4.1",
|
||||||
|
"repo": "lanzaboote",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"mailserver": {
|
"mailserver": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"blobs": "blobs",
|
"blobs": "blobs",
|
||||||
"flake-compat": "flake-compat",
|
"flake-compat": "flake-compat_2",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"nixpkgs-24_05": "nixpkgs-24_05",
|
"nixpkgs-24_05": "nixpkgs-24_05",
|
||||||
"utils": "utils"
|
"utils": "utils"
|
||||||
|
@ -145,8 +270,8 @@
|
||||||
},
|
},
|
||||||
"minecraft": {
|
"minecraft": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat_2",
|
"flake-compat": "flake-compat_3",
|
||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils_2",
|
||||||
"nixpkgs": "nixpkgs_3"
|
"nixpkgs": "nixpkgs_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
|
@ -192,6 +317,22 @@
|
||||||
"type": "indirect"
|
"type": "indirect"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs-stable": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1710695816,
|
||||||
|
"narHash": "sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "614b4613980a522ba49f0d194531beddbb7220d3",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-23.11",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1727348695,
|
"lastModified": 1727348695,
|
||||||
|
@ -270,11 +411,39 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"pre-commit-hooks-nix": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": [
|
||||||
|
"lanzaboote",
|
||||||
|
"flake-compat"
|
||||||
|
],
|
||||||
|
"gitignore": "gitignore",
|
||||||
|
"nixpkgs": [
|
||||||
|
"lanzaboote",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"nixpkgs-stable": "nixpkgs-stable"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1717664902,
|
||||||
|
"narHash": "sha256-7XfBuLULizXjXfBYy/VV+SpYMHreNRHk9nKMsm1bgb4=",
|
||||||
|
"owner": "cachix",
|
||||||
|
"repo": "pre-commit-hooks.nix",
|
||||||
|
"rev": "cc4d466cb1254af050ff7bdf47f6d404a7c646d1",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "cachix",
|
||||||
|
"repo": "pre-commit-hooks.nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"blender-bin": "blender-bin",
|
"blender-bin": "blender-bin",
|
||||||
"hardware": "hardware",
|
"hardware": "hardware",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
|
"lanzaboote": "lanzaboote",
|
||||||
"mailserver": "mailserver",
|
"mailserver": "mailserver",
|
||||||
"minecraft": "minecraft",
|
"minecraft": "minecraft",
|
||||||
"nixpkgs": "nixpkgs_4",
|
"nixpkgs": "nixpkgs_4",
|
||||||
|
@ -282,6 +451,31 @@
|
||||||
"nur": "nur"
|
"nur": "nur"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"rust-overlay": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": [
|
||||||
|
"lanzaboote",
|
||||||
|
"flake-utils"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"lanzaboote",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1717813066,
|
||||||
|
"narHash": "sha256-wqbRwq3i7g5EHIui0bIi84mdqZ/It1AXBSLJ5tafD28=",
|
||||||
|
"owner": "oxalica",
|
||||||
|
"repo": "rust-overlay",
|
||||||
|
"rev": "6dc3e45fe4aee36efeed24d64fc68b1f989d5465",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "oxalica",
|
||||||
|
"repo": "rust-overlay",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"systems": {
|
"systems": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1681028828,
|
"lastModified": 1681028828,
|
||||||
|
@ -312,9 +506,24 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"systems_3": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"utils": {
|
"utils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems"
|
"systems": "systems_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1709126324,
|
"lastModified": 1709126324,
|
||||||
|
|
46
flake.nix
46
flake.nix
|
@ -1,16 +1,20 @@
|
||||||
{
|
{
|
||||||
description = "Jimbo's systems as a flake";
|
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
# Nixpkgs
|
# Nixpkgs
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
|
||||||
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
nur.url = "github:nix-community/NUR";
|
nur.url = "github:nix-community/NUR";
|
||||||
mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-24.05";
|
mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-24.05";
|
||||||
blender-bin.url = "https://flakehub.com/f/edolstra/blender-bin/1.0.8.tar.gz";
|
blender-bin.url = "https://flakehub.com/f/edolstra/blender-bin/1.0.8.tar.gz";
|
||||||
minecraft.url = "github:Infinidoge/nix-minecraft";
|
minecraft.url = "github:Infinidoge/nix-minecraft";
|
||||||
hardware.url = "github:nixos/nixos-hardware/master";
|
hardware.url = "github:nixos/nixos-hardware/master";
|
||||||
|
|
||||||
|
# Secure boot
|
||||||
|
lanzaboote = {
|
||||||
|
url = "github:nix-community/lanzaboote/v0.4.1";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
# Home manager
|
# Home manager
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager/release-24.05";
|
url = "github:nix-community/home-manager/release-24.05";
|
||||||
|
@ -21,11 +25,12 @@
|
||||||
outputs = {
|
outputs = {
|
||||||
self,
|
self,
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
nixpkgs-unstable,
|
unstable,
|
||||||
nur,
|
nur,
|
||||||
mailserver,
|
mailserver,
|
||||||
blender-bin,
|
blender-bin,
|
||||||
hardware,
|
hardware,
|
||||||
|
lanzaboote,
|
||||||
home-manager,
|
home-manager,
|
||||||
...
|
...
|
||||||
} @inputs: let
|
} @inputs: let
|
||||||
|
@ -35,12 +40,16 @@
|
||||||
"x86_64-linux"
|
"x86_64-linux"
|
||||||
];
|
];
|
||||||
in rec {
|
in rec {
|
||||||
# Your custom packages
|
channels = {
|
||||||
# Accessible through 'nix build', 'nix shell', etc
|
master = import nixpkgs {
|
||||||
packages = forAllSystems (system: import ./extras/pkgs nixpkgs.legacyPackages.${system});
|
inherit (flake) system overlays;
|
||||||
|
config.allowUnfree = true;
|
||||||
|
};
|
||||||
|
unstable = import unstable { inherit (flake) system; };
|
||||||
|
nur = import nur { nurpkgs = import nixpkgs { inherit (flake) system; }; };
|
||||||
|
};
|
||||||
|
|
||||||
# Your custom packages and modifications, exported as overlays
|
packages = import ./packages/default.nix { inherit (nix) pkgs; };
|
||||||
overlays = import ./extras/overlays.nix {inherit inputs;};
|
|
||||||
|
|
||||||
# Variables defined so they can be accessed globally
|
# Variables defined so they can be accessed globally
|
||||||
secrets = import ./extras/secrets.nix;
|
secrets = import ./extras/secrets.nix;
|
||||||
|
@ -55,27 +64,28 @@
|
||||||
JimDesktop = nixpkgs.lib.nixosSystem {
|
JimDesktop = nixpkgs.lib.nixosSystem {
|
||||||
specialArgs = {inherit inputs outputs;};
|
specialArgs = {inherit inputs outputs;};
|
||||||
modules = [
|
modules = [
|
||||||
./hosts/JimDesktop/configuration.nix
|
./system/hosts/JimDesktop/configuration.nix
|
||||||
|
lanzaboote.nixosModules.lanzaboote
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
JimServer = nixpkgs.lib.nixosSystem {
|
JimServer = nixpkgs.lib.nixosSystem {
|
||||||
specialArgs = {inherit inputs outputs;};
|
specialArgs = {inherit inputs outputs;};
|
||||||
modules = [
|
modules = [
|
||||||
./JimServer/configuration.nix
|
./system/hosts/JimServer/configuration.nix
|
||||||
mailserver.nixosModule
|
mailserver.nixosModule
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
JimPine = nixpkgs.lib.nixosSystem {
|
JimPine = nixpkgs.lib.nixosSystem {
|
||||||
specialArgs = {inherit inputs outputs;};
|
specialArgs = {inherit inputs outputs;};
|
||||||
modules = [
|
modules = [
|
||||||
./hosts/JimPine/configuration.nix
|
./system/hosts/JimPine/configuration.nix
|
||||||
hardware.nixosModules.pine64-pinebook-pro
|
hardware.nixosModules.pine64-pinebook-pro
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
JimLenovo = nixpkgs.lib.nixosSystem {
|
JimLenovo = nixpkgs.lib.nixosSystem {
|
||||||
specialArgs = {inherit inputs outputs;};
|
specialArgs = {inherit inputs outputs;};
|
||||||
modules = [
|
modules = [
|
||||||
./hosts/JimLenovo/configuration.nix
|
./system/hosts/JimLenovo/configuration.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -86,7 +96,7 @@
|
||||||
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
||||||
extraSpecialArgs = {inherit inputs outputs;};
|
extraSpecialArgs = {inherit inputs outputs;};
|
||||||
modules = [
|
modules = [
|
||||||
./hosts/JimDesktop/home.nix
|
./home/hosts/JimDesktop/home.nix
|
||||||
nur.nixosModules.nur
|
nur.nixosModules.nur
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
@ -94,14 +104,14 @@
|
||||||
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
||||||
extraSpecialArgs = {inherit inputs outputs;};
|
extraSpecialArgs = {inherit inputs outputs;};
|
||||||
modules = [
|
modules = [
|
||||||
./hosts/JimServer/home.nix
|
./home/hosts/JimServer/home.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
"jimbo@JimPine" = home-manager.lib.homeManagerConfiguration {
|
"jimbo@JimPine" = home-manager.lib.homeManagerConfiguration {
|
||||||
pkgs = nixpkgs.legacyPackages.aarch64-linux;
|
pkgs = nixpkgs.legacyPackages.aarch64-linux;
|
||||||
extraSpecialArgs = {inherit inputs outputs;};
|
extraSpecialArgs = {inherit inputs outputs;};
|
||||||
modules = [
|
modules = [
|
||||||
./hosts/JimPine/home.nix
|
./home/hosts/JimPine/home.nix
|
||||||
nur.nixosModules.nur
|
nur.nixosModules.nur
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
@ -109,7 +119,7 @@
|
||||||
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
||||||
extraSpecialArgs = {inherit inputs outputs;};
|
extraSpecialArgs = {inherit inputs outputs;};
|
||||||
modules = [
|
modules = [
|
||||||
./hosts/JimLenovo/home.nix
|
./home/hosts/JimLenovo/home.nix
|
||||||
nur.nixosModules.nur
|
nur.nixosModules.nur
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
@ -118,7 +128,7 @@
|
||||||
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
||||||
extraSpecialArgs = {inherit inputs outputs;};
|
extraSpecialArgs = {inherit inputs outputs;};
|
||||||
modules = [
|
modules = [
|
||||||
./hosts/JimTerminal/home.nix
|
./home/hosts/JimTerminal/home.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
{ ... }: {
|
|
||||||
imports = [
|
|
||||||
./files
|
|
||||||
./settings
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,8 +0,0 @@
|
||||||
{ ... }: {
|
|
||||||
nixpkgs.overlays = [
|
|
||||||
outputs.overlays.additions
|
|
||||||
outputs.overlays.selfsuper
|
|
||||||
outputs.overlays.finalprev
|
|
||||||
inputs.blender-bin.overlays.default
|
|
||||||
];
|
|
||||||
}
|
|
10
home/pc.nix
10
home/pc.nix
|
@ -1,10 +0,0 @@
|
||||||
{ ... }: {
|
|
||||||
imports = [
|
|
||||||
./default.nix
|
|
||||||
./modules
|
|
||||||
./profiles
|
|
||||||
./programs
|
|
||||||
./sway
|
|
||||||
./utils
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,16 +0,0 @@
|
||||||
{pkgs, lib, config, ...}: {
|
|
||||||
options = {
|
|
||||||
gaming.emulators.enable = lib.mkEnableOption "Enable console emulators";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf config.gaming.emulators.enable; {
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
dolphin-emu
|
|
||||||
cemu
|
|
||||||
ryujinx
|
|
||||||
duckstation
|
|
||||||
pcsx2
|
|
||||||
unstable.lime3ds
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,14 +0,0 @@
|
||||||
{pkgs, lib, config, ...}: {
|
|
||||||
options = {
|
|
||||||
gaming.general.enable = lib.mkEnableOption "Enable PC gaming apps";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf config.gaming.general.enable; {
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
steam
|
|
||||||
steam-run
|
|
||||||
heroic
|
|
||||||
prismlauncher
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,12 +0,0 @@
|
||||||
{pkgs, lib, config, ...}: {
|
|
||||||
options = {
|
|
||||||
gaming.xash3d.enable = lib.mkEnableOption "Enable Xash3d for Half-Life";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf config.gaming.xash3d.enable; {
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
xash3d
|
|
||||||
hlsdk
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,19 +0,0 @@
|
||||||
{ pkgs, lib, config, ... }: {
|
|
||||||
options = {
|
|
||||||
misc.avtools.enable = lib.mkEnableOption "Enable audio video tools";
|
|
||||||
};
|
|
||||||
|
|
||||||
imports = mkIf config.misc.avtools.enable [
|
|
||||||
./obs
|
|
||||||
];
|
|
||||||
|
|
||||||
config = mkIf config.misc.avtools.enable; {
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
yt-dlp
|
|
||||||
spotdl
|
|
||||||
playerctl
|
|
||||||
ffmpeg
|
|
||||||
pulsemixer
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,12 +0,0 @@
|
||||||
{ pkgs, lib, config, ... }: {
|
|
||||||
options = {
|
|
||||||
misc.chat.enable = lib.mkEnableOption "Enable chat clients";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf config.misc.chat.enable; {
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
vesktop
|
|
||||||
fractal
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,17 +0,0 @@
|
||||||
{ pkgs, lib, config, ... }: {
|
|
||||||
options = {
|
|
||||||
misc.general.enable = lib.mkEnableOption "Enable general use apps";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf config.misc.general.enable; {
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
imv
|
|
||||||
qbittorrent
|
|
||||||
libreoffice-fresh
|
|
||||||
ffmpegthumbnailer
|
|
||||||
thunderbird
|
|
||||||
protonvpn-cli_2
|
|
||||||
bc
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,19 +0,0 @@
|
||||||
{ pkgs, lib, config, ... }: {
|
|
||||||
options = {
|
|
||||||
misc.headless.enable = lib.mkEnableOption "Enable apps that can be used headlessly";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf config.misc.headless.enable; {
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
home-manager
|
|
||||||
gotop
|
|
||||||
tcptrack
|
|
||||||
p7zip
|
|
||||||
vimv
|
|
||||||
dua
|
|
||||||
pciutils
|
|
||||||
usbutils
|
|
||||||
protonvpn-cli_2
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,15 +0,0 @@
|
||||||
{ pkgs, lib, config, ... }: {
|
|
||||||
options = {
|
|
||||||
production.enable = lib.mkEnableOption "Enable apps used for production";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf config.misc.production.enable; {
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
krita
|
|
||||||
inkscape
|
|
||||||
audacity
|
|
||||||
blender_4_2
|
|
||||||
sunvox
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,12 +0,0 @@
|
||||||
{ pkgs, lib, config, ... }: {
|
|
||||||
options = {
|
|
||||||
remote-desktop.enable = lib.mkEnableOption "Enable remote desktop related apps";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf misc.remote-desktop.nvidia.enable; {
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
moonlight-qt
|
|
||||||
rustdesk-flutter
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,14 +0,0 @@
|
||||||
{ pkgs, lib, config, ... }: {
|
|
||||||
options = {
|
|
||||||
school.enable = lib.mkEnableOption "Enable apps needed for school";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf config.misc.school.enable; {
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
remmina
|
|
||||||
freerdp
|
|
||||||
globalprotect-openconnect
|
|
||||||
zoom-us
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,11 +0,0 @@
|
||||||
{ ... }: {
|
|
||||||
imports = [
|
|
||||||
./default.nix
|
|
||||||
./utils/zsh
|
|
||||||
./utils/git
|
|
||||||
./programs/fastfetch
|
|
||||||
./programs/neovim
|
|
||||||
./programs/ranger
|
|
||||||
./programs/tmux
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,23 +0,0 @@
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
# Base configs
|
|
||||||
./../../system
|
|
||||||
./../../system/pc.nix
|
|
||||||
|
|
||||||
# Hardware
|
|
||||||
./hardware-configuration.nix
|
|
||||||
./../../system/modules/boot/systemd
|
|
||||||
];
|
|
||||||
|
|
||||||
# Enable Nvidia drivers
|
|
||||||
drivers.nvidia.enable = true;
|
|
||||||
|
|
||||||
# Set hostname
|
|
||||||
networking.hostName = "JimDesktop";
|
|
||||||
|
|
||||||
# Force Electron to use Wayland
|
|
||||||
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
|
||||||
|
|
||||||
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
|
||||||
system.stateVersion = "24.05";
|
|
||||||
}
|
|
|
@ -1,26 +0,0 @@
|
||||||
{config, ...}: {
|
|
||||||
imports = [
|
|
||||||
# Common modules
|
|
||||||
./../../home
|
|
||||||
./../../home/pc.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
# Useful
|
|
||||||
general.enable = true;
|
|
||||||
chat.enable = true;
|
|
||||||
avtools.enable = true;
|
|
||||||
production.enable = true;
|
|
||||||
obs.enable = true;
|
|
||||||
remotedesktop.enable = false;
|
|
||||||
school.enable = true;
|
|
||||||
|
|
||||||
# Gaming
|
|
||||||
pcgaming.enable = true;
|
|
||||||
emulators.enable = false;
|
|
||||||
xash3d.enable = true;
|
|
||||||
|
|
||||||
# Symlinks
|
|
||||||
home.file = {
|
|
||||||
"VMs".source = config.lib.file.mkOutOfStoreSymlink "/etc/libvirt/VMs";
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,45 +0,0 @@
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
# Base configs
|
|
||||||
./../../base.nix
|
|
||||||
|
|
||||||
# Import users and groups
|
|
||||||
./../../users/jimbo.nix
|
|
||||||
./../../users/groups.nix
|
|
||||||
|
|
||||||
# Desktop
|
|
||||||
./../../desktop/misc.nix
|
|
||||||
./../../desktop/sway.nix
|
|
||||||
./../../desktop/greetd-sway.nix
|
|
||||||
./../../desktop/printing.nix
|
|
||||||
./../../desktop/gaming.nix
|
|
||||||
./../../desktop/pipewire.nix
|
|
||||||
./../../desktop/bluetooth.nix
|
|
||||||
./../../desktop/firewall.nix
|
|
||||||
./../../desktop/fonts.nix
|
|
||||||
./../../desktop/qt.nix
|
|
||||||
|
|
||||||
# Laptop/Portable only
|
|
||||||
./../../modules/wireless.nix
|
|
||||||
|
|
||||||
# Modules
|
|
||||||
./../../modules/security.nix
|
|
||||||
|
|
||||||
# Hardware
|
|
||||||
./hardware-configuration.nix
|
|
||||||
./../../modules/systemdboot.nix
|
|
||||||
./../../modules/opengl.nix
|
|
||||||
|
|
||||||
# Services
|
|
||||||
./../../services/openssh.nix
|
|
||||||
./../../services/gnome-keyring.nix
|
|
||||||
./../../services/udev.nix
|
|
||||||
./../../services/mpd.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
# Set hostname
|
|
||||||
networking.hostName = "JimLenovo";
|
|
||||||
|
|
||||||
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
|
||||||
system.stateVersion = "24.05";
|
|
||||||
}
|
|
|
@ -1,47 +0,0 @@
|
||||||
{ config, lib, pkgs, modulesPath, ... }: {
|
|
||||||
imports = [
|
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
|
||||||
];
|
|
||||||
|
|
||||||
# Set all boot options
|
|
||||||
boot = {
|
|
||||||
# Set a kernel version and load/blacklist drivers
|
|
||||||
kernelPackages = pkgs.linuxPackages_zen;
|
|
||||||
blacklistedKernelModules = [
|
|
||||||
"pcspkr"
|
|
||||||
];
|
|
||||||
kernel.sysctl."vm.max_map_count" = 2147483642;
|
|
||||||
initrd = {
|
|
||||||
availableKernelModules = [
|
|
||||||
"nvme"
|
|
||||||
"xhci_pci"
|
|
||||||
"usbhid"
|
|
||||||
"usb_storage"
|
|
||||||
"sd_mod"
|
|
||||||
"sdhci_pci"
|
|
||||||
];
|
|
||||||
kernelModules = [
|
|
||||||
"kvm-amd"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Mount everything as necessary
|
|
||||||
fileSystems = {
|
|
||||||
"/" = {
|
|
||||||
device = "/dev/disk/by-uuid/c0fe8419-88f9-48a0-8c5b-acd4c11f8037";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
"/boot" = {
|
|
||||||
device = "/dev/disk/by-uuid/BF2B-9AE0";
|
|
||||||
fsType = "vfat";
|
|
||||||
options = [ "fmask=0022" "dmask=0022" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface.
|
|
||||||
networking.useDHCP = lib.mkDefault true;
|
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
|
||||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
|
||||||
}
|
|
|
@ -1,17 +0,0 @@
|
||||||
{config, ...}: {
|
|
||||||
imports = [
|
|
||||||
# Common modules
|
|
||||||
./../../home/base.nix
|
|
||||||
./../../home/pc.nix
|
|
||||||
./../../home/users/jimbo.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
# Useful
|
|
||||||
general.enable = true;
|
|
||||||
chat.enable = true;
|
|
||||||
avtools.enable = true;
|
|
||||||
remotedesktop.enable = true;
|
|
||||||
|
|
||||||
# Gaming
|
|
||||||
pcgaming.enable = true;
|
|
||||||
}
|
|
|
@ -1,49 +0,0 @@
|
||||||
{lib, outputs, ...}: {
|
|
||||||
imports = [
|
|
||||||
# Base configs
|
|
||||||
./../../base.nix
|
|
||||||
|
|
||||||
# Import users and groups
|
|
||||||
./../../users/jimbo.nix
|
|
||||||
./../../users/groups.nix
|
|
||||||
|
|
||||||
# Desktop
|
|
||||||
./../../desktop/misc.nix
|
|
||||||
./../../desktop/sway.nix
|
|
||||||
./../../desktop/greetd-sway.nix
|
|
||||||
./../../desktop/printing.nix
|
|
||||||
./../../desktop/pipewire.nix
|
|
||||||
./../../desktop/bluetooth.nix
|
|
||||||
./../../desktop/firewall.nix
|
|
||||||
./../../desktop/fonts.nix
|
|
||||||
./../../desktop/qt.nix
|
|
||||||
./../../desktop/wireguard.nix
|
|
||||||
|
|
||||||
# Modules
|
|
||||||
./../../modules/security.nix
|
|
||||||
|
|
||||||
# Hardware
|
|
||||||
./hardware-configuration.nix
|
|
||||||
./../../modules/extlinux.nix
|
|
||||||
./../../modules/opengl.nix
|
|
||||||
./../../modules/filesystems.nix
|
|
||||||
./../../modules/wireless.nix
|
|
||||||
|
|
||||||
# Services
|
|
||||||
./../../services/openssh.nix
|
|
||||||
./../../services/gnome-keyring.nix
|
|
||||||
./../../services/mpd.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
# Set hostname
|
|
||||||
networking.hostName = "JimPine";
|
|
||||||
|
|
||||||
# Disable 32 bit graphics
|
|
||||||
hardware.opengl.driSupport32Bit = lib.mkForce false;
|
|
||||||
|
|
||||||
# Set the VPN IP per machine
|
|
||||||
networking.wireguard.interfaces."${outputs.ips.wgInt}".ips = [ "${outputs.ips.wgSpan}.17/32" ];
|
|
||||||
|
|
||||||
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
|
||||||
system.stateVersion = "24.05";
|
|
||||||
}
|
|
|
@ -1,21 +0,0 @@
|
||||||
{config, ...}: {
|
|
||||||
imports = [
|
|
||||||
# Common modules
|
|
||||||
./../../home/base.nix
|
|
||||||
./../../home/pc.nix
|
|
||||||
./../../home/users/jimbo.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
# Useful
|
|
||||||
general.enable = true;
|
|
||||||
chat.enable = true;
|
|
||||||
avtools.enable = true;
|
|
||||||
remotedesktop.enable = true;
|
|
||||||
|
|
||||||
# Needed to make the speaker work
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
alsa-utils
|
|
||||||
];
|
|
||||||
|
|
||||||
wayland.windowManager.sway.config.output.${outputs.displays.dI}.scale = "1.3";
|
|
||||||
}
|
|
|
@ -1,20 +0,0 @@
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
# Base configs
|
|
||||||
./../../system
|
|
||||||
./../../system/profiles/server
|
|
||||||
|
|
||||||
# Hardware
|
|
||||||
./hardware-configuration.nix
|
|
||||||
./../../system/modules/boot/systemd
|
|
||||||
];
|
|
||||||
|
|
||||||
# Set custom openssh port
|
|
||||||
services.openssh.ports = [ 2222 ];
|
|
||||||
|
|
||||||
# Set hostname
|
|
||||||
networking.hostName = "JimServer";
|
|
||||||
|
|
||||||
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
|
||||||
system.stateVersion = "24.05";
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./../../home
|
|
||||||
./../../home/server.nix
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,14 +0,0 @@
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
# Common modules
|
|
||||||
./../../base.nix
|
|
||||||
./../../users/jimbo.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
# Rebuild this entire system
|
|
||||||
programs.zsh = {
|
|
||||||
shellAliases = {
|
|
||||||
termswitch = "home-manager switch --flake ~/.home-manager/.#jimbo@JimTerminal --extra-experimental-features 'nix-command flakes'";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,9 +1,9 @@
|
||||||
{ ... }: {
|
{ ... }:
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./users
|
./users
|
||||||
];
|
];
|
||||||
|
|
||||||
# Allow unfree
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
After Width: | Height: | Size: 86 KiB |
After Width: | Height: | Size: 2 MiB |
After Width: | Height: | Size: 2.3 MiB |
After Width: | Height: | Size: 1.9 MiB |
After Width: | Height: | Size: 314 KiB |
8
modules/home/programs/default.nix
Normal file
8
modules/home/programs/default.nix
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./gui
|
||||||
|
./terminal
|
||||||
|
./misc
|
||||||
|
];
|
||||||
|
}
|
|
@ -1,20 +1,13 @@
|
||||||
{ ... }: {
|
{ ... }:
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./easyeffects
|
./easyeffects
|
||||||
./fastfetch
|
|
||||||
./foot
|
./foot
|
||||||
./gaming
|
|
||||||
./git
|
|
||||||
./librewolf
|
./librewolf
|
||||||
./mako
|
./mako
|
||||||
./mangohud
|
./mangohud
|
||||||
./misc
|
|
||||||
./mpv
|
./mpv
|
||||||
./ncmpcpp
|
|
||||||
./neovim
|
|
||||||
./pcmanfm-qt
|
./pcmanfm-qt
|
||||||
./ranger
|
|
||||||
./rofi
|
./rofi
|
||||||
./tmux
|
|
||||||
];
|
];
|
||||||
}
|
}
|
|
@ -1,4 +1,5 @@
|
||||||
{pkgs, ...}: {
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
home = {
|
home = {
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
easyeffects
|
easyeffects
|
|
@ -1,5 +1,5 @@
|
||||||
{outputs, ...}: {
|
{ outputs, ... }:
|
||||||
# Enable a terminal emulator
|
{
|
||||||
programs.foot = {
|
programs.foot = {
|
||||||
enable = true;
|
enable = true;
|
||||||
server.enable = false;
|
server.enable = false;
|
|
@ -1,4 +1,5 @@
|
||||||
{pkgs, config, outputs, ...}: let
|
{ pkgs, config, outputs, ... }:
|
||||||
|
let
|
||||||
# FireFox colors
|
# FireFox colors
|
||||||
themeJim = ''
|
themeJim = ''
|
||||||
:root {
|
:root {
|
|
@ -1,4 +1,5 @@
|
||||||
{pkgs, outputs, ...}: {
|
{ pkgs, outputs, ... }:
|
||||||
|
{
|
||||||
services.mako = {
|
services.mako = {
|
||||||
enable = true;
|
enable = true;
|
||||||
borderColor = "#${outputs.look.colors.accent}";
|
borderColor = "#${outputs.look.colors.accent}";
|
|
@ -1,10 +1,10 @@
|
||||||
{pkgs, ...}: {
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
home = {
|
home = {
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
mangohud
|
mangohud
|
||||||
];
|
];
|
||||||
file = {
|
file = {
|
||||||
# Mangohud config
|
|
||||||
".config/MangoHud/MangoHud.conf".text = ''
|
".config/MangoHud/MangoHud.conf".text = ''
|
||||||
table_columns=2
|
table_columns=2
|
||||||
frametime=0
|
frametime=0
|
|
@ -1,3 +1,4 @@
|
||||||
|
{ ... }:
|
||||||
{
|
{
|
||||||
programs.mpv = {
|
programs.mpv = {
|
||||||
enable = true;
|
enable = true;
|
|
@ -1,4 +1,5 @@
|
||||||
{ pkgs, ... }: {
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
home = {
|
home = {
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
pcmanfm-qt
|
pcmanfm-qt
|
|
@ -1,4 +1,5 @@
|
||||||
{ pkgs, config, outputs, ... }: {
|
{ pkgs, config, outputs, ... }:
|
||||||
|
{
|
||||||
programs.rofi = {
|
programs.rofi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.rofi-wayland;
|
package = pkgs.rofi-wayland;
|
14
modules/home/programs/misc/avtools/default.nix
Normal file
14
modules/home/programs/misc/avtools/default.nix
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
{ pkgs, lib, config, ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./obs
|
||||||
|
];
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
yt-dlp
|
||||||
|
spotdl
|
||||||
|
playerctl
|
||||||
|
ffmpeg
|
||||||
|
pulsemixer
|
||||||
|
];
|
||||||
|
}
|
|
@ -1,4 +1,5 @@
|
||||||
{pkgs, lib, config, ...}: {
|
{pkgs, lib, config, ...}:
|
||||||
|
{
|
||||||
programs.obs-studio = {
|
programs.obs-studio = {
|
||||||
enable = true;
|
enable = true;
|
||||||
plugins = with pkgs.obs-studio-plugins; [
|
plugins = with pkgs.obs-studio-plugins; [
|
7
modules/home/programs/misc/chat/default.nix
Normal file
7
modules/home/programs/misc/chat/default.nix
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{ pkgs, lib, config, ... }:
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
vesktop
|
||||||
|
fractal
|
||||||
|
];
|
||||||
|
}
|
|
@ -1,11 +1,12 @@
|
||||||
{ ... }: {
|
{ ... }:
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./avtools
|
./avtools
|
||||||
./chat
|
./chat
|
||||||
|
./gaming/launchers
|
||||||
./general
|
./general
|
||||||
./headless
|
./headless
|
||||||
./production
|
./production
|
||||||
./remote-desktop
|
./remote-desktop
|
||||||
./school
|
|
||||||
];
|
];
|
||||||
}
|
}
|
|
@ -1,6 +1,7 @@
|
||||||
|
{ ... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./general
|
./launchers
|
||||||
./emulators
|
./emulators
|
||||||
./xash3d
|
./xash3d
|
||||||
];
|
];
|
11
modules/home/programs/misc/gaming/emulators/default.nix
Normal file
11
modules/home/programs/misc/gaming/emulators/default.nix
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{ pkgs, lib, config, ... }:
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
dolphin-emu
|
||||||
|
cemu
|
||||||
|
ryujinx
|
||||||
|
duckstation
|
||||||
|
pcsx2
|
||||||
|
unstable.lime3ds
|
||||||
|
];
|
||||||
|
}
|
9
modules/home/programs/misc/gaming/launchers/default.nix
Normal file
9
modules/home/programs/misc/gaming/launchers/default.nix
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
{ pkgs, lib, config, ... }:
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
steam
|
||||||
|
steam-run
|
||||||
|
heroic
|
||||||
|
prismlauncher
|
||||||
|
];
|
||||||
|
}
|
6
modules/home/programs/misc/gaming/xash3d/default.nix
Normal file
6
modules/home/programs/misc/gaming/xash3d/default.nix
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{ pkgs, lib, config, ... }:
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
xash3d
|
||||||
|
];
|
||||||
|
}
|
12
modules/home/programs/misc/general/default.nix
Normal file
12
modules/home/programs/misc/general/default.nix
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{ pkgs, lib, config, ... }:
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
imv
|
||||||
|
qbittorrent
|
||||||
|
libreoffice-fresh
|
||||||
|
ffmpegthumbnailer
|
||||||
|
thunderbird
|
||||||
|
protonvpn-cli_2
|
||||||
|
bc
|
||||||
|
];
|
||||||
|
}
|
14
modules/home/programs/misc/headless/default.nix
Normal file
14
modules/home/programs/misc/headless/default.nix
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
{ pkgs, lib, config, ... }:
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
home-manager
|
||||||
|
gotop
|
||||||
|
tcptrack
|
||||||
|
p7zip
|
||||||
|
vimv
|
||||||
|
dua
|
||||||
|
pciutils
|
||||||
|
usbutils
|
||||||
|
protonvpn-cli_2
|
||||||
|
];
|
||||||
|
}
|
10
modules/home/programs/misc/production/default.nix
Normal file
10
modules/home/programs/misc/production/default.nix
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
{ pkgs, lib, config, ... }:
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
krita
|
||||||
|
inkscape
|
||||||
|
audacity
|
||||||
|
blender_4_2
|
||||||
|
sunvox
|
||||||
|
];
|
||||||
|
}
|
7
modules/home/programs/misc/remote-desktop/default.nix
Normal file
7
modules/home/programs/misc/remote-desktop/default.nix
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{ pkgs, lib, config, ... }:
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
moonlight-qt
|
||||||
|
rustdesk-flutter
|
||||||
|
];
|
||||||
|
}
|
9
modules/home/programs/misc/school/default.nix
Normal file
9
modules/home/programs/misc/school/default.nix
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
{ pkgs, lib, config, ... }:
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
remmina
|
||||||
|
freerdp
|
||||||
|
zoom-us
|
||||||
|
globalprotect-openconnect
|
||||||
|
];
|
||||||
|
}
|
11
modules/home/programs/terminal/default.nix
Normal file
11
modules/home/programs/terminal/default.nix
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./fastfetch
|
||||||
|
./git
|
||||||
|
./ncmpcpp
|
||||||
|
./neovim
|
||||||
|
./ranger
|
||||||
|
./tmux
|
||||||
|
];
|
||||||
|
}
|
|
@ -1,4 +1,5 @@
|
||||||
{ pkgs, ... }: {
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
home = {
|
home = {
|
||||||
file = let
|
file = let
|
||||||
fastConf = ''
|
fastConf = ''
|
|
@ -1,4 +1,5 @@
|
||||||
{ pkgs, outputs, ... }: {
|
{ pkgs, outputs, ... }:
|
||||||
|
{
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
lfs.enable = true;
|
lfs.enable = true;
|
|
@ -1,4 +1,5 @@
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}:
|
||||||
|
{
|
||||||
programs.ncmpcpp = {
|
programs.ncmpcpp = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
|
@ -1,4 +1,5 @@
|
||||||
{ pkgs, outputs, ... }: {
|
{ pkgs, outputs, ... }:
|
||||||
|
{
|
||||||
programs.neovim = {
|
programs.neovim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
defaultEditor = true;
|
defaultEditor = true;
|
|
@ -1,5 +1,5 @@
|
||||||
{ pkgs, ... }: {
|
{ pkgs, ... }:
|
||||||
# Enable Ranger
|
{
|
||||||
programs.ranger = {
|
programs.ranger = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
|
@ -1,5 +1,5 @@
|
||||||
{ ... }: {
|
{ ... }:
|
||||||
# Enable tmux
|
{
|
||||||
programs.tmux = {
|
programs.tmux = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraConfig = ''
|
extraConfig = ''
|
|
@ -1,4 +1,5 @@
|
||||||
{ ... }: {
|
{ ... }:
|
||||||
|
{
|
||||||
dconf.settings = {
|
dconf.settings = {
|
||||||
"org/gnome/desktop/interface/color-scheme" = {
|
"org/gnome/desktop/interface/color-scheme" = {
|
||||||
color-scheme = "prefer-dark";
|
color-scheme = "prefer-dark";
|
|
@ -1,3 +1,4 @@
|
||||||
|
{ ... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./dconf
|
./dconf
|
|
@ -1,4 +1,5 @@
|
||||||
{ pkgs, outputs, ... }: {
|
{ pkgs, outputs, ... }:
|
||||||
|
{
|
||||||
gtk = {
|
gtk = {
|
||||||
enable = true;
|
enable = true;
|
||||||
font = {
|
font = {
|
|
@ -1,4 +1,5 @@
|
||||||
{ ... }: {
|
{ ... }:
|
||||||
|
{
|
||||||
xdg.mimeApps.defaultApplications = {
|
xdg.mimeApps.defaultApplications = {
|
||||||
"inode/directory" = ["pcmanfm-qt.desktop"];
|
"inode/directory" = ["pcmanfm-qt.desktop"];
|
||||||
"text/plain" = ["nvim.desktop"];
|
"text/plain" = ["nvim.desktop"];
|
|
@ -1,4 +1,5 @@
|
||||||
{ pkgs, ... }: {
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
wayland.windowManager.sway = {
|
wayland.windowManager.sway = {
|
||||||
config = {
|
config = {
|
||||||
bars = [{command = "waybar";}];
|
bars = [{command = "waybar";}];
|
|
@ -1,4 +1,5 @@
|
||||||
{ config, pkgs, outputs, ... }: {
|
{ config, pkgs, outputs, ... }:
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./hardware
|
./hardware
|
||||||
./theme
|
./theme
|
|
@ -1,4 +1,5 @@
|
||||||
{ pkgs, outputs, ... }: {
|
{ pkgs, outputs, ... }:
|
||||||
|
{
|
||||||
wayland.windowManager.sway = {
|
wayland.windowManager.sway = {
|
||||||
config = {
|
config = {
|
||||||
# Define monitors
|
# Define monitors
|
|
@ -1,4 +1,5 @@
|
||||||
{ pkgs, outputs, ... }: {
|
{ pkgs, outputs, ... }:
|
||||||
|
{
|
||||||
wayland.windowManager.sway = {
|
wayland.windowManager.sway = {
|
||||||
config = let
|
config = let
|
||||||
# Set default modifier and variables
|
# Set default modifier and variables
|
14
modules/home/sway/programs/default.nix
Normal file
14
modules/home/sway/programs/default.nix
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
wl-clipboard
|
||||||
|
wdisplays
|
||||||
|
clipman
|
||||||
|
libnotify
|
||||||
|
grim
|
||||||
|
slurp
|
||||||
|
swappy
|
||||||
|
jq
|
||||||
|
lm_sensors
|
||||||
|
];
|
||||||
|
}
|
|
@ -1,4 +1,5 @@
|
||||||
{ pkgs, outputs, ... }: {
|
{ pkgs, outputs, ... }:
|
||||||
|
{
|
||||||
wayland.windowManager.sway = {
|
wayland.windowManager.sway = {
|
||||||
config = {
|
config = {
|
||||||
# Assign workspaces to outputs
|
# Assign workspaces to outputs
|
|
@ -1,5 +1,5 @@
|
||||||
{ pkgs, ... }: {
|
{ pkgs, ... }:
|
||||||
# Enable Sway and write some scripts
|
{
|
||||||
wayland.windowManager.sway = {
|
wayland.windowManager.sway = {
|
||||||
package = pkgs.unstable.sway;
|
package = pkgs.unstable.sway;
|
||||||
extraConfig = ''
|
extraConfig = ''
|
|
@ -1,4 +1,5 @@
|
||||||
{ pkgs, outputs, ... }: let
|
{ pkgs, outputs, ... }:
|
||||||
|
let
|
||||||
swayLock = pkgs.writeScriptBin "swaylock" ''
|
swayLock = pkgs.writeScriptBin "swaylock" ''
|
||||||
# Set the lock script
|
# Set the lock script
|
||||||
lockscript() {
|
lockscript() {
|
|
@ -1,4 +1,5 @@
|
||||||
{ pkgs, outputs, ... }: {
|
{ pkgs, outputs, ... }:
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./swappy
|
./swappy
|
||||||
];
|
];
|
|
@ -1,4 +1,5 @@
|
||||||
{ pkgs, ... }: {
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
home = {
|
home = {
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
swappy
|
swappy
|
|
@ -1,4 +1,5 @@
|
||||||
{ config, pkgs, outputs, ... }: {
|
{ config, pkgs, outputs, ... }:
|
||||||
|
{
|
||||||
wayland.windowManager.sway = {
|
wayland.windowManager.sway = {
|
||||||
enable = true;
|
enable = true;
|
||||||
wrapperFeatures.gtk = true;
|
wrapperFeatures.gtk = true;
|
|
@ -1,4 +1,5 @@
|
||||||
{ pkgs, outputs, ... }: {
|
{ pkgs, outputs, ... }:
|
||||||
|
{
|
||||||
programs.waybar = let
|
programs.waybar = let
|
||||||
swayWorkspacesModule = {
|
swayWorkspacesModule = {
|
||||||
format = "{name}";
|
format = "{name}";
|
|
@ -1,4 +1,5 @@
|
||||||
{ ... }: {
|
{ ... }:
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./jimbo
|
./jimbo
|
||||||
];
|
];
|
|
@ -1,4 +1,5 @@
|
||||||
{ ... }: {
|
{ ... }:
|
||||||
|
{
|
||||||
home = {
|
home = {
|
||||||
username = "jimbo";
|
username = "jimbo";
|
||||||
homeDirectory = "/home/jimbo";
|
homeDirectory = "/home/jimbo";
|
|
@ -1,4 +1,5 @@
|
||||||
{ ... }: {
|
{ ... }:
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./gnome-keyring
|
./gnome-keyring
|
||||||
./udiskie
|
./udiskie
|
|
@ -1,3 +1,4 @@
|
||||||
{ ... }: {
|
{ ... }:
|
||||||
|
{
|
||||||
services.gnome-keyring.enable = true;
|
services.gnome-keyring.enable = true;
|
||||||
}
|
}
|
|
@ -1,4 +1,5 @@
|
||||||
{ ... }: {
|
{ ... }:
|
||||||
|
{
|
||||||
services.udiskie = {
|
services.udiskie = {
|
||||||
enable = true;
|
enable = true;
|
||||||
automount = false;
|
automount = false;
|
|
@ -1,4 +1,5 @@
|
||||||
{ pkgs, config, outputs, ... }: {
|
{ pkgs, config, outputs, ... }:
|
||||||
|
{
|
||||||
programs.zsh = {
|
programs.zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
autosuggestion.enable = true;
|
autosuggestion.enable = true;
|
|
@ -1,4 +1,5 @@
|
||||||
{ ... }: {
|
{ ... }:
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./nfsShare
|
./nfsShare
|
||||||
];
|
];
|
|
@ -1,3 +1,4 @@
|
||||||
{ ... }: {
|
{ ... }:
|
||||||
|
{
|
||||||
users.groups.nfsShare = {};
|
users.groups.nfsShare = {};
|
||||||
}
|
}
|
|
@ -1,4 +1,5 @@
|
||||||
{ ... }: {
|
{ ... }:
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./jimbo
|
./jimbo
|
||||||
./liquidsoap
|
./liquidsoap
|
|
@ -1,4 +1,5 @@
|
||||||
{ pkgs, outputs, ... }: {
|
{ pkgs, outputs, ... }:
|
||||||
|
{
|
||||||
users.users = {
|
users.users = {
|
||||||
jimbo = {
|
jimbo = {
|
||||||
description = "Jimbo";
|
description = "Jimbo";
|
|
@ -1,5 +1,5 @@
|
||||||
|
{ ... }:
|
||||||
{
|
{
|
||||||
# Add service users to extra groups
|
|
||||||
users.users = {
|
users.users = {
|
||||||
nextcloud = {
|
nextcloud = {
|
||||||
extraGroups = [ "nginx" ];
|
extraGroups = [ "nginx" ];
|
|
@ -1,5 +1,4 @@
|
||||||
{
|
{ ... }: {
|
||||||
# Add service users to extra groups
|
|
||||||
users.users = {
|
users.users = {
|
||||||
nextcloud = {
|
nextcloud = {
|
||||||
extraGroups = [ "nfsShare" ];
|
extraGroups = [ "nfsShare" ];
|
|
@ -1,5 +1,5 @@
|
||||||
|
{ ... }:
|
||||||
{
|
{
|
||||||
# Add service users to extra groups
|
|
||||||
users.users = {
|
users.users = {
|
||||||
nginx = {
|
nginx = {
|
||||||
extraGroups = [ "turnserver" "virtualMail" ];
|
extraGroups = [ "turnserver" "virtualMail" ];
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue