What a clusterfuck
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 = "";
|
||||
}
|
219
flake.lock
|
@ -33,6 +33,27 @@
|
|||
"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": false,
|
||||
"locked": {
|
||||
|
@ -50,6 +71,22 @@
|
|||
}
|
||||
},
|
||||
"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,
|
||||
"locked": {
|
||||
"lastModified": 1673956053,
|
||||
|
@ -65,9 +102,48 @@
|
|||
"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": {
|
||||
"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": {
|
||||
"lastModified": 1681202837,
|
||||
|
@ -83,6 +159,28 @@
|
|||
"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": {
|
||||
"locked": {
|
||||
"lastModified": 1727665282,
|
||||
|
@ -120,10 +218,37 @@
|
|||
"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": {
|
||||
"inputs": {
|
||||
"blobs": "blobs",
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-compat": "flake-compat_2",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nixpkgs-24_05": "nixpkgs-24_05",
|
||||
"utils": "utils"
|
||||
|
@ -145,8 +270,8 @@
|
|||
},
|
||||
"minecraft": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_2",
|
||||
"flake-utils": "flake-utils",
|
||||
"flake-compat": "flake-compat_3",
|
||||
"flake-utils": "flake-utils_2",
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
},
|
||||
"locked": {
|
||||
|
@ -192,6 +317,22 @@
|
|||
"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": {
|
||||
"locked": {
|
||||
"lastModified": 1727348695,
|
||||
|
@ -270,11 +411,39 @@
|
|||
"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": {
|
||||
"inputs": {
|
||||
"blender-bin": "blender-bin",
|
||||
"hardware": "hardware",
|
||||
"home-manager": "home-manager",
|
||||
"lanzaboote": "lanzaboote",
|
||||
"mailserver": "mailserver",
|
||||
"minecraft": "minecraft",
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
|
@ -282,6 +451,31 @@
|
|||
"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": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
|
@ -312,9 +506,24 @@
|
|||
"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": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709126324,
|
||||
|
|
46
flake.nix
|
@ -1,16 +1,20 @@
|
|||
{
|
||||
description = "Jimbo's systems as a flake";
|
||||
|
||||
inputs = {
|
||||
# Nixpkgs
|
||||
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";
|
||||
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";
|
||||
minecraft.url = "github:Infinidoge/nix-minecraft";
|
||||
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 = {
|
||||
url = "github:nix-community/home-manager/release-24.05";
|
||||
|
@ -21,11 +25,12 @@
|
|||
outputs = {
|
||||
self,
|
||||
nixpkgs,
|
||||
nixpkgs-unstable,
|
||||
unstable,
|
||||
nur,
|
||||
mailserver,
|
||||
blender-bin,
|
||||
hardware,
|
||||
lanzaboote,
|
||||
home-manager,
|
||||
...
|
||||
} @inputs: let
|
||||
|
@ -35,12 +40,16 @@
|
|||
"x86_64-linux"
|
||||
];
|
||||
in rec {
|
||||
# Your custom packages
|
||||
# Accessible through 'nix build', 'nix shell', etc
|
||||
packages = forAllSystems (system: import ./extras/pkgs nixpkgs.legacyPackages.${system});
|
||||
channels = {
|
||||
master = import nixpkgs {
|
||||
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
|
||||
overlays = import ./extras/overlays.nix {inherit inputs;};
|
||||
packages = import ./packages/default.nix { inherit (nix) pkgs; };
|
||||
|
||||
# Variables defined so they can be accessed globally
|
||||
secrets = import ./extras/secrets.nix;
|
||||
|
@ -55,27 +64,28 @@
|
|||
JimDesktop = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {inherit inputs outputs;};
|
||||
modules = [
|
||||
./hosts/JimDesktop/configuration.nix
|
||||
./system/hosts/JimDesktop/configuration.nix
|
||||
lanzaboote.nixosModules.lanzaboote
|
||||
];
|
||||
};
|
||||
JimServer = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {inherit inputs outputs;};
|
||||
modules = [
|
||||
./JimServer/configuration.nix
|
||||
./system/hosts/JimServer/configuration.nix
|
||||
mailserver.nixosModule
|
||||
];
|
||||
};
|
||||
JimPine = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {inherit inputs outputs;};
|
||||
modules = [
|
||||
./hosts/JimPine/configuration.nix
|
||||
./system/hosts/JimPine/configuration.nix
|
||||
hardware.nixosModules.pine64-pinebook-pro
|
||||
];
|
||||
};
|
||||
JimLenovo = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {inherit inputs outputs;};
|
||||
modules = [
|
||||
./hosts/JimLenovo/configuration.nix
|
||||
./system/hosts/JimLenovo/configuration.nix
|
||||
];
|
||||
};
|
||||
};
|
||||
|
@ -86,7 +96,7 @@
|
|||
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
||||
extraSpecialArgs = {inherit inputs outputs;};
|
||||
modules = [
|
||||
./hosts/JimDesktop/home.nix
|
||||
./home/hosts/JimDesktop/home.nix
|
||||
nur.nixosModules.nur
|
||||
];
|
||||
};
|
||||
|
@ -94,14 +104,14 @@
|
|||
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
||||
extraSpecialArgs = {inherit inputs outputs;};
|
||||
modules = [
|
||||
./hosts/JimServer/home.nix
|
||||
./home/hosts/JimServer/home.nix
|
||||
];
|
||||
};
|
||||
"jimbo@JimPine" = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = nixpkgs.legacyPackages.aarch64-linux;
|
||||
extraSpecialArgs = {inherit inputs outputs;};
|
||||
modules = [
|
||||
./hosts/JimPine/home.nix
|
||||
./home/hosts/JimPine/home.nix
|
||||
nur.nixosModules.nur
|
||||
];
|
||||
};
|
||||
|
@ -109,7 +119,7 @@
|
|||
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
||||
extraSpecialArgs = {inherit inputs outputs;};
|
||||
modules = [
|
||||
./hosts/JimLenovo/home.nix
|
||||
./home/hosts/JimLenovo/home.nix
|
||||
nur.nixosModules.nur
|
||||
];
|
||||
};
|
||||
|
@ -118,7 +128,7 @@
|
|||
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
||||
extraSpecialArgs = {inherit inputs outputs;};
|
||||
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
|
@ -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 = [
|
||||
./users
|
||||
];
|
||||
|
||||
# Allow unfree
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 86 KiB |
Before Width: | Height: | Size: 2 MiB After Width: | Height: | Size: 2 MiB |
Before Width: | Height: | Size: 2.3 MiB After Width: | Height: | Size: 2.3 MiB |
Before Width: | Height: | Size: 1.9 MiB After Width: | Height: | Size: 1.9 MiB |
Before Width: | Height: | Size: 314 KiB After Width: | Height: | Size: 314 KiB |
8
modules/home/programs/default.nix
Normal file
|
@ -0,0 +1,8 @@
|
|||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./gui
|
||||
./terminal
|
||||
./misc
|
||||
];
|
||||
}
|
|
@ -1,20 +1,13 @@
|
|||
{ ... }: {
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./easyeffects
|
||||
./fastfetch
|
||||
./foot
|
||||
./gaming
|
||||
./git
|
||||
./librewolf
|
||||
./mako
|
||||
./mangohud
|
||||
./misc
|
||||
./mpv
|
||||
./ncmpcpp
|
||||
./neovim
|
||||
./pcmanfm-qt
|
||||
./ranger
|
||||
./rofi
|
||||
./tmux
|
||||
];
|
||||
}
|
|
@ -1,4 +1,5 @@
|
|||
{pkgs, ...}: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home = {
|
||||
packages = with pkgs; [
|
||||
easyeffects
|
|
@ -1,5 +1,5 @@
|
|||
{outputs, ...}: {
|
||||
# Enable a terminal emulator
|
||||
{ outputs, ... }:
|
||||
{
|
||||
programs.foot = {
|
||||
enable = true;
|
||||
server.enable = false;
|
|
@ -1,4 +1,5 @@
|
|||
{pkgs, config, outputs, ...}: let
|
||||
{ pkgs, config, outputs, ... }:
|
||||
let
|
||||
# FireFox colors
|
||||
themeJim = ''
|
||||
:root {
|
|
@ -1,4 +1,5 @@
|
|||
{pkgs, outputs, ...}: {
|
||||
{ pkgs, outputs, ... }:
|
||||
{
|
||||
services.mako = {
|
||||
enable = true;
|
||||
borderColor = "#${outputs.look.colors.accent}";
|
|
@ -1,10 +1,10 @@
|
|||
{pkgs, ...}: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home = {
|
||||
packages = with pkgs; [
|
||||
mangohud
|
||||
];
|
||||
file = {
|
||||
# Mangohud config
|
||||
".config/MangoHud/MangoHud.conf".text = ''
|
||||
table_columns=2
|
||||
frametime=0
|
|
@ -1,3 +1,4 @@
|
|||
{ ... }:
|
||||
{
|
||||
programs.mpv = {
|
||||
enable = true;
|
|
@ -1,4 +1,5 @@
|
|||
{ pkgs, ... }: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home = {
|
||||
packages = with pkgs; [
|
||||
pcmanfm-qt
|
|
@ -1,4 +1,5 @@
|
|||
{ pkgs, config, outputs, ... }: {
|
||||
{ pkgs, config, outputs, ... }:
|
||||
{
|
||||
programs.rofi = {
|
||||
enable = true;
|
||||
package = pkgs.rofi-wayland;
|
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 = {
|
||||
enable = true;
|
||||
plugins = with pkgs.obs-studio-plugins; [
|
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 = [
|
||||
./avtools
|
||||
./chat
|
||||
./gaming/launchers
|
||||
./general
|
||||
./headless
|
||||
./production
|
||||
./remote-desktop
|
||||
./school
|
||||
];
|
||||
}
|
|
@ -1,6 +1,7 @@
|
|||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./general
|
||||
./launchers
|
||||
./emulators
|
||||
./xash3d
|
||||
];
|
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
|
@ -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
|
@ -0,0 +1,6 @@
|
|||
{ pkgs, lib, config, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
xash3d
|
||||
];
|
||||
}
|
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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -0,0 +1,11 @@
|
|||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./fastfetch
|
||||
./git
|
||||
./ncmpcpp
|
||||
./neovim
|
||||
./ranger
|
||||
./tmux
|
||||
];
|
||||
}
|
|
@ -1,4 +1,5 @@
|
|||
{ pkgs, ... }: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home = {
|
||||
file = let
|
||||
fastConf = ''
|
|
@ -1,4 +1,5 @@
|
|||
{ pkgs, outputs, ... }: {
|
||||
{ pkgs, outputs, ... }:
|
||||
{
|
||||
programs.git = {
|
||||
enable = true;
|
||||
lfs.enable = true;
|
|
@ -1,4 +1,5 @@
|
|||
{pkgs, ...}: {
|
||||
{pkgs, ...}:
|
||||
{
|
||||
programs.ncmpcpp = {
|
||||
enable = true;
|
||||
settings = {
|
|
@ -1,4 +1,5 @@
|
|||
{ pkgs, outputs, ... }: {
|
||||
{ pkgs, outputs, ... }:
|
||||
{
|
||||
programs.neovim = {
|
||||
enable = true;
|
||||
defaultEditor = true;
|
|
@ -1,5 +1,5 @@
|
|||
{ pkgs, ... }: {
|
||||
# Enable Ranger
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
programs.ranger = {
|
||||
enable = true;
|
||||
settings = {
|
|
@ -1,5 +1,5 @@
|
|||
{ ... }: {
|
||||
# Enable tmux
|
||||
{ ... }:
|
||||
{
|
||||
programs.tmux = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
|
@ -1,4 +1,5 @@
|
|||
{ ... }: {
|
||||
{ ... }:
|
||||
{
|
||||
dconf.settings = {
|
||||
"org/gnome/desktop/interface/color-scheme" = {
|
||||
color-scheme = "prefer-dark";
|
|
@ -1,3 +1,4 @@
|
|||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./dconf
|
|
@ -1,4 +1,5 @@
|
|||
{ pkgs, outputs, ... }: {
|
||||
{ pkgs, outputs, ... }:
|
||||
{
|
||||
gtk = {
|
||||
enable = true;
|
||||
font = {
|
|
@ -1,4 +1,5 @@
|
|||
{ ... }: {
|
||||
{ ... }:
|
||||
{
|
||||
xdg.mimeApps.defaultApplications = {
|
||||
"inode/directory" = ["pcmanfm-qt.desktop"];
|
||||
"text/plain" = ["nvim.desktop"];
|
|
@ -1,4 +1,5 @@
|
|||
{ pkgs, ... }: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
wayland.windowManager.sway = {
|
||||
config = {
|
||||
bars = [{command = "waybar";}];
|
|
@ -1,4 +1,5 @@
|
|||
{ config, pkgs, outputs, ... }: {
|
||||
{ config, pkgs, outputs, ... }:
|
||||
{
|
||||
imports = [
|
||||
./hardware
|
||||
./theme
|
|
@ -1,4 +1,5 @@
|
|||
{ pkgs, outputs, ... }: {
|
||||
{ pkgs, outputs, ... }:
|
||||
{
|
||||
wayland.windowManager.sway = {
|
||||
config = {
|
||||
# Define monitors
|
|
@ -1,4 +1,5 @@
|
|||
{ pkgs, outputs, ... }: {
|
||||
{ pkgs, outputs, ... }:
|
||||
{
|
||||
wayland.windowManager.sway = {
|
||||
config = let
|
||||
# Set default modifier and variables
|
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 = {
|
||||
config = {
|
||||
# Assign workspaces to outputs
|
|
@ -1,5 +1,5 @@
|
|||
{ pkgs, ... }: {
|
||||
# Enable Sway and write some scripts
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
wayland.windowManager.sway = {
|
||||
package = pkgs.unstable.sway;
|
||||
extraConfig = ''
|
|
@ -1,4 +1,5 @@
|
|||
{ pkgs, outputs, ... }: let
|
||||
{ pkgs, outputs, ... }:
|
||||
let
|
||||
swayLock = pkgs.writeScriptBin "swaylock" ''
|
||||
# Set the lock script
|
||||
lockscript() {
|
|
@ -1,4 +1,5 @@
|
|||
{ pkgs, outputs, ... }: {
|
||||
{ pkgs, outputs, ... }:
|
||||
{
|
||||
imports = [
|
||||
./swappy
|
||||
];
|
|
@ -1,4 +1,5 @@
|
|||
{ pkgs, ... }: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home = {
|
||||
packages = with pkgs; [
|
||||
swappy
|
|
@ -1,4 +1,5 @@
|
|||
{ config, pkgs, outputs, ... }: {
|
||||
{ config, pkgs, outputs, ... }:
|
||||
{
|
||||
wayland.windowManager.sway = {
|
||||
enable = true;
|
||||
wrapperFeatures.gtk = true;
|
|
@ -1,4 +1,5 @@
|
|||
{ pkgs, outputs, ... }: {
|
||||
{ pkgs, outputs, ... }:
|
||||
{
|
||||
programs.waybar = let
|
||||
swayWorkspacesModule = {
|
||||
format = "{name}";
|
|
@ -1,4 +1,5 @@
|
|||
{ ... }: {
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./jimbo
|
||||
];
|
|
@ -1,4 +1,5 @@
|
|||
{ ... }: {
|
||||
{ ... }:
|
||||
{
|
||||
home = {
|
||||
username = "jimbo";
|
||||
homeDirectory = "/home/jimbo";
|
|
@ -1,4 +1,5 @@
|
|||
{ ... }: {
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./gnome-keyring
|
||||
./udiskie
|
|
@ -1,3 +1,4 @@
|
|||
{ ... }: {
|
||||
{ ... }:
|
||||
{
|
||||
services.gnome-keyring.enable = true;
|
||||
}
|
|
@ -1,4 +1,5 @@
|
|||
{ ... }: {
|
||||
{ ... }:
|
||||
{
|
||||
services.udiskie = {
|
||||
enable = true;
|
||||
automount = false;
|
|
@ -1,4 +1,5 @@
|
|||
{ pkgs, config, outputs, ... }: {
|
||||
{ pkgs, config, outputs, ... }:
|
||||
{
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
autosuggestion.enable = true;
|
|
@ -1,4 +1,5 @@
|
|||
{ ... }: {
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./nfsShare
|
||||
];
|
|
@ -1,3 +1,4 @@
|
|||
{ ... }: {
|
||||
{ ... }:
|
||||
{
|
||||
users.groups.nfsShare = {};
|
||||
}
|
|
@ -1,4 +1,5 @@
|
|||
{ ... }: {
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./jimbo
|
||||
./liquidsoap
|
|
@ -1,4 +1,5 @@
|
|||
{ pkgs, outputs, ... }: {
|
||||
{ pkgs, outputs, ... }:
|
||||
{
|
||||
users.users = {
|
||||
jimbo = {
|
||||
description = "Jimbo";
|
|
@ -1,6 +1,6 @@
|
|||
{ ... }:
|
||||
{
|
||||
# Add service users to extra groups
|
||||
users.users = {
|
||||
users.users = {
|
||||
nextcloud = {
|
||||
extraGroups = [ "nginx" ];
|
||||
isSystemUser = true;
|
|
@ -1,5 +1,4 @@
|
|||
{
|
||||
# Add service users to extra groups
|
||||
{ ... }: {
|
||||
users.users = {
|
||||
nextcloud = {
|
||||
extraGroups = [ "nfsShare" ];
|
|
@ -1,5 +1,5 @@
|
|||
{ ... }:
|
||||
{
|
||||
# Add service users to extra groups
|
||||
users.users = {
|
||||
nginx = {
|
||||
extraGroups = [ "turnserver" "virtualMail" ];
|