Compare commits
11 Commits
feature/ad
...
e602dcbd69
Author | SHA1 | Date | |
---|---|---|---|
e602dcbd69 | |||
5202238857 | |||
25569795c4 | |||
a560657cbf | |||
e64a668875 | |||
ccbc235358 | |||
c6e1df34df | |||
917f540156 | |||
482b4cffbc | |||
d51c4ae7cc | |||
8a47ae91a9 |
3
.github/workflows/flake-health-checks.yml
vendored
3
.github/workflows/flake-health-checks.yml
vendored
@@ -5,6 +5,9 @@ on:
|
|||||||
pull_request:
|
pull_request:
|
||||||
branches: ["main"]
|
branches: ["main"]
|
||||||
merge_group:
|
merge_group:
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
||||||
|
cancel-in-progress: true
|
||||||
jobs:
|
jobs:
|
||||||
health-check:
|
health-check:
|
||||||
name: "Perform Nix flake checks"
|
name: "Perform Nix flake checks"
|
||||||
|
3
.github/workflows/flake-update.yml
vendored
3
.github/workflows/flake-update.yml
vendored
@@ -4,6 +4,9 @@ on:
|
|||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: "00 12 * * *"
|
- cron: "00 12 * * *"
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
||||||
|
cancel-in-progress: true
|
||||||
jobs:
|
jobs:
|
||||||
update_lockfile:
|
update_lockfile:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
3
.github/workflows/lock-health-checks.yml
vendored
3
.github/workflows/lock-health-checks.yml
vendored
@@ -5,6 +5,9 @@ on:
|
|||||||
pull_request:
|
pull_request:
|
||||||
branches: ["main"]
|
branches: ["main"]
|
||||||
merge_group:
|
merge_group:
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
||||||
|
cancel-in-progress: true
|
||||||
jobs:
|
jobs:
|
||||||
health-check:
|
health-check:
|
||||||
name: "Check health of `flake.lock`"
|
name: "Check health of `flake.lock`"
|
||||||
|
1
.gitignore
vendored
1
.gitignore
vendored
@@ -23,4 +23,3 @@ test.*
|
|||||||
pre-drv
|
pre-drv
|
||||||
post-drv
|
post-drv
|
||||||
post-diff
|
post-diff
|
||||||
pr_body.md
|
|
||||||
|
11
.sops.yaml
11
.sops.yaml
@@ -7,11 +7,9 @@ keys:
|
|||||||
# cspell:disable
|
# cspell:disable
|
||||||
- &artemision age1jd2dcpykagz20kpk2kkchte3augqncwfn6nywursx0dkfyze6feqdzxkq2
|
- &artemision age1jd2dcpykagz20kpk2kkchte3augqncwfn6nywursx0dkfyze6feqdzxkq2
|
||||||
- &artemision-home age1t29a6z6cfy8m3cnc8uva0ey833vhcppue8psyumts7mtyf0zufcqvfshuc
|
- &artemision-home age1t29a6z6cfy8m3cnc8uva0ey833vhcppue8psyumts7mtyf0zufcqvfshuc
|
||||||
#- &palatine-hill age1z8q02wdp0a2ep5uuffgfeqlfam4ztl95frhw5qhnn6knn0rrmcnqk5evej
|
|
||||||
- &palatine-hill age1qw5k8h72k3fjg5gmlxx8q8gwlc2k6n6u08d8hdzpm2pk9r0fnfxsmw33nh
|
- &palatine-hill age1qw5k8h72k3fjg5gmlxx8q8gwlc2k6n6u08d8hdzpm2pk9r0fnfxsmw33nh
|
||||||
|
- &selinunte age1jd2dcpykagz20kpk2kkchte3augqncwfn6nywursx0dkfyze6feqdzxkq2
|
||||||
# cspell:enable
|
# cspell:enable
|
||||||
servers: &servers
|
|
||||||
- *palatine-hill
|
|
||||||
# add new users by executing: sops users/<user>/secrets.yaml
|
# add new users by executing: sops users/<user>/secrets.yaml
|
||||||
# then have someone already in the repo run the below
|
# then have someone already in the repo run the below
|
||||||
#
|
#
|
||||||
@@ -38,6 +36,13 @@ creation_rules:
|
|||||||
- *admin_alice
|
- *admin_alice
|
||||||
age:
|
age:
|
||||||
- *artemision
|
- *artemision
|
||||||
|
- path_regex: systems/selinunte/secrets.*\.yaml$
|
||||||
|
key_groups:
|
||||||
|
- pgp:
|
||||||
|
- *admin_alice
|
||||||
|
age:
|
||||||
|
- *artemision
|
||||||
|
- *selinunte
|
||||||
- path_regex: systems/palatine-hill/docker/wg/.*\.conf$
|
- path_regex: systems/palatine-hill/docker/wg/.*\.conf$
|
||||||
key_groups:
|
key_groups:
|
||||||
- pgp:
|
- pgp:
|
||||||
|
64
flake.lock
generated
64
flake.lock
generated
@@ -304,7 +304,9 @@
|
|||||||
"inputs": {
|
"inputs": {
|
||||||
"nix": "nix",
|
"nix": "nix",
|
||||||
"nix-eval-jobs": "nix-eval-jobs",
|
"nix-eval-jobs": "nix-eval-jobs",
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748756240,
|
"lastModified": 1748756240,
|
||||||
@@ -409,6 +411,35 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixos-cosmic": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": [
|
||||||
|
"flake-compat"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"nixpkgs-stable": [
|
||||||
|
"nixpkgs-stable"
|
||||||
|
],
|
||||||
|
"rust-overlay": [
|
||||||
|
"rust-overlay"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1748776124,
|
||||||
|
"narHash": "sha256-vs2cMCHX9wnWJutXhQyWkWOpMF/Xbw0ZAUAFGsKLifA=",
|
||||||
|
"owner": "lilyinstarlight",
|
||||||
|
"repo": "nixos-cosmic",
|
||||||
|
"rev": "e989a41092f6f0375e7afb789bc97cb30d01fdb8",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "lilyinstarlight",
|
||||||
|
"repo": "nixos-cosmic",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixos-generators": {
|
"nixos-generators": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixlib": "nixlib",
|
"nixlib": "nixlib",
|
||||||
@@ -470,16 +501,16 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748124805,
|
"lastModified": 1748762463,
|
||||||
"narHash": "sha256-8A7HjmnvCpDjmETrZY1QwzKunR63LiP7lHu1eA5q6JI=",
|
"narHash": "sha256-rb8vudY2u0SgdWh83SAhM5QZT91ZOnvjOLGTO4pdGTc=",
|
||||||
"owner": "NixOS",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "db1aed32009f408e4048c1dd0beaf714dd34ed93",
|
"rev": "0d0bc640d371e9e8c9914c42951b3d6522bc5dda",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "nixos",
|
||||||
"ref": "nixos-25.05-small",
|
"ref": "nixos-unstable-small",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@@ -515,22 +546,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1748762463,
|
|
||||||
"narHash": "sha256-rb8vudY2u0SgdWh83SAhM5QZT91ZOnvjOLGTO4pdGTc=",
|
|
||||||
"owner": "nixos",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "0d0bc640d371e9e8c9914c42951b3d6522bc5dda",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nixos",
|
|
||||||
"ref": "nixos-unstable-small",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nur": {
|
"nur": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": [
|
"flake-parts": [
|
||||||
@@ -591,10 +606,11 @@
|
|||||||
"hydra": "hydra",
|
"hydra": "hydra",
|
||||||
"hyprland-contrib": "hyprland-contrib",
|
"hyprland-contrib": "hyprland-contrib",
|
||||||
"nix-index-database": "nix-index-database",
|
"nix-index-database": "nix-index-database",
|
||||||
|
"nixos-cosmic": "nixos-cosmic",
|
||||||
"nixos-generators": "nixos-generators",
|
"nixos-generators": "nixos-generators",
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixos-modules": "nixos-modules",
|
"nixos-modules": "nixos-modules",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs",
|
||||||
"nixpkgs-stable": "nixpkgs-stable",
|
"nixpkgs-stable": "nixpkgs-stable",
|
||||||
"pre-commit-hooks": "pre-commit-hooks",
|
"pre-commit-hooks": "pre-commit-hooks",
|
||||||
"rust-overlay": "rust-overlay",
|
"rust-overlay": "rust-overlay",
|
||||||
|
31
flake.nix
31
flake.nix
@@ -6,16 +6,19 @@
|
|||||||
"https://cache.nixos.org/?priority=1&want-mass-query=true"
|
"https://cache.nixos.org/?priority=1&want-mass-query=true"
|
||||||
"https://nix-community.cachix.org/?priority=10&want-mass-query=true"
|
"https://nix-community.cachix.org/?priority=10&want-mass-query=true"
|
||||||
"https://attic.nayeonie.com/nix-cache"
|
"https://attic.nayeonie.com/nix-cache"
|
||||||
|
"https://cosmic.cachix.org/"
|
||||||
];
|
];
|
||||||
trusted-substituters = [
|
trusted-substituters = [
|
||||||
"https://cache.nixos.org"
|
"https://cache.nixos.org"
|
||||||
"https://nix-community.cachix.org"
|
"https://nix-community.cachix.org"
|
||||||
"https://attic.nayeonie.com/nix-cache"
|
"https://attic.nayeonie.com/nix-cache"
|
||||||
|
"https://cosmic.cachix.org/"
|
||||||
];
|
];
|
||||||
trusted-public-keys = [
|
trusted-public-keys = [
|
||||||
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
||||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||||
"nix-cache:grGRsHhqNDhkEuTODvHJXYmoCClntC+U8XAJQzwMaZM="
|
"nix-cache:grGRsHhqNDhkEuTODvHJXYmoCClntC+U8XAJQzwMaZM="
|
||||||
|
"cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE="
|
||||||
];
|
];
|
||||||
trusted-users = [ "root" ];
|
trusted-users = [ "root" ];
|
||||||
allow-import-from-derivation = true;
|
allow-import-from-derivation = true;
|
||||||
@@ -23,6 +26,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
|
# flake inputs with no explicit deps (in alphabetic order)
|
||||||
flake-compat.url = "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz";
|
flake-compat.url = "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz";
|
||||||
flake-parts.url = "github:hercules-ci/flake-parts";
|
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||||
nixos-hardware.url = "github:NixOS/nixos-hardware";
|
nixos-hardware.url = "github:NixOS/nixos-hardware";
|
||||||
@@ -32,16 +36,7 @@
|
|||||||
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11";
|
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11";
|
||||||
systems.url = "github:nix-systems/default";
|
systems.url = "github:nix-systems/default";
|
||||||
|
|
||||||
# attic = {
|
# flake inputs with dependencies (in alphabetic order)
|
||||||
# url = "github:zhaofengli/attic";
|
|
||||||
# inputs = {
|
|
||||||
# nixpkgs.follows = "nixpkgs";
|
|
||||||
# nixpkgs-stable.follows = "nixpkgs-stable";
|
|
||||||
# flake-compat.follows = "flake-compat";
|
|
||||||
# flake-parts.follows = "flake-parts";
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
|
|
||||||
firefox-addons = {
|
firefox-addons = {
|
||||||
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
|
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
|
||||||
inputs = {
|
inputs = {
|
||||||
@@ -61,9 +56,9 @@
|
|||||||
|
|
||||||
hydra = {
|
hydra = {
|
||||||
url = "git+https://nayeonie.com/ahuston-0/hydra?ref=add-gitea-pulls";
|
url = "git+https://nayeonie.com/ahuston-0/hydra?ref=add-gitea-pulls";
|
||||||
# inputs = {
|
inputs = {
|
||||||
# nixpkgs.follows = "nixpkgs";
|
nixpkgs.follows = "nixpkgs";
|
||||||
# };
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
hyprland-contrib = {
|
hyprland-contrib = {
|
||||||
@@ -76,6 +71,16 @@
|
|||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nixos-cosmic = {
|
||||||
|
url = "github:lilyinstarlight/nixos-cosmic";
|
||||||
|
inputs = {
|
||||||
|
flake-compat.follows = "flake-compat";
|
||||||
|
nixpkgs.follows = "nixpkgs";
|
||||||
|
nixpkgs-stable.follows = "nixpkgs-stable";
|
||||||
|
rust-overlay.follows = "rust-overlay";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
nixos-generators = {
|
nixos-generators = {
|
||||||
url = "github:nix-community/nixos-generators";
|
url = "github:nix-community/nixos-generators";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
@@ -45,9 +45,6 @@
|
|||||||
|
|
||||||
powerManagement = {
|
powerManagement = {
|
||||||
enable = true;
|
enable = true;
|
||||||
resumeCommands = ''
|
|
||||||
${pkgs.hyprlock}/bin/hyprlock -c /home/alice/.config/hypr/hyprlock.conf
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
@@ -100,7 +100,6 @@
|
|||||||
unipicker
|
unipicker
|
||||||
unzip
|
unzip
|
||||||
uutils-coreutils-noprefix
|
uutils-coreutils-noprefix
|
||||||
vesktop
|
|
||||||
vscode
|
vscode
|
||||||
watchman
|
watchman
|
||||||
wget
|
wget
|
||||||
|
@@ -1,12 +0,0 @@
|
|||||||
{ inputs, ... }:
|
|
||||||
{
|
|
||||||
system = "x86_64-linux";
|
|
||||||
home = true;
|
|
||||||
sops = true;
|
|
||||||
server = false;
|
|
||||||
users = [ "sam" ];
|
|
||||||
modules = [
|
|
||||||
inputs.nixos-hardware.nixosModules.framework-13-7040-amd
|
|
||||||
inputs.stylix.nixosModules.stylix
|
|
||||||
];
|
|
||||||
}
|
|
@@ -3,5 +3,8 @@
|
|||||||
users = [ "alice" ];
|
users = [ "alice" ];
|
||||||
modules = [
|
modules = [
|
||||||
# inputs.attic.nixosModules.atticd
|
# inputs.attic.nixosModules.atticd
|
||||||
|
inputs.nixos-hardware.nixosModules.common-cpu-amd
|
||||||
|
inputs.nixos-hardware.nixosModules.common-cpu-amd-pstate
|
||||||
|
inputs.nixos-hardware.nixosModules.supermicro
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
35
systems/selinunte/audio.nix
Normal file
35
systems/selinunte/audio.nix
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# rtkit is optional but recommended
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
services = {
|
||||||
|
pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
# If you want to use JACK applications, uncomment this
|
||||||
|
#jack.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
pipewire.wireplumber.configPackages = [
|
||||||
|
(pkgs.writeTextDir "share/wireplumber/bluetooth.lua.d/51-bluez-config.lua" ''
|
||||||
|
bluez_monitor.properties = {
|
||||||
|
["bluez5.enable-sbc-xq"] = true,
|
||||||
|
["bluez5.enable-msbc"] = true,
|
||||||
|
["bluez5.enable-hw-volume"] = true,
|
||||||
|
["bluez5.headset-roles"] = "[ hsp_hs hsp_ag hfp_hf hfp_ag ]"
|
||||||
|
}
|
||||||
|
'')
|
||||||
|
];
|
||||||
|
blueman.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
hardware.bluetooth.enable = true;
|
||||||
|
hardware.bluetooth.powerOnBoot = true;
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [ pavucontrol ];
|
||||||
|
|
||||||
|
programs.noisetorch.enable = true;
|
||||||
|
}
|
49
systems/selinunte/configuration.nix
Normal file
49
systems/selinunte/configuration.nix
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./audio.nix
|
||||||
|
./desktop.nix
|
||||||
|
./fonts.nix
|
||||||
|
./graphics.nix
|
||||||
|
./polkit.nix
|
||||||
|
./programs.nix
|
||||||
|
./steam.nix
|
||||||
|
./stylix.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
time.timeZone = "America/New_York";
|
||||||
|
|
||||||
|
# temp workaround for building while in nixos-enter
|
||||||
|
#services.logrotate.checkConfig = false;
|
||||||
|
|
||||||
|
networking = {
|
||||||
|
hostId = "9f2e1ff9";
|
||||||
|
firewall.enable = true;
|
||||||
|
useNetworkd = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
boot = {
|
||||||
|
kernelPackages = lib.mkForce pkgs.linuxPackages_xanmod;
|
||||||
|
useSystemdBoot = true;
|
||||||
|
default = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
||||||
|
|
||||||
|
services = {
|
||||||
|
flatpak.enable = true;
|
||||||
|
gvfs.enable = true;
|
||||||
|
openssh.enable = lib.mkForce false;
|
||||||
|
};
|
||||||
|
|
||||||
|
system.stateVersion = "25.11";
|
||||||
|
|
||||||
|
sops = {
|
||||||
|
defaultSopsFile = ./secrets.yaml;
|
||||||
|
};
|
||||||
|
}
|
23
systems/selinunte/default.nix
Normal file
23
systems/selinunte/default.nix
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
{ inputs, ... }:
|
||||||
|
{
|
||||||
|
system = "x86_64-linux";
|
||||||
|
home = true;
|
||||||
|
sops = true;
|
||||||
|
server = false;
|
||||||
|
users = [ "alice" ];
|
||||||
|
modules = [
|
||||||
|
inputs.nixos-hardware.nixosModules.common-pc
|
||||||
|
inputs.nixos-hardware.nixosModules.common-pc-ssd
|
||||||
|
inputs.nixos-hardware.nixosModules.common-gpu-nvidia-nonprime
|
||||||
|
inputs.nixos-hardware.nixosModules.common-cpu-amd
|
||||||
|
inputs.nixos-hardware.nixosModules.common-cpu-amd-pstate
|
||||||
|
inputs.nixos-hardware.nixosModules.common-cpu-amd-zenpower
|
||||||
|
inputs.stylix.nixosModules.stylix
|
||||||
|
{
|
||||||
|
environment.systemPackages = [
|
||||||
|
inputs.wired-notify.packages.x86_64-linux.default
|
||||||
|
inputs.hyprland-contrib.packages.x86_64-linux.grimblast
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
38
systems/selinunte/desktop.nix
Normal file
38
systems/selinunte/desktop.nix
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# installs hyprland, and its dependencies
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
hyprland = {
|
||||||
|
enable = true;
|
||||||
|
xwayland.enable = true;
|
||||||
|
withUWSM = true;
|
||||||
|
};
|
||||||
|
hyprlock.enable = true;
|
||||||
|
ydotool.enable = true;
|
||||||
|
};
|
||||||
|
# Optional, hint electron apps to use wayland:
|
||||||
|
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||||
|
|
||||||
|
services = {
|
||||||
|
displayManager.gdm = {
|
||||||
|
enable = true;
|
||||||
|
wayland = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
dbus = {
|
||||||
|
enable = true;
|
||||||
|
implementation = "broker";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
powerManagement = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
libsForQt5.qt5.qtwayland
|
||||||
|
qt6.qtwayland
|
||||||
|
];
|
||||||
|
}
|
15
systems/selinunte/fonts.nix
Normal file
15
systems/selinunte/fonts.nix
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
fonts = {
|
||||||
|
fontconfig.enable = true;
|
||||||
|
enableDefaultPackages = true;
|
||||||
|
packages = with pkgs.nerd-fonts; [
|
||||||
|
fira-code
|
||||||
|
droid-sans-mono
|
||||||
|
hack
|
||||||
|
dejavu-sans-mono
|
||||||
|
noto
|
||||||
|
open-dyslexic
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
40
systems/selinunte/graphics.nix
Normal file
40
systems/selinunte/graphics.nix
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
hardware.graphics = {
|
||||||
|
## radv: an open-source Vulkan driver from freedesktop
|
||||||
|
enable = true;
|
||||||
|
enable32Bit = true;
|
||||||
|
|
||||||
|
};
|
||||||
|
hardware.nvidia = {
|
||||||
|
|
||||||
|
# Modesetting is required.
|
||||||
|
modesetting.enable = true;
|
||||||
|
|
||||||
|
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
|
||||||
|
# Enable this if you have graphical corruption issues or application crashes after waking
|
||||||
|
# up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead
|
||||||
|
# of just the bare essentials.
|
||||||
|
powerManagement.enable = false;
|
||||||
|
|
||||||
|
# Fine-grained power management. Turns off GPU when not in use.
|
||||||
|
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
|
||||||
|
powerManagement.finegrained = false;
|
||||||
|
|
||||||
|
# Use the NVidia open source kernel module (not to be confused with the
|
||||||
|
# independent third-party "nouveau" open source driver).
|
||||||
|
# Support is limited to the Turing and later architectures. Full list of
|
||||||
|
# supported GPUs is at:
|
||||||
|
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
|
||||||
|
# Only available from driver 515.43.04+
|
||||||
|
open = false;
|
||||||
|
|
||||||
|
# Enable the Nvidia settings menu,
|
||||||
|
# accessible via `nvidia-settings`.
|
||||||
|
nvidiaSettings = true;
|
||||||
|
|
||||||
|
# Optionally, you may need to select the appropriate driver version for your specific GPU.
|
||||||
|
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||||
|
};
|
||||||
|
}
|
96
systems/selinunte/hardware.nix
Normal file
96
systems/selinunte/hardware.nix
Normal file
@@ -0,0 +1,96 @@
|
|||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||||
|
|
||||||
|
boot = {
|
||||||
|
initrd.availableKernelModules = [
|
||||||
|
"nvme"
|
||||||
|
"xhci_pci"
|
||||||
|
"thunderbolt"
|
||||||
|
"usb_storage"
|
||||||
|
"usbhid"
|
||||||
|
"sd_mod"
|
||||||
|
"ip_vs"
|
||||||
|
"ip_vs_rr"
|
||||||
|
"nf_conntrack"
|
||||||
|
];
|
||||||
|
initrd.kernelModules = [
|
||||||
|
"dm-snapshot"
|
||||||
|
"r8152"
|
||||||
|
];
|
||||||
|
kernelModules = [ "kvm-amd" ];
|
||||||
|
extraModulePackages = [ ];
|
||||||
|
kernelParams = [
|
||||||
|
"amdgpu.sg_display=0"
|
||||||
|
"amdgpu.graphics_sg=0"
|
||||||
|
"amdgpu.abmlevel=3"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems = {
|
||||||
|
|
||||||
|
"/" = lib.mkDefault {
|
||||||
|
device = "/dev/disk/by-uuid/f3c11d62-37f4-495e-b668-1ff49e0d3a47";
|
||||||
|
fsType = "ext4";
|
||||||
|
options = [
|
||||||
|
"noatime"
|
||||||
|
"nodiratime"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
"/home" = {
|
||||||
|
device = "/dev/disk/by-uuid/720af942-464c-4c1e-be41-0438936264f0";
|
||||||
|
fsType = "ext4";
|
||||||
|
options = [
|
||||||
|
"noatime"
|
||||||
|
"nodiratime"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
"/nix" = {
|
||||||
|
device = "/dev/disk/by-uuid/035f23f8-d895-4b0c-bcf5-45885a5dbbd9";
|
||||||
|
fsType = "ext4";
|
||||||
|
options = [
|
||||||
|
"noatime"
|
||||||
|
"nodiratime"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
"/boot" = {
|
||||||
|
device = "/dev/disk/by-uuid/5AD7-6005";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [
|
||||||
|
"noatime"
|
||||||
|
"nodiratime"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [ { device = "/dev/disk/by-uuid/3ec276b5-9088-45b0-9cb4-60812f2d1a73"; } ];
|
||||||
|
|
||||||
|
boot.initrd.luks.devices = {
|
||||||
|
"nixos-pv" = {
|
||||||
|
device = "/dev/disk/by-uuid/12a7f660-bbcc-4066-81d0-e66005ee534a";
|
||||||
|
preLVM = true;
|
||||||
|
allowDiscards = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
# still possible to use this option, but it's recommended to use it in conjunction
|
||||||
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
|
networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
}
|
22
systems/selinunte/polkit.nix
Normal file
22
systems/selinunte/polkit.nix
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
security.polkit.enable = true;
|
||||||
|
environment.systemPackages = with pkgs; [ polkit_gnome ];
|
||||||
|
|
||||||
|
systemd = {
|
||||||
|
user.services.polkit-gnome-authentication-agent-1 = {
|
||||||
|
description = "polkit-gnome-authentication-agent-1";
|
||||||
|
wantedBy = [ "graphical-session.target" ];
|
||||||
|
wants = [ "graphical-session.target" ];
|
||||||
|
after = [ "graphical-session.target" ];
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "simple";
|
||||||
|
ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
|
||||||
|
Restart = "on-failure";
|
||||||
|
RestartSec = 1;
|
||||||
|
TimeoutStopSec = 10;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
112
systems/selinunte/programs.nix
Normal file
112
systems/selinunte/programs.nix
Normal file
@@ -0,0 +1,112 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
act
|
||||||
|
alacritty
|
||||||
|
attic-client
|
||||||
|
amdgpu_top
|
||||||
|
bat
|
||||||
|
bitwarden-cli
|
||||||
|
bfg-repo-cleaner
|
||||||
|
btop
|
||||||
|
calibre
|
||||||
|
# calibre dedrm?
|
||||||
|
candy-icons
|
||||||
|
chromium
|
||||||
|
chromedriver
|
||||||
|
croc
|
||||||
|
deadnix
|
||||||
|
direnv
|
||||||
|
easyeffects
|
||||||
|
eza
|
||||||
|
fanficfare
|
||||||
|
ferium
|
||||||
|
fd
|
||||||
|
file
|
||||||
|
firefox
|
||||||
|
# gestures replacement
|
||||||
|
git
|
||||||
|
glances
|
||||||
|
gpu-viewer
|
||||||
|
grim
|
||||||
|
helvum
|
||||||
|
htop
|
||||||
|
hwloc
|
||||||
|
ipmiview
|
||||||
|
iperf3
|
||||||
|
# ipscan
|
||||||
|
jp2a
|
||||||
|
jq
|
||||||
|
kdePackages.kdenlive
|
||||||
|
kitty
|
||||||
|
kubectl
|
||||||
|
kubernetes-helm
|
||||||
|
libreoffice-fresh
|
||||||
|
libtool
|
||||||
|
lsof
|
||||||
|
lynis
|
||||||
|
masterpdfeditor4
|
||||||
|
minikube
|
||||||
|
mons
|
||||||
|
mpv
|
||||||
|
# nbt explorer?
|
||||||
|
ncdu
|
||||||
|
nemo-with-extensions
|
||||||
|
neofetch
|
||||||
|
neovim
|
||||||
|
nix-init
|
||||||
|
nix-output-monitor
|
||||||
|
nix-prefetch
|
||||||
|
nix-tree
|
||||||
|
nixpkgs-fmt
|
||||||
|
nmap
|
||||||
|
obs-studio
|
||||||
|
obsidian
|
||||||
|
ocrmypdf
|
||||||
|
pciutils
|
||||||
|
#disabled until wxpython compat with python3.12
|
||||||
|
#playonlinux
|
||||||
|
prismlauncher
|
||||||
|
protonmail-bridge
|
||||||
|
protontricks
|
||||||
|
proxychains
|
||||||
|
qrencode
|
||||||
|
redshift
|
||||||
|
restic
|
||||||
|
ripgrep
|
||||||
|
rpi-imager
|
||||||
|
rofi-wayland
|
||||||
|
samba
|
||||||
|
signal-desktop
|
||||||
|
# signal in tray?
|
||||||
|
siji
|
||||||
|
simple-mtpfs
|
||||||
|
skaffold
|
||||||
|
slack
|
||||||
|
slurp
|
||||||
|
smartmontools
|
||||||
|
snyk
|
||||||
|
sops
|
||||||
|
spotify
|
||||||
|
spotify-player
|
||||||
|
#swaylock/waylock?
|
||||||
|
sweet-nova
|
||||||
|
telegram-desktop
|
||||||
|
terraform
|
||||||
|
tig
|
||||||
|
tokei
|
||||||
|
tree
|
||||||
|
unipicker
|
||||||
|
unzip
|
||||||
|
uutils-coreutils-noprefix
|
||||||
|
vesktop
|
||||||
|
vscode
|
||||||
|
watchman
|
||||||
|
wget
|
||||||
|
wl-clipboard
|
||||||
|
yq
|
||||||
|
yt-dlp
|
||||||
|
zoom-us
|
||||||
|
zoxide
|
||||||
|
];
|
||||||
|
}
|
20
systems/selinunte/steam.nix
Normal file
20
systems/selinunte/steam.nix
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
environment.systemPackages = [ pkgs.steam-run ];
|
||||||
|
hardware.steam-hardware.enable = true;
|
||||||
|
programs = {
|
||||||
|
gamescope = {
|
||||||
|
enable = true;
|
||||||
|
capSysNice = true;
|
||||||
|
};
|
||||||
|
steam = {
|
||||||
|
enable = true;
|
||||||
|
remotePlay.openFirewall = true;
|
||||||
|
localNetworkGameTransfers.openFirewall = true;
|
||||||
|
extraCompatPackages = with pkgs; [ proton-ge-bin ];
|
||||||
|
gamescopeSession.enable = true;
|
||||||
|
extest.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
16
systems/selinunte/stylix.nix
Normal file
16
systems/selinunte/stylix.nix
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
# let
|
||||||
|
# randWallpaper = pkgs.runCommand "stylix-wallpaper" { } ''
|
||||||
|
# numWallpapers =
|
||||||
|
# $((1 + $RANDOM % 10))
|
||||||
|
|
||||||
|
# in
|
||||||
|
{
|
||||||
|
stylix = {
|
||||||
|
enable = true;
|
||||||
|
image = "${pkgs.hyprland}/share/hypr/wall2.png";
|
||||||
|
|
||||||
|
#image = "/home/alice/Pictures/Screenshots/screenshot_2024-12-04-2030.png";
|
||||||
|
polarity = "dark";
|
||||||
|
};
|
||||||
|
}
|
@@ -4,8 +4,8 @@
|
|||||||
"layer": "top",
|
"layer": "top",
|
||||||
"position": "top",
|
"position": "top",
|
||||||
"output": [
|
"output": [
|
||||||
"eDP-2",
|
|
||||||
"eDP-1",
|
"eDP-1",
|
||||||
|
"eDP-2",
|
||||||
"HDMI-0",
|
"HDMI-0",
|
||||||
"DP-0"
|
"DP-0"
|
||||||
],
|
],
|
||||||
|
@@ -5,6 +5,46 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.emacs30-pgtk;
|
package = pkgs.emacs30-pgtk;
|
||||||
};
|
};
|
||||||
|
programs.vesktop = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
appBadge = false;
|
||||||
|
arRPC = true;
|
||||||
|
checkUpdates = false;
|
||||||
|
customTitleBar = false;
|
||||||
|
hardwareAcceleration = true;
|
||||||
|
};
|
||||||
|
vencord.settings = {
|
||||||
|
autoUpdate = false;
|
||||||
|
autoUpdateNotification = false;
|
||||||
|
notifyAboutUpdates = false;
|
||||||
|
plugins = {
|
||||||
|
AnonymiseFileNames.enabled = true;
|
||||||
|
BetterFolders.enabled = true;
|
||||||
|
BetterGifAltText.enabled = true;
|
||||||
|
CallTimer.enabled = true;
|
||||||
|
ClearURLs.enabled = true;
|
||||||
|
CopyFileContents.enabled = true;
|
||||||
|
CtrlEnterSend.enabled = true;
|
||||||
|
CustomIdle = {
|
||||||
|
enabled = true;
|
||||||
|
remainInIdle = false;
|
||||||
|
};
|
||||||
|
FriendsSince.enabled = true;
|
||||||
|
GameActivityToggle.enabled = true;
|
||||||
|
ImplicitRelationships.enabled = true;
|
||||||
|
MutualGroupDMs.enabled = true;
|
||||||
|
QuickMention.enabled = true;
|
||||||
|
QuickReply.enabled = true;
|
||||||
|
ReplaceGoogleSearch = {
|
||||||
|
enabled = true;
|
||||||
|
customEngineName = "DuckDuckGo";
|
||||||
|
};
|
||||||
|
ReviewDB.enabled = true;
|
||||||
|
ShowConnections.enabled = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
cmake
|
cmake
|
||||||
shellcheck
|
shellcheck
|
||||||
|
@@ -1,17 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
name,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
import ../default.nix {
|
|
||||||
inherit
|
|
||||||
pkgs
|
|
||||||
lib
|
|
||||||
config
|
|
||||||
name
|
|
||||||
;
|
|
||||||
publicKeys = [
|
|
||||||
];
|
|
||||||
}
|
|
@@ -1,157 +0,0 @@
|
|||||||
{
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
machineConfig,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports =
|
|
||||||
[
|
|
||||||
./home/zsh.nix
|
|
||||||
./home/git.nix
|
|
||||||
]
|
|
||||||
++ lib.optionals (!machineConfig.server) [
|
|
||||||
./home/gammastep.nix
|
|
||||||
./non-server.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
home = {
|
|
||||||
# # Adds the 'hello' command to your environment. It prints a friendly
|
|
||||||
# # "Hello, world!" when run.
|
|
||||||
# pkgs.hello
|
|
||||||
|
|
||||||
# # It is sometimes useful to fine-tune packages, for example, by applying
|
|
||||||
# # overrides. You can do that directly here, just don't forget the
|
|
||||||
# # parentheses. Maybe you want to install Nerd Fonts with a limited number of
|
|
||||||
# # fonts?
|
|
||||||
# (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; })
|
|
||||||
|
|
||||||
# # You can also create simple shell scripts directly inside your
|
|
||||||
# # configuration. For example, this adds a command 'my-hello' to your
|
|
||||||
# # environment:
|
|
||||||
# (pkgs.writeShellScriptBin "my-hello" ''
|
|
||||||
# echo "Hello, ${config.home.username}!"
|
|
||||||
# '')
|
|
||||||
|
|
||||||
username = "sam";
|
|
||||||
homeDirectory = "/home/sam";
|
|
||||||
packages = with pkgs; [
|
|
||||||
python3
|
|
||||||
|
|
||||||
# useful tools
|
|
||||||
file
|
|
||||||
ncdu
|
|
||||||
neofetch
|
|
||||||
onefetch
|
|
||||||
hyfetch
|
|
||||||
smartmontools
|
|
||||||
wget
|
|
||||||
glances
|
|
||||||
onefetch
|
|
||||||
|
|
||||||
# Rust packages
|
|
||||||
bat
|
|
||||||
cargo-update
|
|
||||||
tealdeer
|
|
||||||
|
|
||||||
# nix specific packages
|
|
||||||
nix-output-monitor
|
|
||||||
nix-prefetch
|
|
||||||
nix-tree
|
|
||||||
nh
|
|
||||||
|
|
||||||
# audit
|
|
||||||
lynis
|
|
||||||
|
|
||||||
gocryptfs
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
programs = {
|
|
||||||
|
|
||||||
starship.enable = true;
|
|
||||||
|
|
||||||
fzf = {
|
|
||||||
enable = true;
|
|
||||||
enableZshIntegration = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
direnv = {
|
|
||||||
enable = true;
|
|
||||||
enableZshIntegration = true;
|
|
||||||
nix-direnv.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
eza = {
|
|
||||||
enable = true;
|
|
||||||
icons = "auto";
|
|
||||||
git = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
neovim = {
|
|
||||||
enable = true;
|
|
||||||
defaultEditor = true;
|
|
||||||
vimAlias = true;
|
|
||||||
vimdiffAlias = true;
|
|
||||||
extraConfig = ''
|
|
||||||
set bg=dark
|
|
||||||
set tabstop=2
|
|
||||||
set shiftwidth=2
|
|
||||||
set expandtab
|
|
||||||
set smartindent
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
nix-index = {
|
|
||||||
enable = true;
|
|
||||||
enableZshIntegration = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
tmux.enable = true;
|
|
||||||
topgrade = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
misc = {
|
|
||||||
disable = [
|
|
||||||
"system"
|
|
||||||
"nix"
|
|
||||||
"shell"
|
|
||||||
"poetry"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
services.ssh-agent.enable = true;
|
|
||||||
|
|
||||||
# TODO: add environment bs
|
|
||||||
home.sessionVariables = {
|
|
||||||
EDITOR = "nvim";
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg = {
|
|
||||||
enable = true;
|
|
||||||
userDirs = {
|
|
||||||
enable = true;
|
|
||||||
createDirectories = true;
|
|
||||||
extraConfig = {
|
|
||||||
XDG_SCREENSHOTS_DIR = "${config.xdg.userDirs.pictures}/Screenshots";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
sops = lib.mkIf (!machineConfig.server) {
|
|
||||||
age.sshKeyPaths = [ "/home/sam/.ssh/id_ed25519_sops" ];
|
|
||||||
defaultSopsFile = ./secrets.yaml;
|
|
||||||
};
|
|
||||||
|
|
||||||
nix.gc = {
|
|
||||||
automatic = true;
|
|
||||||
frequency = "weekly";
|
|
||||||
options = "--delete-older-than 30d";
|
|
||||||
};
|
|
||||||
|
|
||||||
home.stateVersion = "25.11";
|
|
||||||
}
|
|
@@ -1,20 +0,0 @@
|
|||||||
{ ... }:
|
|
||||||
{
|
|
||||||
services.gammastep = {
|
|
||||||
enable = true;
|
|
||||||
provider = "manual";
|
|
||||||
latitude = 40.73;
|
|
||||||
longitude = -73.93;
|
|
||||||
temperature.day = 5700;
|
|
||||||
temperature.night = 3500;
|
|
||||||
settings = {
|
|
||||||
general = {
|
|
||||||
fade = 1;
|
|
||||||
elevation-high = 3;
|
|
||||||
elevation-low = -6;
|
|
||||||
brightness-day = 1.0;
|
|
||||||
brightness-low = 0.8;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
@@ -1,36 +0,0 @@
|
|||||||
{ ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
programs.git = {
|
|
||||||
enable = true;
|
|
||||||
lfs.enable = true;
|
|
||||||
signing = {
|
|
||||||
key = "5EFFB75F7C9B74EAA5C4637547940175096C1330";
|
|
||||||
signByDefault = true;
|
|
||||||
};
|
|
||||||
userEmail = "aliceghuston@gmail.com";
|
|
||||||
userName = "ahuston-0";
|
|
||||||
aliases = {
|
|
||||||
gone = ''
|
|
||||||
!git for-each-ref --format '%(refname:short) %(upstream)' | # dump all older branches
|
|
||||||
awk 'NF < 2 {print $1}' | # get nuked branches
|
|
||||||
grep -Pv "(^origin/|^origin$|stash)" | # filter out remotes & stash
|
|
||||||
sed 's/\\x27/\\x5C\\x27/' | # remove single quotes, for xargs reasons
|
|
||||||
xargs -r git branch -D # nuke the branches
|
|
||||||
# !git fetch -p && git for-each-ref --format '%(refname:short) %(upstream:track)' | # dump all branches
|
|
||||||
# awk '$2 == "[gone]" {print $1}' | # get nuked branches
|
|
||||||
# sed 's/\\x27/\\x5C\\x27/' | # remove single quotes, for xargs reasons
|
|
||||||
# xargs -r git branch -D; # nuke the branches #
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
extraConfig = {
|
|
||||||
push.autosetupremote = true;
|
|
||||||
pull.rebase = true;
|
|
||||||
color.ui = true;
|
|
||||||
init.defaultBranch = "main";
|
|
||||||
format.signoff = true;
|
|
||||||
pack.windowMemory = "2g";
|
|
||||||
pack.packSizeLimit = "1g";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
@@ -1,123 +0,0 @@
|
|||||||
{ lib, ... }:
|
|
||||||
{
|
|
||||||
|
|
||||||
programs.zsh = {
|
|
||||||
|
|
||||||
enable = true;
|
|
||||||
oh-my-zsh = {
|
|
||||||
enable = true;
|
|
||||||
plugins = [
|
|
||||||
"git"
|
|
||||||
"docker"
|
|
||||||
"docker-compose"
|
|
||||||
"colored-man-pages"
|
|
||||||
"helm"
|
|
||||||
"kubectl"
|
|
||||||
"minikube"
|
|
||||||
"rust"
|
|
||||||
"skaffold"
|
|
||||||
"systemd"
|
|
||||||
"tmux"
|
|
||||||
"ufw"
|
|
||||||
"z"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
/*
|
|
||||||
To specify the order, use lib.mkOrder.
|
|
||||||
|
|
||||||
Common order values:
|
|
||||||
|
|
||||||
500 (mkBefore): Early initialization (replaces initExtraFirst)
|
|
||||||
|
|
||||||
550: Before completion initialization (replaces initExtraBeforeCompInit)
|
|
||||||
|
|
||||||
1000 (default): General configuration (replaces initExtra)
|
|
||||||
|
|
||||||
1500 (mkAfter): Last to run configuration
|
|
||||||
|
|
||||||
To specify both content in Early initialization and General configuration, use lib.mkMerge.
|
|
||||||
|
|
||||||
e.g.
|
|
||||||
|
|
||||||
initContent = let zshConfigEarlyInit = lib.mkOrder 500 “do something”; zshConfig = lib.mkOrder 1000 “do something”; in lib.mkMerge [ zshConfigEarlyInit zshConfig ];
|
|
||||||
*/
|
|
||||||
|
|
||||||
initContent = lib.mkOrder 1000 ''
|
|
||||||
# functions
|
|
||||||
function mount-data {
|
|
||||||
if [[ -f /home/alice/backup/.noconnection ]]; then
|
|
||||||
sshfs -p 10934 lily@192.168.1.154:/mnt/backup/data/ ~/backup -C
|
|
||||||
else
|
|
||||||
echo "Connection to backup server already open."
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
function mount-backup {
|
|
||||||
if [[ -f /home/alice/backup/.noconnection ]]; then
|
|
||||||
sudo borgmatic mount --options allow_other,nonempty --archive latest --mount-point ~/backup -c /etc/borgmatic/config_checkless.yaml
|
|
||||||
else
|
|
||||||
echo "Connection to backup server already open."
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
function mount-ubuntu {
|
|
||||||
if [[ -f /home/alice/backup/.noconnection ]]; then
|
|
||||||
sshfs lily@192.168.76.101:/mnt/backup/ubuntu.old/ ~/backup -C
|
|
||||||
else
|
|
||||||
echo "Connection to backup server already open."
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
shellAliases = {
|
|
||||||
"sgc" = "sudo git -C /root/dotfiles";
|
|
||||||
## SSH
|
|
||||||
"ssh-init" =
|
|
||||||
"ssh-add -t 2h ~/.ssh/id_rsa_tails ~/.ssh/id_ed25519_tails ~/.ssh/id_rsa_palatine ~/.ssh/id_ed25519_palatine ~/.ssh/id_ed25519_rota ~/.ssh/id_ed25519_gh";
|
|
||||||
|
|
||||||
## Backups
|
|
||||||
"borgmatic-backup-quick" =
|
|
||||||
"sudo borgmatic --log-file-verbosity 2 -v1 --progress --log-file=/var/log/borgmatic.log -c /etc/borgmatic/config_checkless.yaml";
|
|
||||||
"borgmatic-backup-full" =
|
|
||||||
"sudo borgmatic --log-file-verbosity 2 -v1 --log-file=/var/log/borgmatic.log -c /etc/borgmatic/config_full_arch.yaml";
|
|
||||||
"umount-backup" =
|
|
||||||
"sudo borgmatic umount --mount-point /home/alice/backup -c /etc/borgmatic/config_checkless.yaml";
|
|
||||||
"restic-backup" = "/home/alice/Scripts/restic/backup.sh";
|
|
||||||
|
|
||||||
## VPN
|
|
||||||
"pfSense-vpn" = "sudo openvpn --config /etc/openvpn/client/pfSense-TCP4-1194-alice-config.ovpn";
|
|
||||||
"pfSense-vpn-all" = "sudo openvpn --config /etc/openvpn/client/pfSense-TCP4-1195-alice-config.ovpn";
|
|
||||||
|
|
||||||
## Utilities
|
|
||||||
"lrt" = "eza --icons -lsnew";
|
|
||||||
"lynis-grep" = ''sudo lynis audit system 2&>1 | grep -v "egrep"'';
|
|
||||||
"egrep" = "grep -E";
|
|
||||||
"htgp" = "history | grep";
|
|
||||||
"gen_walpaper" = "wal -i '/home/alice/Pictures/Wallpapers/1440pdump'";
|
|
||||||
"vlgdf" = "valgrind --leak-check=full --show-leak-kinds=all --track-origins=yes";
|
|
||||||
"libreoffice-writer" = "libreoffice --writer";
|
|
||||||
"libreoffice-calc" = "libreoffice --calc";
|
|
||||||
"notes" = "code /home/alice/Scripts/Notes/dendron.code-workspace";
|
|
||||||
"ua-drop-caches" = "sudo paccache -rk3; yay -Sc --aur --noconfirm";
|
|
||||||
"ua-update-all" = ''
|
|
||||||
(export TMPFILE="$(mktemp)"; \
|
|
||||||
sudo true; \
|
|
||||||
rate-mirrors --save=$TMPFILE --protocol https\
|
|
||||||
--country-test-mirrors-per-country 10 arch --max-delay=21600 \
|
|
||||||
&& sudo mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist-backup \
|
|
||||||
&& sudo mv $TMPFILE /etc/pacman.d/mirrorlist \
|
|
||||||
&& ua-drop-caches \
|
|
||||||
&& yay -Syyu)
|
|
||||||
'';
|
|
||||||
|
|
||||||
# applications (rofi entries)
|
|
||||||
"ARMEclipse" = "nohup /opt/DS-5_CE/bin/eclipse &";
|
|
||||||
"Wizard101-old" = "prime-run playonlinux --run Wizard\\ 101";
|
|
||||||
"Wizard101" =
|
|
||||||
"prime-run ~/.wine/drive_c/ProgramData/KingsIsle Entertainment/Wizard101/Wizard101.exe";
|
|
||||||
"Pirate101" = "prime-run playonlinux --run Pirate\\ 101";
|
|
||||||
"octave" = "prime-run octave --gui";
|
|
||||||
"pc-firefox" = "proxychains firefox -P qbit -no-remote -P 127.0.0.1:9050";
|
|
||||||
"hx" = "helix";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
@@ -1,33 +0,0 @@
|
|||||||
{ pkgs, outputs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
shellcheck
|
|
||||||
|
|
||||||
# nix tools
|
|
||||||
nil
|
|
||||||
nixfmt-rfc-style
|
|
||||||
nix-init
|
|
||||||
|
|
||||||
# markdown
|
|
||||||
nodePackages.markdownlint-cli
|
|
||||||
|
|
||||||
# language depedencies
|
|
||||||
enchant
|
|
||||||
nuspell
|
|
||||||
hunspellDicts.en-us
|
|
||||||
languagetool
|
|
||||||
|
|
||||||
# latex
|
|
||||||
texlive.combined.scheme-medium
|
|
||||||
|
|
||||||
nextcloud-client
|
|
||||||
bitwarden-cli
|
|
||||||
bitwarden-menu
|
|
||||||
wtype
|
|
||||||
zathura
|
|
||||||
obsidian
|
|
||||||
libreoffice-qt-fresh
|
|
||||||
wlr-randr
|
|
||||||
];
|
|
||||||
}
|
|
Reference in New Issue
Block a user