Compare commits
10 commits
f04b6025d6
...
f5c131c3ea
| Author | SHA1 | Date | |
|---|---|---|---|
| f5c131c3ea | |||
| 7cdf446151 | |||
| 300454b2e5 | |||
| 150934c09e | |||
| 54cdd685a1 | |||
| c6bbf0af16 | |||
| ef8232c543 | |||
| a6f6bdde02 | |||
| 697ba800a6 | |||
| 946fb550e9 |
10 changed files with 90 additions and 65 deletions
|
|
@ -9,6 +9,11 @@
|
||||||
cos.username = "clhickey";
|
cos.username = "clhickey";
|
||||||
cos.hostName = "clhickey-nixos";
|
cos.hostName = "clhickey-nixos";
|
||||||
|
|
||||||
|
cos.winboat.enable = true;
|
||||||
|
cos.docker.enable = true;
|
||||||
|
|
||||||
|
cos.remoteBuild.enable = false;
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
loader = {
|
loader = {
|
||||||
systemd-boot.enable = true;
|
systemd-boot.enable = true;
|
||||||
|
|
@ -57,7 +62,7 @@
|
||||||
|
|
||||||
cos.hyprland = {
|
cos.hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
wallpaper = builtins.toString ./TranscodedWallpaper.jpeg;
|
wallpaper = builtins.toString ../TranscodedWallpaper.jpeg;
|
||||||
};
|
};
|
||||||
|
|
||||||
# auto-mount USB drives
|
# auto-mount USB drives
|
||||||
|
|
@ -96,8 +101,6 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
qemu = {
|
qemu = {
|
||||||
swtpm.enable = true;
|
swtpm.enable = true;
|
||||||
ovmf.enable = true;
|
|
||||||
ovmf.packages = [ pkgs.OVMFFull.fd ];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
virtualbox.host = {
|
virtualbox.host = {
|
||||||
|
|
@ -197,6 +200,9 @@
|
||||||
discord
|
discord
|
||||||
aseprite
|
aseprite
|
||||||
pixelorama
|
pixelorama
|
||||||
|
dig
|
||||||
|
ncdu
|
||||||
|
servo
|
||||||
];
|
];
|
||||||
sessionVariables = {
|
sessionVariables = {
|
||||||
EDITOR = "${inputs.cnvim.packages.x86_64-linux.default}/bin/nvim";
|
EDITOR = "${inputs.cnvim.packages.x86_64-linux.default}/bin/nvim";
|
||||||
|
|
@ -207,7 +213,7 @@
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
noto-fonts
|
noto-fonts
|
||||||
noto-fonts-cjk-sans
|
noto-fonts-cjk-sans
|
||||||
noto-fonts-emoji
|
noto-fonts-color-emoji
|
||||||
liberation_ttf
|
liberation_ttf
|
||||||
fira-code
|
fira-code
|
||||||
fira-code-symbols
|
fira-code-symbols
|
||||||
|
|
@ -217,7 +223,7 @@
|
||||||
font-awesome
|
font-awesome
|
||||||
libre-baskerville
|
libre-baskerville
|
||||||
corefonts
|
corefonts
|
||||||
vistafonts
|
vista-fonts
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
3
cos.nix
3
cos.nix
|
|
@ -4,6 +4,9 @@
|
||||||
./hyprland.nix
|
./hyprland.nix
|
||||||
./wireguard.nix
|
./wireguard.nix
|
||||||
./winboat.nix
|
./winboat.nix
|
||||||
|
./docker.nix
|
||||||
|
./remoteBuild.nix
|
||||||
|
./gnupg.nix
|
||||||
"${inputs.home-manager}/nixos"
|
"${inputs.home-manager}/nixos"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
||||||
15
docker.nix
Normal file
15
docker.nix
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
{ lib, config, ... }:
|
||||||
|
let cfg = config.cos.docker; in
|
||||||
|
{
|
||||||
|
options.cos.docker = {
|
||||||
|
enable = lib.mkEnableOption "Enable Docker";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
virtualisation.docker.enable = true;
|
||||||
|
|
||||||
|
users.users.${config.cos.username}.extraGroups = [
|
||||||
|
"docker"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
61
flake.lock
generated
61
flake.lock
generated
|
|
@ -2,7 +2,9 @@
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"cnvim": {
|
"cnvim": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
"nixvimFlake": "nixvimFlake"
|
"nixvimFlake": "nixvimFlake"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
|
|
@ -84,11 +86,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1759761710,
|
"lastModified": 1763228015,
|
||||||
"narHash": "sha256-6ZG7VZZsbg39gtziGSvCJKurhIahIuiCn+W6TGB5kOU=",
|
"narHash": "sha256-1rYieMVUyZ3kK/cBIr8mOusxrOEJ1/+2MsOg0oJ7b3A=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "929535c3082afdf0b18afec5ea1ef14d7689ff1c",
|
"rev": "96156a9e86281c4bfc451236bc2ddfe4317e6f39",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -147,27 +149,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1759632233,
|
"lastModified": 1762977756,
|
||||||
"narHash": "sha256-krgZxGAIIIKFJS+UB0l8do3sYUDWJc75M72tepmVMzE=",
|
"narHash": "sha256-4PqRErxfe+2toFJFgcRKZ0UI9NSIOJa+7RXVtBhy4KE=",
|
||||||
"owner": "nixos",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "d7f52a7a640bc54c7bb414cca603835bf8dd4b10",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nixos",
|
|
||||||
"ref": "nixpkgs-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_2": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1759381078,
|
|
||||||
"narHash": "sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs=",
|
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "7df7ff7d8e00218376575f0acdcc5d66741351ee",
|
"rev": "c5ae371f1a6a7fd27823bc500d9390b38c05fa55",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -177,7 +163,7 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1742422364,
|
"lastModified": 1742422364,
|
||||||
"narHash": "sha256-mNqIplmEohk5jRkqYqG19GA8MbQ/D4gQSK0Mu4LvfRQ=",
|
"narHash": "sha256-mNqIplmEohk5jRkqYqG19GA8MbQ/D4gQSK0Mu4LvfRQ=",
|
||||||
|
|
@ -276,7 +262,7 @@
|
||||||
"penn-nix": {
|
"penn-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils_2",
|
"flake-utils": "flake-utils_2",
|
||||||
"nixpkgs": "nixpkgs_3"
|
"nixpkgs": "nixpkgs_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1742609439,
|
"lastModified": 1742609439,
|
||||||
|
|
@ -297,10 +283,9 @@
|
||||||
"cnvim": "cnvim",
|
"cnvim": "cnvim",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"mapnix": "mapnix",
|
"mapnix": "mapnix",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs",
|
||||||
"osm-bikeability": "osm-bikeability",
|
"osm-bikeability": "osm-bikeability",
|
||||||
"penn-nix": "penn-nix",
|
"penn-nix": "penn-nix"
|
||||||
"winboat": "winboat"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems": {
|
"systems": {
|
||||||
|
|
@ -347,26 +332,6 @@
|
||||||
"repo": "default",
|
"repo": "default",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"winboat": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1760459934,
|
|
||||||
"narHash": "sha256-OQn5UqCOXsvaAwOG0p3ZiXmR+WfN3wf7H3zlc+uiByM=",
|
|
||||||
"owner": "TibixDev",
|
|
||||||
"repo": "winboat",
|
|
||||||
"rev": "eac9a7f48ce9bf9c60b9e7743aaf53d5a0f6351e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "TibixDev",
|
|
||||||
"repo": "winboat",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": "root",
|
"root": "root",
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
penn-nix.url = "github:clay53/penn-nix";
|
penn-nix.url = "github:clay53/penn-nix";
|
||||||
cnvim = {
|
cnvim = {
|
||||||
url = "github:clay53/cnvim";
|
url = "github:clay53/cnvim";
|
||||||
#inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
mapnix = {
|
mapnix = {
|
||||||
url = "github:clay53/mapnix";
|
url = "github:clay53/mapnix";
|
||||||
|
|
@ -17,10 +17,6 @@
|
||||||
url = "github:clay53/osm-bikeability";
|
url = "github:clay53/osm-bikeability";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
winboat = {
|
|
||||||
url = "github:TibixDev/winboat";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
outputs = { self, nixpkgs, ... }@inputs: {
|
outputs = { self, nixpkgs, ... }@inputs: {
|
||||||
nixosConfigurations.clhickey-nixos = nixpkgs.lib.nixosSystem {
|
nixosConfigurations.clhickey-nixos = nixpkgs.lib.nixosSystem {
|
||||||
|
|
|
||||||
4
gnupg.nix
Normal file
4
gnupg.nix
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
programs.gnupg.agent.enable = true;
|
||||||
|
programs.gnupg.agent.pinentryPackage = pkgs.pinentry-curses;
|
||||||
|
}
|
||||||
|
|
@ -37,7 +37,7 @@ let cfg = config.cos.hyprland; in
|
||||||
waylandFrontend = true;
|
waylandFrontend = true;
|
||||||
addons = with pkgs; [
|
addons = with pkgs; [
|
||||||
fcitx5-gtk
|
fcitx5-gtk
|
||||||
fcitx5-configtool
|
qt6Packages.fcitx5-configtool
|
||||||
fcitx5-mozc
|
fcitx5-mozc
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
@ -55,6 +55,7 @@ let cfg = config.cos.hyprland; in
|
||||||
kdePackages.ark
|
kdePackages.ark
|
||||||
kdePackages.gwenview
|
kdePackages.gwenview
|
||||||
yaru-theme
|
yaru-theme
|
||||||
|
hyprpaper
|
||||||
];
|
];
|
||||||
|
|
||||||
services.hypridle.enable = true;
|
services.hypridle.enable = true;
|
||||||
|
|
@ -147,6 +148,7 @@ let cfg = config.cos.hyprland; in
|
||||||
gaps_out = 0;
|
gaps_out = 0;
|
||||||
};
|
};
|
||||||
input = {
|
input = {
|
||||||
|
kb_layout = "jp";
|
||||||
accel_profile = "flat";
|
accel_profile = "flat";
|
||||||
sensitivity = 1.0;
|
sensitivity = 1.0;
|
||||||
touchpad = {
|
touchpad = {
|
||||||
|
|
@ -156,6 +158,9 @@ let cfg = config.cos.hyprland; in
|
||||||
xwayland = {
|
xwayland = {
|
||||||
force_zero_scaling = true;
|
force_zero_scaling = true;
|
||||||
};
|
};
|
||||||
|
misc = {
|
||||||
|
disable_hyprland_logo = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
30
remoteBuild.nix
Normal file
30
remoteBuild.nix
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
{ lib, config, ... }:
|
||||||
|
let cfg = config.cos.remoteBuild; in
|
||||||
|
{
|
||||||
|
options.cos.remoteBuild = {
|
||||||
|
enable = lib.mkEnableOption "Turn on remote builders";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
cos.wireguard.enable = true;
|
||||||
|
|
||||||
|
nix.buildMachines = [{
|
||||||
|
sshUser = "clhickey";
|
||||||
|
hostName = config.cos.wireguard.clientPubOptionsMap.nixnas.ip;
|
||||||
|
system = "x86_64-linux";
|
||||||
|
protocol = "ssh-ng";
|
||||||
|
maxJobs = 4;
|
||||||
|
speedFactor = 1;
|
||||||
|
supportedFeatures = [ "kvm" "nixos-tests" "big-parallel" ];
|
||||||
|
mandatoryFeatures = [];
|
||||||
|
}];
|
||||||
|
nix.distributedBuilds = true;
|
||||||
|
nix.settings.builders-use-substitutes = false;
|
||||||
|
nix.settings.trusted-public-keys = [
|
||||||
|
"${config.cos.wireguard.clientPubOptionsMap.nixnas.ip}:iD0dK5e3PmeldRKuQcFPfrwsMsILNvvE/joqGRluu4c="
|
||||||
|
];
|
||||||
|
nix.settings.substituters = [
|
||||||
|
"ssh-ng://clhickey@${config.cos.wireguard.clientPubOptionsMap.nixnas.ip}"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -8,14 +8,10 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
virtualisation.docker.enable = true;
|
cos.docker.enable = true;
|
||||||
|
|
||||||
users.users.${config.cos.username}.extraGroups = [
|
|
||||||
"docker"
|
|
||||||
];
|
|
||||||
|
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
inputs.winboat.packages.x86_64-linux.winboat
|
pkgs.winboat
|
||||||
pkgs.freerdp
|
pkgs.freerdp
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -65,6 +65,11 @@ in
|
||||||
wireguard-tools
|
wireguard-tools
|
||||||
];
|
];
|
||||||
|
|
||||||
|
environment.etc."resolv.conf".text = ''
|
||||||
|
nameserver 10.100.0.1
|
||||||
|
nameserver 1.1.1.1
|
||||||
|
'';
|
||||||
|
|
||||||
networking.wireguard = {
|
networking.wireguard = {
|
||||||
enable = true;
|
enable = true;
|
||||||
interfaces = {
|
interfaces = {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue