Compare commits
1 commit
Author | SHA1 | Date | |
---|---|---|---|
|
25e30dd976 |
223 changed files with 4498 additions and 7944 deletions
|
@ -1,6 +0,0 @@
|
|||
[*.nix]
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
max_line_length = 79
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
[submodule "hosts/chmura/jacekpoz.pl/themes/risotto"]
|
||||
path = hosts/chmura/jacekpoz.pl/themes/risotto
|
||||
url = https://github.com/jacekpoz/risotto.git
|
37
README.md
37
README.md
|
@ -2,7 +2,7 @@
|
|||
|
||||
a modular flake containing configurations for most of my machines
|
||||
|
||||
I try to keep this COMPLICATED so other people can NOT learn from my config >:-)
|
||||
I try to keep this simple so other people can learn from my config :-)
|
||||
|
||||
## directory structure
|
||||
```
|
||||
|
@ -10,45 +10,36 @@ niksos/
|
|||
├───hosts/ (machine specific configuration)
|
||||
│ ├───chmura/ [HP t620 PLUS Quad Core TC]
|
||||
│ ├───del/ [Dell Latitude 7320 Detachable]
|
||||
│ ├───hape/ [HP EliteBook 840 G2]
|
||||
│ ├───niks/ [ASUS ROG Strix G513QY]
|
||||
│ ├───work/ [undisclosed model, might change]
|
||||
│ └───common/ (shared configs)
|
||||
│ ├───core/ (imported on all hosts)
|
||||
│ ├───desktop/ (imported on all desktops)
|
||||
│ ├───server/ (imported on all servers)
|
||||
│ └───optional/ (imported in a host's `profile.nix`)
|
||||
├───modules/ (custom modules you can enable under `poz`)
|
||||
│ ├───hape/ [I'll type in the model here some day]
|
||||
│ └───niks/ [ASUS ROG Strix G513QY]
|
||||
├───modules/ (custom modules you can enable under `myOptions`)
|
||||
├───options/ (unconditional modules imported in `hosts/*/profile.nix`)
|
||||
│ ├───common/ (options shared between most or all systems)
|
||||
│ ├───desktop/ (desktop specific options + tablet / mobile)
|
||||
│ └───server/ (server specific options)
|
||||
└───secrets/ (agenix secrets)
|
||||
```
|
||||
|
||||
## cool flakes
|
||||
flakes I ~~stole~~ took inspiration from
|
||||
|
||||
https://github.com/NotAShelf/nyx (goated)
|
||||
https://git.notashelf.dev/NotAShelf/nyx
|
||||
<br>
|
||||
https://github.com/n3oney/nixus
|
||||
<br>
|
||||
https://github.com/sioodmy/dotfiles
|
||||
<br>
|
||||
https://github.com/AlephNought0/Faery
|
||||
https://github.com/RadovanSk/Faery/
|
||||
<br>
|
||||
https://git.outfoxxed.me/outfoxxed/nixnew
|
||||
<br>
|
||||
https://github.com/fufexan/dotfiles
|
||||
https://git.outfoxxed.me/outfoxxed/server-config
|
||||
<br>
|
||||
https://github.com/raidenovich/OuterHeaven
|
||||
https://github.com/fufexan/dotfiles/
|
||||
<br>
|
||||
https://github.com/ardishco-the-great/nixcfg/
|
||||
<br>
|
||||
https://github.com/roastedcheese/nicks
|
||||
<br>
|
||||
https://github.com/EmergentMind/nix-config
|
||||
|
||||
## other nix resources
|
||||
cool stuff that helped me write this config
|
||||
|
||||
https://kokada.dev/blog/an-unordered-list-of-hidden-gems-inside-nixos/
|
||||
<br>
|
||||
https://unmovedcentre.com/posts/anatomy-of-a-nixos-config/
|
||||
|
||||
## license
|
||||
public domain steal all you want just don't copy paste the whole flake and say you made it thanks :-)
|
||||
|
|
3452
flake.lock
3452
flake.lock
File diff suppressed because it is too large
Load diff
59
flake.nix
59
flake.nix
|
@ -15,22 +15,13 @@
|
|||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
|
||||
hyprland = {
|
||||
type = "git";
|
||||
url = "https://github.com/hyprwm/Hyprland";
|
||||
submodules = true;
|
||||
};
|
||||
hyprland.url = "github:hyprwm/Hyprland";
|
||||
|
||||
hyprlock = {
|
||||
url = "github:hyprwm/hyprlock";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
hypridle = {
|
||||
url = "github:hyprwm/hypridle";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
hyprcontrib.url = "github:hyprwm/contrib";
|
||||
|
||||
hyprland-plugins = {
|
||||
|
@ -39,19 +30,12 @@
|
|||
};
|
||||
|
||||
split-monitor-workspaces = {
|
||||
url = "github:Duckonaut/split-monitor-workspaces";
|
||||
url = "github:bivsk/split-monitor-workspaces/bivsk";
|
||||
inputs.hyprland.follows = "hyprland";
|
||||
};
|
||||
|
||||
iio-hyprland.url = "github:JeanSchoeller/iio-hyprland";
|
||||
|
||||
shadower.url = "github:n3oney/shadower";
|
||||
|
||||
woomer = {
|
||||
url = "github:coffeeispower/woomer";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
@ -59,6 +43,11 @@
|
|||
|
||||
conduit.url = "gitlab:famedly/conduit/next";
|
||||
|
||||
nix-gaming = {
|
||||
url = "github:NotAShelf/nix-gaming";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
nur.url = "github:nix-community/NUR";
|
||||
|
||||
fenix = {
|
||||
|
@ -71,11 +60,20 @@
|
|||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
firefox-nightly = {
|
||||
url = "github:colemickens/flake-firefox-nightly";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
nixpkgs-wayland.url = "github:nix-community/nixpkgs-wayland";
|
||||
|
||||
anyrun = {
|
||||
url = "github:Kirottu/anyrun";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay";
|
||||
|
||||
helix.url = "github:helix-editor/helix";
|
||||
|
||||
agenix.url = "github:ryantm/agenix";
|
||||
|
@ -93,30 +91,15 @@
|
|||
};
|
||||
};
|
||||
|
||||
nvf = {
|
||||
url = "github:NotAShelf/nvf";
|
||||
nixvim = {
|
||||
url = "github:nix-community/nixvim";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
waybar.url = "github:Alexays/Waybar";
|
||||
ags.url = "github:Aylur/ags";
|
||||
|
||||
quickshell = {
|
||||
url = "git+https://git.outfoxxed.me/outfoxxed/quickshell";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
wabar.url = "github:Alexays/Waybar";
|
||||
|
||||
pozsite = {
|
||||
url = "git+ssh://jacekpoz/poz/pozsite.git";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
nix-minecraft.url = "github:Infinidoge/nix-minecraft";
|
||||
|
||||
work-secrets.url = "git+ssh://jacekpoz/work/work-secrets";
|
||||
|
||||
nix-webring = {
|
||||
url = "git+https://git.jacekpoz.pl/poz/nixwebr.ing";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
impurity.url = "github:outfoxxed/impurity.nix";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,12 +1,9 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.meta) getExe';
|
||||
in {
|
||||
age.secrets.anki-user-credentials.file = ../../../secrets/anki-user-credentials.age;
|
||||
}: {
|
||||
age.secrets.anki-user-credentials.file = ../../secrets/anki-user-credentials.age;
|
||||
|
||||
systemd.services.anki-sync-server = {
|
||||
description = "Selfhosted Anki sync server.";
|
||||
|
@ -17,7 +14,7 @@ in {
|
|||
Type = "simple";
|
||||
DynamicUser = true;
|
||||
StateDirectory = "anki-sync-server";
|
||||
ExecStart = "${getExe' pkgs.anki-bin "anki"} --syncserver";
|
||||
ExecStart = "${pkgs.anki-bin}/bin/anki --syncserver";
|
||||
Environment = ''SYNC_BASE="/var/lib/anki-sync-server" SYNC_HOST="127.0.0.1" SYNC_PORT="27701"'';
|
||||
EnvironmentFile = config.age.secrets.anki-user-credentials.path;
|
||||
Restart = "always";
|
|
@ -1,20 +1,11 @@
|
|||
{
|
||||
config,
|
||||
inputs,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
port = 6167;
|
||||
in {
|
||||
nix.settings = {
|
||||
substituters = [
|
||||
"https://attic.conduit.rs/conduit"
|
||||
];
|
||||
trusted-public-keys = [
|
||||
"conduit:ddcaWZiWm0l0IXZlO8FERRdWvEufwmd0Negl1P+c0Ns="
|
||||
];
|
||||
};
|
||||
|
||||
environment.systemPackages = [ pkgs.mautrix-discord ];
|
||||
}: with lib; {
|
||||
environment.systemPackages = with pkgs; [ mautrix-discord ];
|
||||
|
||||
services.matrix-conduit = {
|
||||
enable = true;
|
||||
|
@ -24,9 +15,10 @@ in {
|
|||
address = "127.0.0.1";
|
||||
server_name = "jacekpoz.pl";
|
||||
database_backend = "rocksdb";
|
||||
inherit port;
|
||||
enable_lightning_bolt = false;
|
||||
max_request_size = 104857600;
|
||||
port = 6167;
|
||||
max_request_size = 100000000;
|
||||
conduit_cache_capacity_modifier = 4.0;
|
||||
rocksdb_max_open_files = 20;
|
||||
allow_check_for_updates = false;
|
||||
allow_registration = false;
|
||||
};
|
||||
|
@ -35,7 +27,7 @@ in {
|
|||
services.caddy = {
|
||||
enable = true;
|
||||
virtualHosts."m.jacekpoz.pl".extraConfig = ''
|
||||
reverse_proxy /_matrix/* 127.0.0.1:${toString port}
|
||||
reverse_proxy /_matrix/* 127.0.0.1:6167
|
||||
'';
|
||||
virtualHosts."jacekpoz.pl".extraConfig = ''
|
||||
header /.well-known/matrix/* Content-Type application/json
|
|
@ -2,46 +2,53 @@
|
|||
config,
|
||||
...
|
||||
}: let
|
||||
inherit (config.poz.other.system) username;
|
||||
username = config.myOptions.other.system.username;
|
||||
in {
|
||||
nixpkgs = {
|
||||
# fuck broadcom
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
|
||||
boot.loader = {
|
||||
systemd-boot.enable = true;
|
||||
efi.canTouchEfiVariables = true;
|
||||
};
|
||||
|
||||
time.timeZone = "Europe/Warsaw";
|
||||
|
||||
nix.settings = {
|
||||
experimental-features = [
|
||||
"flakes"
|
||||
"nix-command"
|
||||
];
|
||||
trusted-users = [
|
||||
"root"
|
||||
username
|
||||
];
|
||||
};
|
||||
|
||||
users.users.${username} = {
|
||||
extraGroups = [ "docker" ];
|
||||
};
|
||||
|
||||
services.caddy = let
|
||||
services.caddy = let
|
||||
redirToFlake = ''
|
||||
redir https://git.jacekpoz.pl/poz/niksos
|
||||
'';
|
||||
|
||||
redirToQmkFork = ''
|
||||
redir https://git.jacekpoz.pl/poz/qmk_firmware/src/branch/master/keyboards/lily58/keymaps/poz
|
||||
redir https://git.jacekpoz.pl/jacekpoz/niksos
|
||||
'';
|
||||
in {
|
||||
enable = true;
|
||||
virtualHosts = {
|
||||
"test.jacekpoz.pl".extraConfig = ''
|
||||
reverse_proxy * localhost:3001
|
||||
'';
|
||||
virtualHosts."test.jacekpoz.pl".extraConfig = ''
|
||||
reverse_proxy * localhost:3001
|
||||
'';
|
||||
virtualHosts."f.jacekpoz.pl".extraConfig = ''
|
||||
root * /srv
|
||||
file_server
|
||||
'';
|
||||
|
||||
"f.jacekpoz.pl".extraConfig = ''
|
||||
root * /srv/files
|
||||
file_server
|
||||
'';
|
||||
|
||||
"flake.jacekpoz.pl".extraConfig = redirToFlake;
|
||||
"flake.jpoz.pl".extraConfig = redirToFlake;
|
||||
|
||||
"qmk.jacekpoz.pl".extraConfig = redirToQmkFork;
|
||||
"qmk.jpoz.pl".extraConfig = redirToQmkFork;
|
||||
|
||||
"nsfw.jacekpoz.pl".extraConfig = ''
|
||||
redir https://trollface.pl
|
||||
'';
|
||||
};
|
||||
virtualHosts."flake.jacekpoz.pl".extraConfig = redirToFlake;
|
||||
virtualHosts."flake.jpoz.pl".extraConfig = redirToFlake;
|
||||
};
|
||||
|
||||
powerManagement.cpuFreqGovernor = "performance";
|
||||
|
||||
virtualisation = {
|
||||
podman = {
|
||||
enable = true;
|
||||
|
@ -50,32 +57,34 @@ in {
|
|||
oci-containers.backend = "podman";
|
||||
};
|
||||
|
||||
networking.firewall.allowedTCPPorts = [ 80 443 ];
|
||||
networking.firewall.allowedUDPPorts = [ 80 443 ];
|
||||
networking.firewall.allowedTCPPorts = [ 80 443 22 ];
|
||||
|
||||
poz = {
|
||||
other.home-manager.enable = true;
|
||||
myOptions = {
|
||||
other = {
|
||||
system = {
|
||||
hostname = "chmura";
|
||||
username = "chmura";
|
||||
};
|
||||
home-manager.enable = true;
|
||||
};
|
||||
programs = {
|
||||
agenix.enable = true;
|
||||
git = {
|
||||
enable = true;
|
||||
userName = "jacekpoz";
|
||||
userEmail = "jacekpoz@cock.li";
|
||||
signingKey = "0EEE6B0C9A8CC06820E59C3894E812A8B12AAE3C";
|
||||
defaultBranch = "master";
|
||||
};
|
||||
starship.enable = true;
|
||||
zsh.enable = true;
|
||||
btop.enable = true;
|
||||
neovim = {
|
||||
enable = true;
|
||||
enableLsp = false;
|
||||
};
|
||||
neovim.enable = true;
|
||||
helix.enable = true;
|
||||
};
|
||||
services = {
|
||||
ssh = {
|
||||
agent.enable = false;
|
||||
daemon = {
|
||||
enable = true;
|
||||
ports = [ 7312 22 ];
|
||||
};
|
||||
daemon.enable = true;
|
||||
};
|
||||
syncthing.enable = true;
|
||||
};
|
||||
|
|
|
@ -1,13 +1,23 @@
|
|||
_: {
|
||||
imports = [
|
||||
./services
|
||||
./trollface.pl
|
||||
#./minecraft
|
||||
./anki-sync-server.nix
|
||||
./conduit.nix
|
||||
./configuration.nix
|
||||
#./discord-autodelete.nix
|
||||
./firefox-syncserver.nix
|
||||
./forgejo.nix
|
||||
#./freshrss.nix
|
||||
#./grafana.nix
|
||||
./hardware-configuration.nix
|
||||
./i2pd.nix
|
||||
./jacekpoz.pl.nix
|
||||
./nixwebr.ing.nix
|
||||
./ntfy-sh.nix
|
||||
./owncast.nix
|
||||
./profile.nix
|
||||
./programs.nix
|
||||
./system.nix
|
||||
#./stalwart.nix
|
||||
./trollface.pl
|
||||
#./qbittorrent.nix
|
||||
];
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
uid = 989;
|
||||
gid = 5638;
|
||||
in {
|
||||
age.secrets.discord-autodelete-config.file = ../../../secrets/discord-autodelete-config.age;
|
||||
age.secrets.discord-autodelete-config.file = ../../secrets/discord-autodelete-config.age;
|
||||
|
||||
users = {
|
||||
users.${service-name} = {
|
||||
|
@ -31,7 +31,7 @@ in {
|
|||
|
||||
services.dbus.enable = true;
|
||||
|
||||
environment.systemPackages = [ pkgs.dbus ];
|
||||
environment.systemPackages = with pkgs; [ dbus ];
|
||||
|
||||
systemd.tmpfiles.rules = [
|
||||
"d /var/lib/${service-name} 0700 ${service-name} ${toString gid}"
|
33
hosts/chmura/firefox-syncserver.nix
Normal file
33
hosts/chmura/firefox-syncserver.nix
Normal file
|
@ -0,0 +1,33 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
domain = "ffsync.jacekpoz.pl";
|
||||
in {
|
||||
age.secrets.firefox-syncserver-secrets.file = ../../secrets/firefox-syncserver-secrets.age;
|
||||
|
||||
services.firefox-syncserver = {
|
||||
enable = true;
|
||||
logLevel = "warn";
|
||||
singleNode = {
|
||||
enable = true;
|
||||
capacity = 100;
|
||||
hostname = domain;
|
||||
url = "https://${domain}";
|
||||
};
|
||||
settings = {
|
||||
port = 6583;
|
||||
};
|
||||
secrets = config.age.secrets.firefox-syncserver-secrets.path;
|
||||
};
|
||||
|
||||
services.mysql.package = pkgs.mariadb;
|
||||
|
||||
services.caddy = {
|
||||
enable = true;
|
||||
virtualHosts.${domain}.extraConfig = ''
|
||||
reverse_proxy * localhost:6583
|
||||
'';
|
||||
};
|
||||
}
|
34
hosts/chmura/forgejo.nix
Normal file
34
hosts/chmura/forgejo.nix
Normal file
|
@ -0,0 +1,34 @@
|
|||
{
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
services.forgejo = {
|
||||
enable = true;
|
||||
lfs.enable = true;
|
||||
database.type = "postgres";
|
||||
dump = {
|
||||
enable = true;
|
||||
type = "tar.xz";
|
||||
};
|
||||
settings = {
|
||||
DEFAULT = {
|
||||
APP_NAME = "fuck it we code";
|
||||
};
|
||||
|
||||
server = rec {
|
||||
DOMAIN = "git.jacekpoz.pl";
|
||||
HTTP_PORT = 1849;
|
||||
PROTOCOL = "http";
|
||||
SSH_PORT = 8236;
|
||||
ROOT_URL = "${PROTOCOL}://${DOMAIN}/";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services.caddy = {
|
||||
enable = true;
|
||||
virtualHosts."git.jacekpoz.pl".extraConfig = ''
|
||||
reverse_proxy * localhost:${toString config.services.forgejo.settings.server.HTTP_PORT}
|
||||
'';
|
||||
};
|
||||
}
|
|
@ -1,82 +1,16 @@
|
|||
{
|
||||
inputs,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.attrsets) attrValues;
|
||||
inherit (lib.meta) getExe';
|
||||
|
||||
systemctl = getExe' pkgs.systemd "systemctl";
|
||||
|
||||
port = 4827;
|
||||
sitePath = "/srv/web/jacekpoz.pl";
|
||||
in {
|
||||
}: {
|
||||
services.caddy = {
|
||||
enable = true;
|
||||
virtualHosts = {
|
||||
"jacekpoz.pl".extraConfig = ''
|
||||
reverse_proxy localhost:${toString port}
|
||||
'';
|
||||
"jpoz.pl".extraConfig = ''
|
||||
redir / https://jacekpoz.pl
|
||||
redir /git https://jacekpoz.pl/posts/git-workflow.html
|
||||
'';
|
||||
"jacek.poziem.ski".extraConfig = ''
|
||||
redir https://jacekpoz.pl
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
users.groups.site = {};
|
||||
|
||||
users.users.site = {
|
||||
isSystemUser = true;
|
||||
group = "site";
|
||||
};
|
||||
|
||||
systemd = {
|
||||
services = {
|
||||
pozback = {
|
||||
description = "The backend for jacekpoz.pl";
|
||||
after = ["network.target"];
|
||||
wantedBy = ["multi-user.target"];
|
||||
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = "${inputs.pozsite.packages.${pkgs.system}.pozback}/bin/back";
|
||||
Restart = "on-failure";
|
||||
Environment = ''POZ_PORT="${toString port}" POZ_DIR="${sitePath}"'';
|
||||
User = "site";
|
||||
Group = "site";
|
||||
};
|
||||
|
||||
path = attrValues {
|
||||
inherit (pkgs)
|
||||
fastfetch
|
||||
colorized-logs
|
||||
;
|
||||
};
|
||||
};
|
||||
|
||||
pozback-watcher = {
|
||||
description = "Restarter for the backend";
|
||||
after = ["network.target"];
|
||||
wantedBy = ["multi-user.target"];
|
||||
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
ExecStart = "${systemctl} restart pozback.service";
|
||||
};
|
||||
};
|
||||
};
|
||||
paths.pozback-watcher = {
|
||||
wantedBy = ["multi-user.target"];
|
||||
|
||||
pathConfig = {
|
||||
PathModified = sitePath;
|
||||
Unit = "pozback-watcher.service";
|
||||
};
|
||||
};
|
||||
virtualHosts."jacekpoz.pl".extraConfig = ''
|
||||
root * ${ pkgs.callPackage ./jacekpoz.pl { } }
|
||||
file_server
|
||||
'';
|
||||
virtualHosts."jpoz.pl".extraConfig = ''
|
||||
redir / https://jacekpoz.pl
|
||||
redir /git https://jacekpoz.pl/posts/git-workflow
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
5
hosts/chmura/jacekpoz.pl/archetypes/default.md
Normal file
5
hosts/chmura/jacekpoz.pl/archetypes/default.md
Normal file
|
@ -0,0 +1,5 @@
|
|||
+++
|
||||
title = '{{ replace .File.ContentBaseName "-" " " | title }}'
|
||||
date = {{ .Date }}
|
||||
draft = true
|
||||
+++
|
1
hosts/chmura/jacekpoz.pl/content/_index.md
Normal file
1
hosts/chmura/jacekpoz.pl/content/_index.md
Normal file
|
@ -0,0 +1 @@
|
|||
piss blob
|
9
hosts/chmura/jacekpoz.pl/content/about.md
Normal file
9
hosts/chmura/jacekpoz.pl/content/about.md
Normal file
|
@ -0,0 +1,9 @@
|
|||
+++
|
||||
title = 'About'
|
||||
date = 2023-11-12T23:23:47+01:00
|
||||
draft = false
|
||||
+++
|
||||
|
||||
hello :-)
|
||||
|
||||
I like foss and stuff
|
115
hosts/chmura/jacekpoz.pl/content/posts/git-workflow.md
Normal file
115
hosts/chmura/jacekpoz.pl/content/posts/git-workflow.md
Normal file
|
@ -0,0 +1,115 @@
|
|||
+++
|
||||
title = 'My git workflow'
|
||||
date = 2023-11-12T19:10:04+01:00
|
||||
draft = false
|
||||
+++
|
||||
|
||||
## TL;DR (if you use nix)
|
||||
|
||||
[git module](https://codeberg.org/jacekpoz/niksos/src/branch/master/modules/cli/git.nix) (uses home-manager) and [the config](https://codeberg.org/jacekpoz/niksos/src/branch/master/hosts/niks/configuration.nix#L323-L330)
|
||||
[ssh module](https://codeberg.org/jacekpoz/niksos/src/branch/master/modules/services/ssh.nix) and [the config](https://codeberg.org/jacekpoz/niksos/src/branch/master/hosts/niks/configuration.nix#L434-L472)
|
||||
|
||||
---
|
||||
|
||||
Over the past few months I helped a few people learn git so I decided to put this together instead of explaining my workflow each time.
|
||||
|
||||
Hopefully this can serve as a simple git guide to get started quickly or as a reference to come back to if you forget something.
|
||||
|
||||
I don't use any git wrappers, the cli is enough for me. If you know of a good one let me know, I might try it and add it here.
|
||||
|
||||
---
|
||||
|
||||
I aliased `git` to `g` in my [zsh config](https://codeberg.org/jacekpoz/niksos/src/branch/master/modules/cli/zsh.nix#L31), which is what I use in all the examples below.
|
||||
|
||||
First the basics:
|
||||
|
||||
- `g init` initializes the repo in `.`; make sure you create a new one for your repo,
|
||||
|
||||
- `g clone forge:username/repo` will download that repository into `./repo`,
|
||||
|
||||
- `g remote add origin forge:username/repo` is how you connect the local repo to your preferred git forge (more in [remotes](#remotes)),
|
||||
|
||||
- `g add .` adds all the changes you made so far (more in [adding](#adding)),
|
||||
|
||||
- `g commit -m "commit message"` creates a commit with whatever you added prior (more in [commits](#commits)),
|
||||
|
||||
- `g push` pushes all the commits to the forge (it ignores added but uncommited changes),
|
||||
|
||||
- `g status` shows you the current status (added files, unpushed commites, etc.) and handy commands on how to change it.
|
||||
|
||||
If you run all these right now you'll get an error akin to this:
|
||||
```
|
||||
user@example.com: Permission denied (publickey).
|
||||
fatal: Could not read from remote repository.
|
||||
|
||||
Please make sure you have the correct access rights
|
||||
and the repository exists.
|
||||
```
|
||||
which means you need to generate and setup an ssh key.
|
||||
|
||||
## SSH key
|
||||
|
||||
`ssh-keygen -t ed25519 -f ~/.ssh/<keyfile>` is what I usually do. Some people might recommend making a single key for all git forges, I keep them separate, you do you.
|
||||
|
||||
After running the above you'll be asked to enter a passphrase or leave it empty for no passphrase. I recommend **always** setting a strong passphrase (could be generated with [KeePassXC](https://keepassxc.org)) and adding it to a password manager like the aforementioned. Copying and pasting that passphrase isn't a big deal, having your unlocked key stolen is.
|
||||
|
||||
After doing that you'll have 2 files, `~/.ssh/<keyfile>` (the private key) and `~/.ssh/<keyfile>.pub` (the public key). As the name suggests, **DO NOT** share the first one with anyone, it must be kept secure. If that leaks and isn't protected by a password, or the password is cracked, whoever has the file can modify the git history as you.
|
||||
|
||||
Now you want to add your public key to your preferred git forge. Here's how to do that on [github](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account), [gitlab](https://docs.gitlab.com/ee/user/ssh.html#add-an-ssh-key-to-your-gitlab-account) and [codeberg](https://docs.codeberg.org/security/ssh-key/#add-the-ssh-key-to-codeberg) (which should work for all forgejo instances). All of these instructions are pretty similar and you should be able to figure it out after the first time.
|
||||
|
||||
What we need to do now is tell git which ssh key to use when connecting to our preferred forge.
|
||||
|
||||
## Remotes
|
||||
|
||||
On my machine I alias all the remotes in my ssh config which both makes them shorter and allows me to add the ssh key to that forge. The nix config is at the top but if you don't use nix this is what you add for each remote to either `/etc/ssh/ssh_config` or (preferably) `~/.ssh/config`:
|
||||
```
|
||||
Host example
|
||||
HostName git.example.com
|
||||
User git
|
||||
IdentityFile /path/to/private_key
|
||||
```
|
||||
|
||||
For an example, this is what I'd do for codeberg:
|
||||
```
|
||||
Host codeberg
|
||||
HostName codeberg.org
|
||||
User git
|
||||
IdentityFile ~/.ssh/codeberg
|
||||
```
|
||||
and change my git remote: `g remote set-url origin codeberg:nickname/repo` (if you added it already).
|
||||
|
||||
Now you should finally be able to push your changes! That wasn't so bad, was it? This workflow might not be ideal to you but it's simple and convenient enough for me and I think it should be alright for new users.
|
||||
|
||||
The purpose of this post isn't to be a general git guide, it's a reference I (and hopefully others) can go back to. For a general git guide that goes much more in depth than this I can't recommend the [official git book](https://git-scm.com/book/en/v2) enough. This post covers a very small part of the second chapter of that book. If you also want a (maybe not so quick) reference for various git subcommands check their manpages, e.g. `man git-add` for `g add`.
|
||||
|
||||
Now, if all you want to do is push a few commits to a repo, this should be enough and you can stop reading. If you want to learn interactive adding, reverting your changes, signing your commits with a GPG key and more, read on!
|
||||
|
||||
## Adding
|
||||
|
||||
`g add` accepts a [glob pattern](https://en.wikipedia.org/wiki/Glob_(programming)#Unix-like) meaning that you can e.g. `g add *.c` to add all files ending with `.c` in the current directory. Passing a single file name of course also works.
|
||||
|
||||
`g add -p` gives you access to the interactive mode, which displays hunks (a part of the changes) that you can add `y`, discard `n`, split `s` or manually edit `e` into smaller hunks. It also accepts a glob pattern, just like the normal `g add`. The interactive mode might offer more functionality but I found these 4 options to be enough for almost anything.
|
||||
|
||||
## Commits
|
||||
|
||||
`g commit` without any flags will let you edit the commit message in your editor of choice. It can be set with either `g config --global core.editor "my_editor"` or with the environment variable `GIT_EDITOR`. If you're on nix and use home-manager check my git module.
|
||||
|
||||
`g log` gives you all commits in the current repo. Each commit description starts with something like `commit b155c8912bb2347e030e723a2b37f1a60cb0fe15`. That big mess of characters is the commit hash, its identifier which you will use to refer to that commit. Usually you can type the first few characters of that hash and it should also work. When in doubt use your shell's autocompletion (most likely using the tab key). `g log` has *a lot* of flags, either read its manpage or toy around with the help of autocompletion.
|
||||
|
||||
If you want to see the state of your repo at a specific commit use `g checkout`.
|
||||
|
||||
Now that we know how to view and refer to a specific commit, we can learn how to revert the changes made in that commit. The terminology on this one is really confusing, I have to check it almost every time I need to revert a commit:
|
||||
|
||||
- `g reset --hard commit_hash` will remove that commit and **remove all the changes in that commit locally** — to get them back you have to rewrite them by hand; most of the time not necessary,
|
||||
|
||||
- `g revert commit_hash` will create a revert commit — the exact opposite of the one you're reverting, bringing you back to the state before it,
|
||||
|
||||
- `g reset --soft commit_hash` will remove that commit but keep its changes, allowing you to make further changes, add and commit them again; in practice this is the one I use the most.
|
||||
|
||||
To ammend further changes to the last commit you can add the changes and use `g commit --ammend`. It's probably a faster equivalent to `g reset --soft`, I just happen to have learned the former first and got used to it.
|
||||
|
||||
If you want to sign your commits with a GPG key, verifying that you're actually their author, you want to make git aware of your public key. To do that, run `g config --global user.signingkey my_public_gpg_key` and install a pinentry frontend. I use the qt one and can recommend it. If you have no idea what I'm talking about, skip this section. This isn't necessary and your contributions most likely won't be rejected because your commits aren't signed.
|
||||
|
||||
---
|
||||
|
||||
If you got stuck on some part, find this too hard or have any suggestions for this post, feel free to contact me. All my public contact information is on the sidebar at the top of all pages, I'd be more than happy to help you out. :-)
|
31
hosts/chmura/jacekpoz.pl/default.nix
Normal file
31
hosts/chmura/jacekpoz.pl/default.nix
Normal file
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
pkgs ? import <nixpkgs> {},
|
||||
...
|
||||
}: let
|
||||
risotto-src = pkgs.fetchFromGitHub {
|
||||
owner = "jacekpoz";
|
||||
repo = "risotto";
|
||||
rev = "7c8cdd97cca30c49f0c13cf2e049f43b39b49d75";
|
||||
hash = "sha256-CX4aLTY1Z6E0QoRQIUOmfhG1gGCCnLqwBiLjhVMSpY8=";
|
||||
};
|
||||
in pkgs.stdenv.mkDerivation {
|
||||
name = "jacekpoz.pl";
|
||||
version = "0.1";
|
||||
src = ./.;
|
||||
|
||||
buildInputs = with pkgs; [
|
||||
hugo
|
||||
];
|
||||
dontConfigure = true;
|
||||
|
||||
buildPhase = ''
|
||||
cp -r $src/* .
|
||||
cp -r ${risotto-src} ./themes/risotto
|
||||
${pkgs.hugo}/bin/hugo
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
cp -r ./public/* $out/
|
||||
'';
|
||||
}
|
40
hosts/chmura/jacekpoz.pl/hugo.toml
Normal file
40
hosts/chmura/jacekpoz.pl/hugo.toml
Normal file
|
@ -0,0 +1,40 @@
|
|||
baseURL = "https://jacekpoz.pl/"
|
||||
theme = "risotto"
|
||||
languageCode = "en-us"
|
||||
title = "jacekpoz"
|
||||
author = "jacekpoz"
|
||||
copyright = "© 2023 by jacekpoz"
|
||||
|
||||
[params]
|
||||
|
||||
[params.theme]
|
||||
palette = "tokyo-night-dark"
|
||||
|
||||
[params.about]
|
||||
title = "jacekpoz"
|
||||
description = "piss blob"
|
||||
logo = "jacekpoz.svg"
|
||||
|
||||
[[params.socialLinks]]
|
||||
logo = "email.svg"
|
||||
title = "Email"
|
||||
url = "mailto:jacekpoz@cock.li"
|
||||
|
||||
[[params.socialLinks]]
|
||||
logo = "matrix.svg"
|
||||
title = "Matrix"
|
||||
url = "https://matrix.to/#/@jacekpoz:jacekpoz.pl"
|
||||
|
||||
[menu]
|
||||
|
||||
[[menu.main]]
|
||||
identifier = "posts"
|
||||
name = "posts"
|
||||
url = "/posts/"
|
||||
weight = 1
|
||||
|
||||
[[menu.main]]
|
||||
identifier = "about"
|
||||
name = "about"
|
||||
url = "/about"
|
||||
weight = 2
|
7
hosts/chmura/jacekpoz.pl/static/email.svg
Normal file
7
hosts/chmura/jacekpoz.pl/static/email.svg
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="windows-1252"?>
|
||||
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
||||
<svg fill="#ffffff" height="32px" width="32px" version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 75.294 75.294" xml:space="preserve">
|
||||
<g>
|
||||
<path d="M66.097,12.089h-56.9C4.126,12.089,0,16.215,0,21.286v32.722c0,5.071,4.126,9.197,9.197,9.197h56.9 c5.071,0,9.197-4.126,9.197-9.197V21.287C75.295,16.215,71.169,12.089,66.097,12.089z M61.603,18.089L37.647,33.523L13.691,18.089 H61.603z M66.097,57.206h-56.9C7.434,57.206,6,55.771,6,54.009V21.457l29.796,19.16c0.04,0.025,0.083,0.042,0.124,0.065 c0.043,0.024,0.087,0.047,0.131,0.069c0.231,0.119,0.469,0.215,0.712,0.278c0.025,0.007,0.05,0.01,0.075,0.016 c0.267,0.063,0.537,0.102,0.807,0.102c0.001,0,0.002,0,0.002,0c0.002,0,0.003,0,0.004,0c0.27,0,0.54-0.038,0.807-0.102 c0.025-0.006,0.05-0.009,0.075-0.016c0.243-0.063,0.48-0.159,0.712-0.278c0.044-0.022,0.088-0.045,0.131-0.069 c0.041-0.023,0.084-0.04,0.124-0.065l29.796-19.16v32.551C69.295,55.771,67.86,57.206,66.097,57.206z"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.1 KiB |
BIN
hosts/chmura/jacekpoz.pl/static/favicon.ico
Normal file
BIN
hosts/chmura/jacekpoz.pl/static/favicon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 34 KiB |
|
@ -67,25 +67,21 @@
|
|||
d="m11.7761 19.853c0-.9427-.7636-1.7063-1.7064-1.7063-1.04251 0-2.37002 0-3.41258 0-.94274 0-1.70631.7636-1.70631 1.7063 0 .9428.76357 1.7064 1.70631 1.7064h3.41258c.9428 0 1.7064-.7636 1.7064-1.7064z"
|
||||
fill="#ed6b44"
|
||||
id="path99" />
|
||||
<!-- left eye -->
|
||||
<!--<path
|
||||
<path
|
||||
d="m 6.498,18.9998 c 1.0178,0 1.9938,-0.4044 2.7139,-1.1236 0.7192,-0.72 1.1236,-1.696 1.1236,-2.7139 0,-0.2841 0,-0.5707 0,-0.8548 0,-2.1201 -1.7191,-3.8392 -3.8392,-3.8392 -8e-4,0 -8e-4,0 -0.0017,0 -1.01781,0 -1.99382,0.4044 -2.71389,1.1236 -0.71921,0.72 -1.12361,1.696 -1.12361,2.7139 v 0.8548 c 0,2.1201 1.71912,3.8392 3.8392,3.8392 z"
|
||||
fill="#ffffff"
|
||||
id="path101" />-->
|
||||
<!-- left pupil -->
|
||||
<!--<path
|
||||
id="path101" />
|
||||
<path
|
||||
d="m 5.21658,14.7256 c 0,-0.9376 0.76017,-1.6978 1.69782,-1.6978 h 0.017 c 0.9376,0 1.6978,0.7602 1.6978,1.6978 v 0.0026 c 0,0.9376 -0.7602,1.6978 -1.6978,1.6978 -0.0059,0 -0.0111,0 -0.017,0 -0.93765,0 -1.69782,-0.7602 -1.69782,-1.6978 0,-9e-4 0,-0.0017 0,-0.0026 z"
|
||||
fill="#000000"
|
||||
id="path103" />-->
|
||||
<!-- right eye -->
|
||||
<!--<path
|
||||
id="path103" />
|
||||
<path
|
||||
d="m 25.5857,18.9998 c -1.0178,0 -1.9939,-0.4044 -2.7139,-1.1236 -0.7192,-0.72 -1.1236,-1.696 -1.1236,-2.7139 0,-0.2849 0,-0.5716 0,-0.8565 0,-1.0179 0.4044,-1.9939 1.1236,-2.7139 0.72,-0.7192 1.6961,-1.1236 2.7139,-1.1236 h 0.0034 c 1.0178,0 1.9938,0.4044 2.7139,1.1236 0.7192,0.72 1.1236,1.696 1.1236,2.7139 v 0.8548 c 0,2.1201 -1.7191,3.8392 -3.8392,3.8392 -9e-4,0 -9e-4,0 -0.0017,0 z"
|
||||
fill="#ffffff"
|
||||
id="path105" />-->
|
||||
<!-- right pupil -->
|
||||
<!--<path
|
||||
id="path105" />
|
||||
<path
|
||||
d="m 26.8671,14.7256 c 0,-0.9376 -0.7602,-1.6978 -1.6978,-1.6978 -0.006,0 -0.0111,0 -0.017,0 -0.9377,0 -1.6978,0.7602 -1.6978,1.6978 v 0.0026 c 0,0.9376 0.7601,1.6978 1.6978,1.6978 h 0.017 c 0.9376,0 1.6978,-0.7602 1.6978,-1.6978 0,-9e-4 0,-0.0017 0,-0.0026 z"
|
||||
fill="#000000"-->
|
||||
fill="#000000"
|
||||
id="path107" />
|
||||
</g>
|
||||
</g>
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.2 KiB |
52
hosts/chmura/jacekpoz.pl/static/matrix.svg
Normal file
52
hosts/chmura/jacekpoz.pl/static/matrix.svg
Normal file
|
@ -0,0 +1,52 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
|
||||
<svg
|
||||
version="1.1"
|
||||
id="Layer_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
width="32px"
|
||||
height="32px"
|
||||
viewBox="0 0 520 520"
|
||||
style="enable-background:new 0 0 520 520;"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="matrix.svg"
|
||||
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs123" /><sodipodi:namedview
|
||||
id="namedview121"
|
||||
pagecolor="#505050"
|
||||
bordercolor="#ffffff"
|
||||
borderopacity="1"
|
||||
inkscape:showpageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="1"
|
||||
inkscape:deskcolor="#505050"
|
||||
showgrid="false"
|
||||
inkscape:zoom="1.3965359"
|
||||
inkscape:cx="187.60706"
|
||||
inkscape:cy="338.33717"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1404"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="Layer_1"
|
||||
showguides="false" />
|
||||
<path
|
||||
d="M13.7,11.9v496.2h35.7V520H0V0h49.4v11.9H13.7z"
|
||||
id="path114"
|
||||
style="stroke-width:15;stroke-dasharray:none;stroke:#ffffff;stroke-opacity:1;fill:#ffffff;fill-opacity:1" />
|
||||
<path
|
||||
d="M166.3,169.2v25.1h0.7c6.7-9.6,14.8-17,24.2-22.2c9.4-5.3,20.3-7.9,32.5-7.9c11.7,0,22.4,2.3,32.1,6.8 c9.7,4.5,17,12.6,22.1,24c5.5-8.1,13-15.3,22.4-21.5c9.4-6.2,20.6-9.3,33.5-9.3c9.8,0,18.9,1.2,27.3,3.6c8.4,2.4,15.5,6.2,21.5,11.5 c6,5.3,10.6,12.1,14,20.6c3.3,8.5,5,18.7,5,30.7v124.1h-50.9V249.6c0-6.2-0.2-12.1-0.7-17.6c-0.5-5.5-1.8-10.3-3.9-14.3 c-2.2-4.1-5.3-7.3-9.5-9.7c-4.2-2.4-9.9-3.6-17-3.6c-7.2,0-13,1.4-17.4,4.1c-4.4,2.8-7.9,6.3-10.4,10.8c-2.5,4.4-4.2,9.4-5,15.1 c-0.8,5.6-1.3,11.3-1.3,17v103.3h-50.9v-104c0-5.5-0.1-10.9-0.4-16.3c-0.2-5.4-1.3-10.3-3.1-14.9c-1.8-4.5-4.8-8.2-9-10.9 c-4.2-2.7-10.3-4.1-18.5-4.1c-2.4,0-5.6,0.5-9.5,1.6c-3.9,1.1-7.8,3.1-11.5,6.1c-3.7,3-6.9,7.3-9.5,12.9c-2.6,5.6-3.9,13-3.9,22.1 v107.6h-50.9V169.2H166.3z"
|
||||
id="path116"
|
||||
style="stroke-width:1;stroke-dasharray:none;fill:#ffffff;fill-opacity:1" />
|
||||
<path
|
||||
d="M506.3,508.1V11.9h-35.7V0H520v520h-49.4v-11.9H506.3z"
|
||||
id="path118"
|
||||
style="stroke-width:15;stroke-dasharray:none;stroke:#ffffff;stroke-opacity:1;fill:#ffffff;fill-opacity:1" />
|
||||
</svg>
|
After Width: | Height: | Size: 2.4 KiB |
1
hosts/chmura/jacekpoz.pl/themes/risotto
Submodule
1
hosts/chmura/jacekpoz.pl/themes/risotto
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit 7c8cdd97cca30c49f0c13cf2e049f43b39b49d75
|
42
hosts/chmura/minecraft/default.nix
Normal file
42
hosts/chmura/minecraft/default.nix
Normal file
|
@ -0,0 +1,42 @@
|
|||
{
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
services.minecraft-server = {
|
||||
enable = false;
|
||||
package = pkgs.purpur;
|
||||
eula = true;
|
||||
declarative = true;
|
||||
jvmOpts = "";
|
||||
serverProperties = {
|
||||
server-ip = "192.168.15.17";
|
||||
server-port = 2137;
|
||||
difficulty = 3;
|
||||
gamemode = 0;
|
||||
enable-command-block = false;
|
||||
hide-online-players = true;
|
||||
level-name = "swiat";
|
||||
max-players = 2;
|
||||
online-mode = true;
|
||||
snooper-enabled = false;
|
||||
spawn-protection = 0;
|
||||
view-distance = 12;
|
||||
white-list = true;
|
||||
enforce-whitelist = true;
|
||||
};
|
||||
whitelist = {
|
||||
jacekpoz = "8cc45dd9-0145-4068-be30-038a3844ebd0";
|
||||
krizej = "c456cd5a-489d-4c6e-9613-aa9735fe2843";
|
||||
};
|
||||
};
|
||||
|
||||
services.caddy = {
|
||||
enable = true;
|
||||
virtualHosts."mc.jacekpoz.pl".extraConfig = ''
|
||||
reverse_proxy * localhost:2137
|
||||
'';
|
||||
};
|
||||
|
||||
networking.firewall.allowedTCPPorts = [ 2137 ];
|
||||
networking.firewall.allowedUDPPorts = [ 2137 ];
|
||||
}
|
|
@ -1,67 +0,0 @@
|
|||
{
|
||||
inputs,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.meta) getExe';
|
||||
|
||||
systemctl = getExe' pkgs.systemd "systemctl";
|
||||
|
||||
port = 5932;
|
||||
sitePath = "/srv/web/nixwebr.ing";
|
||||
in {
|
||||
services.caddy = {
|
||||
enable = true;
|
||||
virtualHosts = {
|
||||
"nixwebr.ing".extraConfig = ''
|
||||
reverse_proxy localhost:${toString port}
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
users.groups.nixwebring = {};
|
||||
|
||||
users.users.nixwebring = {
|
||||
isSystemUser = true;
|
||||
group = "nixwebring";
|
||||
};
|
||||
|
||||
systemd = {
|
||||
services = {
|
||||
nix-webring-server = {
|
||||
description = "The backend for nixwebr.ing";
|
||||
after = ["network.target"];
|
||||
wantedBy = ["multi-user.target"];
|
||||
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = "${inputs.nix-webring.packages.${pkgs.system}.server}/bin/nix-webring-server";
|
||||
Restart = "on-failure";
|
||||
Environment = ''NIX_WEBRING_PORT="${toString port}" NIX_WEBRING_DIR="${sitePath}"'';
|
||||
User = "nixwebring";
|
||||
Group = "nixwebring";
|
||||
};
|
||||
};
|
||||
|
||||
nix-webring-server-watcher = {
|
||||
description = "Restarter for the backend";
|
||||
after = ["network.target"];
|
||||
wantedBy = ["multi-user.target"];
|
||||
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
ExecStart = "${systemctl} restart nix-webring-server.service";
|
||||
};
|
||||
};
|
||||
};
|
||||
paths.nix-webring-server-watcher = {
|
||||
wantedBy = ["multi-user.target"];
|
||||
|
||||
pathConfig = {
|
||||
PathModified = sitePath;
|
||||
Unit = "nix-webring-server-watcher.service";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -15,6 +15,6 @@
|
|||
'';
|
||||
};
|
||||
|
||||
networking.firewall.allowedTCPPorts = [ 80 443 ]
|
||||
networking.firewall.allowedTCPPorts = [ 80 443 ]
|
||||
++ [ config.services.owncast.rtmp-port ];
|
||||
}
|
|
@ -1,10 +1,5 @@
|
|||
{
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.lists) map;
|
||||
inherit (lib.path) append;
|
||||
in {
|
||||
imports = map (append ../common/optional) [
|
||||
_: {
|
||||
imports = [
|
||||
../../options/common/btrfs-scrub.nix
|
||||
];
|
||||
}
|
||||
|
|
|
@ -1,46 +1,49 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (config.poz.other.system) username;
|
||||
|
||||
inherit (lib.attrsets) attrValues;
|
||||
username = config.myOptions.other.system.username;
|
||||
in {
|
||||
home-manager.users.${username} = {
|
||||
home.packages = attrValues {
|
||||
inherit (pkgs)
|
||||
eza
|
||||
ripgrep
|
||||
unzip
|
||||
trash-cli
|
||||
dig
|
||||
xdg-ninja
|
||||
gnupg
|
||||
age
|
||||
fd
|
||||
asciinema
|
||||
asciinema-agg
|
||||
du-dust
|
||||
file
|
||||
magic-wormhole
|
||||
uutils-coreutils
|
||||
imagemagick
|
||||
psmisc
|
||||
jq
|
||||
fq
|
||||
progress
|
||||
parallel
|
||||
p7zip
|
||||
xxd
|
||||
lshw
|
||||
tree
|
||||
smartmontools
|
||||
curl
|
||||
fastfetch
|
||||
wireguard-tools
|
||||
;
|
||||
};
|
||||
home.packages = with pkgs; [
|
||||
git
|
||||
eza
|
||||
ripgrep
|
||||
unzip
|
||||
trash-cli
|
||||
dig
|
||||
xdg-ninja
|
||||
gnupg
|
||||
age
|
||||
fd
|
||||
asciinema
|
||||
asciinema-agg
|
||||
du-dust
|
||||
file
|
||||
git-annex
|
||||
croc
|
||||
uutils-coreutils
|
||||
imagemagick
|
||||
psmisc
|
||||
nnn
|
||||
jq
|
||||
fq
|
||||
gnumake
|
||||
gdb
|
||||
tea
|
||||
codeberg-cli
|
||||
progress
|
||||
parallel
|
||||
p7zip
|
||||
xxd
|
||||
lshw
|
||||
tree
|
||||
smartmontools
|
||||
curl
|
||||
fastfetch
|
||||
wireguard-tools
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
_: {
|
||||
{
|
||||
...
|
||||
}: {
|
||||
services.restic = {
|
||||
server = {
|
||||
enable = true;
|
|
@ -1,19 +0,0 @@
|
|||
_: {
|
||||
imports = [
|
||||
./anki-sync-server.nix
|
||||
./conduit.nix
|
||||
#./discord-autodelete.nix
|
||||
./firefox-syncserver.nix
|
||||
./forgejo.nix
|
||||
#./freshrss.nix
|
||||
#./grafana.nix
|
||||
./i2pd.nix
|
||||
#./minecraft.nix
|
||||
./ntfy-sh.nix
|
||||
./owncast.nix
|
||||
./plausible.nix
|
||||
#./stalwart.nix
|
||||
./sudo-parental-control.nix
|
||||
#./qbittorrent.nix
|
||||
];
|
||||
}
|
|
@ -1,35 +0,0 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
domain = "ffsync.jacekpoz.pl";
|
||||
in {
|
||||
age.secrets.firefox-syncserver-secrets.file = ../../../secrets/firefox-syncserver-secrets.age;
|
||||
|
||||
services = {
|
||||
firefox-syncserver = {
|
||||
enable = true;
|
||||
logLevel = "warn";
|
||||
singleNode = {
|
||||
enable = true;
|
||||
capacity = 100;
|
||||
hostname = domain;
|
||||
url = "https://${domain}";
|
||||
};
|
||||
settings = {
|
||||
port = 6583;
|
||||
};
|
||||
secrets = config.age.secrets.firefox-syncserver-secrets.path;
|
||||
};
|
||||
|
||||
mysql.package = pkgs.mariadb;
|
||||
|
||||
caddy = {
|
||||
enable = true;
|
||||
virtualHosts.${domain}.extraConfig = ''
|
||||
reverse_proxy * localhost:6583
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,98 +0,0 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.attrsets) attrValues;
|
||||
|
||||
srv = config.services.forgejo.settings.server;
|
||||
in {
|
||||
age.secrets.forgejo-runner-token.file = ../../../secrets/forgejo-runner-token.age;
|
||||
|
||||
services = {
|
||||
forgejo = {
|
||||
enable = true;
|
||||
package = pkgs.forgejo;
|
||||
lfs.enable = true;
|
||||
database.type = "postgres";
|
||||
dump = {
|
||||
enable = true;
|
||||
type = "tar.xz";
|
||||
};
|
||||
settings = {
|
||||
DEFAULT = {
|
||||
APP_NAME = "fuck it we code";
|
||||
};
|
||||
|
||||
server = {
|
||||
DOMAIN = "git.jacekpoz.pl";
|
||||
HTTP_PORT = 1849;
|
||||
ROOT_URL = "https://${srv.DOMAIN}/";
|
||||
|
||||
# START_SSH_SERVER = true;
|
||||
# SSH_PORT = 8236;
|
||||
# SSH_LISTEN_PORT = 8236;
|
||||
};
|
||||
service = {
|
||||
DISABLE_REGISTRATION = true;
|
||||
};
|
||||
actions = {
|
||||
ENABLED = true;
|
||||
DEFAULT_ACTIONS_URL = "https://code.forgejo.org";
|
||||
};
|
||||
federation = {
|
||||
ENABLED = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
gitea-actions-runner = {
|
||||
package = pkgs.forgejo-runner;
|
||||
instances = {
|
||||
chmura = {
|
||||
enable = true;
|
||||
name = config.networking.hostName;
|
||||
url = "http://localhost:${toString srv.HTTP_PORT}";
|
||||
tokenFile = config.age.secrets.forgejo-runner-token.path;
|
||||
labels = [
|
||||
"native:host"
|
||||
];
|
||||
hostPackages = attrValues {
|
||||
inherit (pkgs)
|
||||
nix
|
||||
nodejs
|
||||
git
|
||||
bash
|
||||
fd
|
||||
ripgrep
|
||||
;
|
||||
};
|
||||
settings = {
|
||||
log.level = "info";
|
||||
runner = {
|
||||
file = ".runner";
|
||||
capacity = 2;
|
||||
timeout = "3h";
|
||||
insecure = false;
|
||||
fetch_timeout = "5s";
|
||||
fetch_interval = "2s";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.gitea-runner-chmura.serviceConfig = {
|
||||
ReadWritePaths = "/srv/web";
|
||||
};
|
||||
|
||||
# networking.firewall.allowedTCPPorts = [ srv.SSH_PORT ];
|
||||
|
||||
services.caddy = {
|
||||
enable = true;
|
||||
virtualHosts."git.jacekpoz.pl".extraConfig = ''
|
||||
reverse_proxy * localhost:${toString srv.HTTP_PORT}
|
||||
'';
|
||||
};
|
||||
}
|
|
@ -1,74 +0,0 @@
|
|||
{
|
||||
config,
|
||||
inputs,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (config.poz.other.system) username;
|
||||
in {
|
||||
imports = [ inputs.nix-minecraft.nixosModules.minecraft-servers ];
|
||||
nixpkgs.overlays = [ inputs.nix-minecraft.overlay ];
|
||||
|
||||
users.users.${username} = {
|
||||
extraGroups = [ "minecraft" ];
|
||||
};
|
||||
|
||||
services.minecraft-servers = {
|
||||
enable = true;
|
||||
eula = true;
|
||||
dataDir = "/var/lib/minecraft";
|
||||
|
||||
servers.celestynow = {
|
||||
enable = true;
|
||||
autoStart = true;
|
||||
openFirewall = true;
|
||||
enableReload = true;
|
||||
|
||||
serverProperties = {
|
||||
server-ip = "127.0.0.1";
|
||||
server-port = 25565;
|
||||
difficulty = 3;
|
||||
gamemode = 0;
|
||||
enable-command-block = true;
|
||||
hide-online-players = true;
|
||||
level-name = "swiat";
|
||||
motd = "dupa";
|
||||
max-players = 4;
|
||||
online-mode = false;
|
||||
snooper-enabled = false;
|
||||
spawn-protection = 0;
|
||||
view-distance = 12;
|
||||
# white-list = true;
|
||||
# enforce-whitelist = true;
|
||||
};
|
||||
# whitelist = {
|
||||
# jacekpoz = "8cc45dd9-0145-4068-be30-038a3844ebd0";
|
||||
# emo_mruczek = "e62cfed1-4758-488e-ac91-b623a87e0ac9";
|
||||
# };
|
||||
|
||||
package = pkgs.vanillaServers.vanilla-1_21;
|
||||
jvmOpts = "-Xms6144M -Xmx8192M";
|
||||
# symlinks = {
|
||||
# mods = pkgs.linkFarmFromDrvs "mods" (builtins.attrValues {
|
||||
# Create-Fabric = pkgs.fetchurl {
|
||||
# url = "https://cdn.modrinth.com/data/Xbc0uyRg/versions/h2HgGyvA/create-fabric-0.5.1-f-build.1417%2Bmc1.20.1.jar";
|
||||
# sha512 = "bc8e3afc219ecf9d475f4b56f421024f76fc20bce941a2c956ecca1e8905b39d946a124aca48cb391a0a60314d68fd5413c8c12d0ad1f605159b10611595878f";
|
||||
# };
|
||||
# Fabric-Api = pkgs.fetchurl {
|
||||
# url = "https://cdn.modrinth.com/data/P7dR8mSH/versions/YG53rBmj/fabric-api-0.92.0%2B1.20.1.jar";
|
||||
# sha512 = "53ce4cb2bb5579cef37154c928837731f3ae0a3821dd2fb4c4401d22d411f8605855e8854a03e65ea4f949dfa0e500ac1661a2e69219883770c6099b0b28e4fa";
|
||||
# };
|
||||
# });
|
||||
# };
|
||||
};
|
||||
};
|
||||
|
||||
# services.caddy = {
|
||||
# enable = true;
|
||||
# virtualHosts."mc.jacekpoz.pl:2137".extraConfig = ''
|
||||
# reverse_proxy * localhost:25565
|
||||
# '';
|
||||
# };
|
||||
|
||||
networking.firewall.allowedTCPPorts = [ 25565 ];
|
||||
}
|
|
@ -1,35 +0,0 @@
|
|||
{
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
domain = "plausible.jacekpoz.pl";
|
||||
in {
|
||||
age.secrets = {
|
||||
plausible-admin-password.file = ../../../secrets/plausible-admin-password.age;
|
||||
plausible-secret-keybase.file = ../../../secrets/plausible-secret-keybase.age;
|
||||
};
|
||||
|
||||
services.plausible = {
|
||||
enable = true;
|
||||
|
||||
adminUser = {
|
||||
activate = true;
|
||||
name = "afsdjh";
|
||||
email = "jacekpoz@proton.me";
|
||||
passwordFile = config.age.secrets.plausible-admin-password.path;
|
||||
};
|
||||
|
||||
server = {
|
||||
baseUrl = "https://${domain}";
|
||||
port = 3987;
|
||||
secretKeybaseFile = config.age.secrets.plausible-secret-keybase.path;
|
||||
};
|
||||
};
|
||||
|
||||
services.caddy = {
|
||||
enable = true;
|
||||
virtualHosts.${domain}.extraConfig = ''
|
||||
reverse_proxy * localhost:${toString config.services.plausible.server.port}
|
||||
'';
|
||||
};
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
_: {
|
||||
services.caddy = {
|
||||
enable = true;
|
||||
virtualHosts."sudo-parental-control.jacekpoz.pl".extraConfig = ''
|
||||
reverse_proxy localhost:8000
|
||||
'';
|
||||
};
|
||||
}
|
|
@ -53,5 +53,5 @@ _: {
|
|||
reverse_proxy * localhost:9902
|
||||
}
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
_: {
|
||||
poz.other.system = {
|
||||
hostname = "chmura";
|
||||
username = "chmura";
|
||||
platform = "x86_64-linux";
|
||||
};
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
_: {
|
||||
_ : {
|
||||
services.caddy = {
|
||||
enable = true;
|
||||
virtualHosts."trollface.pl".extraConfig = ''
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta property="og:image" content="/trollface.png" />
|
||||
<link rel="icon" type="image/x-icon" href="/favicon.ico" />
|
||||
<meta charset="utf-8">
|
||||
<meta property="og:image" content="/trollface.png">
|
||||
<link rel="icon" type="image/x-icon" href="/favicon.ico">
|
||||
<title>trolled !!!</title>
|
||||
</head>
|
||||
<body>
|
||||
<img src="./trollface.png" />
|
||||
<img src="./trollface.png">
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
_: {
|
||||
# no idea where to put this
|
||||
# the rest of them are moved to their respective modules
|
||||
nix.settings = {
|
||||
substituters = [
|
||||
"https://nix-community.cachix.org"
|
||||
];
|
||||
trusted-public-keys = [
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
];
|
||||
};
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.meta) getExe;
|
||||
in {
|
||||
environment.binsh = getExe pkgs.dash;
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
_: {
|
||||
services.dbus = {
|
||||
enable = true;
|
||||
implementation = "broker";
|
||||
};
|
||||
}
|
|
@ -1,21 +0,0 @@
|
|||
_: {
|
||||
imports = [
|
||||
./binary-caches.nix
|
||||
./dash.nix
|
||||
./dbus.nix
|
||||
./disable-nano.nix
|
||||
./disk.nix
|
||||
./docs.nix
|
||||
./fs-hardening.nix
|
||||
./nix.nix
|
||||
./oomd.nix
|
||||
./permit-olm.nix
|
||||
./pin-registry.nix
|
||||
./preserve-system.nix
|
||||
./sudo-insults.nix
|
||||
./switch-ng.nix
|
||||
./systemd-boot.nix
|
||||
./timezone.nix
|
||||
./unfree.nix
|
||||
];
|
||||
}
|
|
@ -1,4 +0,0 @@
|
|||
_: {
|
||||
# neovim supremacy
|
||||
programs.nano.enable = false;
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
_: {
|
||||
services = {
|
||||
btrfs.autoScrub = {
|
||||
enable = true;
|
||||
interval = "weekly";
|
||||
};
|
||||
fstrim = {
|
||||
enable = true;
|
||||
interval = "weekly";
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
_: {
|
||||
fileSystems."/boot".options = [ "nodev" "nosuid" "noexec" ];
|
||||
}
|
|
@ -1,22 +0,0 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
nix = {
|
||||
package = pkgs.nixVersions.latest;
|
||||
settings = {
|
||||
experimental-features = [
|
||||
"flakes"
|
||||
"nix-command"
|
||||
];
|
||||
trusted-users = [
|
||||
"root"
|
||||
config.poz.other.system.username
|
||||
];
|
||||
auto-optimise-store = true;
|
||||
keep-outputs = true;
|
||||
keep-derivations = true;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
_: {
|
||||
nixpkgs.config.permittedInsecurePackages = [
|
||||
"olm-3.2.16"
|
||||
];
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
inputs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.attrsets) mapAttrs;
|
||||
in {
|
||||
nix.registry = mapAttrs (_: v: { flake = v; }) inputs;
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
security.sudo.package = pkgs.sudo.override { withInsults = true; };
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
_: {
|
||||
system.switch = {
|
||||
enable = false;
|
||||
enableNg = true;
|
||||
};
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
_: {
|
||||
time.timeZone = "Europe/Warsaw";
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
_: {
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.meta) getExe;
|
||||
in {
|
||||
environment.sessionVariables = {
|
||||
CHROME_EXECUTABLE = getExe pkgs.ungoogled-chromium;
|
||||
};
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
_: {
|
||||
imports = [
|
||||
./bluetooth.nix
|
||||
./chrome-executable.nix
|
||||
./fonts.nix
|
||||
./kernel.nix
|
||||
./malloc-perturb.nix
|
||||
./noisetorch.nix
|
||||
];
|
||||
}
|
|
@ -1,22 +0,0 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.attrsets) attrValues;
|
||||
in {
|
||||
fonts.packages = attrValues {
|
||||
inherit (pkgs)
|
||||
material-design-icons
|
||||
noto-fonts
|
||||
noto-fonts-cjk-sans
|
||||
noto-fonts-cjk-serif
|
||||
noto-fonts-emoji
|
||||
corefonts
|
||||
vistafonts
|
||||
;
|
||||
nerdfonts = pkgs.nerdfonts.override {
|
||||
fonts = [ "JetBrainsMono" ];
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
boot.kernelPackages = pkgs.linuxPackages_xanmod_latest;
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
_: {
|
||||
environment.sessionVariables = {
|
||||
MALLOC_PERTURB_ = /*sh*/"$(($(head -200 /dev/urandom | cksum | cut -f1 -d ' ') % 255 + 1))";
|
||||
};
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
_: {
|
||||
programs.noisetorch.enable = true;
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
inherit (config.poz.other.system) username;
|
||||
in {
|
||||
programs.adb.enable = true;
|
||||
|
||||
users.users.${username} = {
|
||||
extraGroups = [ "adbusers" ];
|
||||
};
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
{
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
hardware.cpu.amd.updateMicrocode = true;
|
||||
|
||||
boot = {
|
||||
# https://github.com/NixOS/nixos-hardware/blob/master/common/cpu/amd/pstate.nix
|
||||
kernelParams = [ "amd_pstate=active" ];
|
||||
|
||||
# https://github.com/NixOS/nixos-hardware/blob/master/common/cpu/amd/zenpower.nix
|
||||
blacklistedKernelModules = [ "k10temp" ];
|
||||
extraModulePackages = [ config.boot.kernelPackages.zenpower ];
|
||||
kernelModules = [ "zenpower" ];
|
||||
};
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
_: {
|
||||
hardware.cpu.intel.updateMicrocode = true;
|
||||
|
||||
services.thermald.enable = true;
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
{
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
services.xserver.videoDrivers = [ "displaylink" "modesetting" ];
|
||||
|
||||
boot = {
|
||||
extraModulePackages = [ config.boot.kernelPackages.evdi ];
|
||||
kernelModules = [ "evdi" ];
|
||||
};
|
||||
}
|
|
@ -1,41 +0,0 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (config.poz.other.system) username;
|
||||
|
||||
inherit (lib.attrsets) attrValues;
|
||||
inherit (lib.meta) getExe;
|
||||
in {
|
||||
environment.systemPackages = attrValues {
|
||||
inherit (pkgs)
|
||||
gns3-gui
|
||||
gns3-server
|
||||
dynamips
|
||||
xterm
|
||||
inetutils
|
||||
vpcs
|
||||
;
|
||||
};
|
||||
|
||||
users.users.${username} = {
|
||||
extraGroups = [ "ubridge" ];
|
||||
};
|
||||
|
||||
# services.gns3-server = {
|
||||
# enable = true;
|
||||
# ubridge.enable = true;
|
||||
# };
|
||||
|
||||
users.groups.ubridge = {};
|
||||
|
||||
security.wrappers.ubridge = {
|
||||
source = getExe pkgs.ubridge;
|
||||
capabilities = "cap_net_admin,cap_net_raw=ep";
|
||||
owner = "root";
|
||||
group = "ubridge";
|
||||
permissions = "u=rwx,g=rx,o=rx";
|
||||
};
|
||||
}
|
|
@ -1,42 +0,0 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.attrsets) attrValues;
|
||||
in {
|
||||
# https://github.com/NixOS/nixos-hardware/blob/master/common/gpu/amd/default.nix
|
||||
services.xserver.videoDrivers = [ "modesetting" ];
|
||||
|
||||
hardware = {
|
||||
amdgpu = {
|
||||
initrd.enable = true;
|
||||
opencl.enable = true;
|
||||
};
|
||||
graphics = {
|
||||
enable = true;
|
||||
enable32Bit = true;
|
||||
extraPackages = attrValues {
|
||||
inherit (pkgs)
|
||||
mesa
|
||||
libdrm
|
||||
libva
|
||||
vaapiVdpau
|
||||
libvdpau-va-gl
|
||||
;
|
||||
};
|
||||
extraPackages32 = attrValues {
|
||||
inherit (pkgs.driversi686Linux)
|
||||
mesa
|
||||
libvdpau-va-gl
|
||||
;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
boot.initrd.kernelModules = [ "amdgpu" ];
|
||||
|
||||
environment.sessionVariables = {
|
||||
AMD_VULKAN_ICD = "RADV";
|
||||
};
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.attrsets) attrValues;
|
||||
in {
|
||||
# https://github.com/NixOS/nixos-hardware/blob/master/common/gpu/intel/default.nix
|
||||
boot.initrd.kernelModules = [ "i915" ];
|
||||
|
||||
hardware.graphics = {
|
||||
enable = true;
|
||||
enable32Bit = true;
|
||||
extraPackages = attrValues {
|
||||
inherit (pkgs)
|
||||
mesa
|
||||
libdrm
|
||||
libva
|
||||
vaapiVdpau
|
||||
libvdpau-va-gl
|
||||
intel-vaapi-driver
|
||||
intel-media-driver
|
||||
;
|
||||
};
|
||||
extraPackages32 = attrValues {
|
||||
inherit (pkgs.driversi686Linux)
|
||||
mesa
|
||||
libvdpau-va-gl
|
||||
intel-vaapi-driver
|
||||
intel-media-driver
|
||||
;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,36 +0,0 @@
|
|||
{
|
||||
config,
|
||||
inputs,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.meta) getExe getExe';
|
||||
|
||||
asusctl = getExe' config.services.asusd.package "asusctl";
|
||||
supergfxctl = getExe' config.services.asusd.package "supergfxctl";
|
||||
cpupower = getExe config.boot.kernelPackages.cpupower;
|
||||
hyprctl = getExe' inputs.hyprland.packages.${pkgs.system}.hyprland "hyprctl";
|
||||
|
||||
inherit (pkgs) writeShellScript;
|
||||
in {
|
||||
services.udev.extraRules = let
|
||||
power_supply = writeShellScript "on_power_supply" ''
|
||||
${asusctl} profile -P Performance
|
||||
#${supergfxctl} -m Hybrid
|
||||
${cpupower} frequency-set -g performance
|
||||
${hyprctl} keyword decoration:blur:enabled true
|
||||
${hyprctl} keyword animations:enabled true
|
||||
'';
|
||||
battery = writeShellScript "on_battery" ''
|
||||
${asusctl} profile -P Quiet
|
||||
#${supergfxctl} -m Integrated
|
||||
${cpupower} frequency-set -g powersave
|
||||
${hyprctl} keyword decoration:blur:enabled false
|
||||
${hyprctl} keyword animations:enabled false
|
||||
'';
|
||||
in ''
|
||||
SUBSYSTEM=="power_supply",ENV{POWER_SUPPLY_ONLINE}=="1",RUN+="${power_supply}"
|
||||
SUBSYSTEM=="power_supply",ENV{POWER_SUPPLY_ONLINE}=="0",RUN+="${battery}"
|
||||
'';
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
_: {
|
||||
hardware.keyboard.qmk.enable = true;
|
||||
}
|
|
@ -1,19 +0,0 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (config.poz.other.system) username;
|
||||
|
||||
inherit (lib.attrsets) attrValues;
|
||||
in {
|
||||
programs.steam.enable = true;
|
||||
|
||||
home-manager.users.${username} = {
|
||||
home.packages = attrValues {
|
||||
inherit (pkgs.steamPackages) steamcmd;
|
||||
inherit (pkgs) steam-tui;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,24 +0,0 @@
|
|||
{
|
||||
inputs,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.meta) getExe getExe';
|
||||
|
||||
mpc = getExe pkgs.mpc-cli;
|
||||
sleep = getExe' pkgs.coreutils-full "sleep";
|
||||
hyprctl = getExe' inputs.hyprland.packages.${pkgs.system}.hyprland "hyprctl";
|
||||
in {
|
||||
powerManagement = {
|
||||
enable = true;
|
||||
powerDownCommands = ''
|
||||
${mpc} pause
|
||||
${sleep} 1
|
||||
'';
|
||||
powerUpCommands = ''
|
||||
${hyprctl} dispatch dpms off HDMI-A-1
|
||||
${hyprctl} dispatch dpms on HDMI-A-1
|
||||
'';
|
||||
};
|
||||
}
|
|
@ -1,18 +0,0 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (config.poz.other.system) username;
|
||||
in {
|
||||
boot = {
|
||||
extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ];
|
||||
kernelModules = [ "v4l2loopback" ];
|
||||
};
|
||||
|
||||
environment.systemPackages = [ pkgs.v4l-utils ];
|
||||
|
||||
users.users.${username} = {
|
||||
extraGroups = [ "video" ];
|
||||
};
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
_: {
|
||||
virtualisation.waydroid.enable = true;
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
_: {
|
||||
environment.sessionVariables = {
|
||||
NIXOS_OZONE_WL = "1";
|
||||
};
|
||||
}
|
|
@ -1,14 +0,0 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
programs.wireshark = {
|
||||
enable = true;
|
||||
package = pkgs.wireshark;
|
||||
};
|
||||
|
||||
users.users.${config.poz.other.system.username} = {
|
||||
extraGroups = [ "wireshark" ];
|
||||
};
|
||||
}
|
|
@ -1,27 +0,0 @@
|
|||
{
|
||||
# config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
# }: let
|
||||
# # inherit (config.poz.other.system) username;
|
||||
# in {
|
||||
security.pam = {
|
||||
services = {
|
||||
login.u2fAuth = true;
|
||||
sudo.u2fAuth = true;
|
||||
};
|
||||
};
|
||||
|
||||
services.udev = {
|
||||
packages = [ pkgs.yubikey-personalization ];
|
||||
};
|
||||
|
||||
# age.secrets.yubikey-u2f-keys.file = ../../secrets/yubikey-u2f-keys.age;
|
||||
|
||||
# environment.etc."Yubico/u2f_keys".source = config.age.secrets.yubikey-u2f-keys.path;
|
||||
|
||||
# home-manager.users.${username} = {
|
||||
# xdg.configFile."Yubico/u2f_keys".source = /etc/Yubico/u2f_keys;
|
||||
# };
|
||||
}
|
|
@ -4,44 +4,66 @@
|
|||
}: let
|
||||
inherit (inputs) self;
|
||||
inherit (self) lib;
|
||||
|
||||
inherit (lib.attrsets) listToAttrs;
|
||||
inherit (lib.path) append;
|
||||
|
||||
createHost' = extraModules: hostDir: lib.nixosSystem {
|
||||
system = null;
|
||||
in {
|
||||
niks = lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = {
|
||||
inherit lib inputs self;
|
||||
};
|
||||
modules = [
|
||||
hostDir
|
||||
./niks
|
||||
../modules
|
||||
./common/core
|
||||
] ++ extraModules;
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
inputs.agenix.nixosModules.default
|
||||
{
|
||||
imports = [ inputs.impurity.nixosModules.impurity ];
|
||||
impurity.configRoot = self;
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
niks-impure = self.nixosConfigurations.niks.extendModules { modules = [ { impurity.enable = true; } ]; };
|
||||
|
||||
del = lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = {
|
||||
inherit lib inputs self;
|
||||
};
|
||||
modules = [
|
||||
./del
|
||||
../modules
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
inputs.agenix.nixosModules.default
|
||||
{
|
||||
imports = [ inputs.impurity.nixosModules.impurity ];
|
||||
impurity.configRoot = self;
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
createHost = createHost' [];
|
||||
createDesktop = createHost' [ ./common/desktop ];
|
||||
createServer = createHost' [];
|
||||
del-impure = self.nixosConfigurations.niks.extendModules { modules = [ { impurity.enable = true; } ]; };
|
||||
|
||||
createHosts = hosts: listToAttrs (map (host: let
|
||||
createFn = {
|
||||
desktop = createDesktop;
|
||||
server = createServer;
|
||||
generic = createHost;
|
||||
}."${host.type}";
|
||||
path' = append host.dir "system.nix";
|
||||
cfg = (import path') {
|
||||
inherit inputs;
|
||||
#hape = lib.nixosSystem {
|
||||
# system = "x86_64-linux";
|
||||
# specialArgs = {
|
||||
# inherit lib inputs self;
|
||||
# };
|
||||
# modules = [
|
||||
# ./hape
|
||||
# ../modules
|
||||
# inputs.home-manager.nixosModules.home-manager
|
||||
# ];
|
||||
#};
|
||||
chmura = lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = {
|
||||
inherit lib inputs self;
|
||||
};
|
||||
in {
|
||||
name = cfg.poz.other.system.hostname;
|
||||
value = createFn host.dir;
|
||||
}) hosts);
|
||||
in createHosts [
|
||||
{ dir = ./niks; type = "desktop"; }
|
||||
{ dir = ./del; type = "desktop"; }
|
||||
{ dir = ./hape; type = "desktop"; }
|
||||
{ dir = ./chmura; type = "server"; }
|
||||
{ dir = ./work; type = "desktop"; }
|
||||
]
|
||||
modules = [
|
||||
./chmura
|
||||
../modules
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
inputs.agenix.nixosModules.default
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,45 +1,83 @@
|
|||
{
|
||||
config,
|
||||
inputs,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.meta) getExe getExe';
|
||||
inherit (lib.modules) mkForce;
|
||||
}: {
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
inherit (config.poz.other.system) username;
|
||||
in {
|
||||
nix.settings = {
|
||||
max-jobs = 2;
|
||||
cores = 3;
|
||||
boot = {
|
||||
kernelPackages = pkgs.linuxPackages_xanmod_latest;
|
||||
extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
|
||||
kernelModules = [ "v4l2loopback" ];
|
||||
kernelParams = [
|
||||
"video=eDP-1:2560x1440@165"
|
||||
];
|
||||
};
|
||||
|
||||
swapDevices = [
|
||||
{
|
||||
device = "/var/lib/swapfile";
|
||||
size = 48 * 1024;
|
||||
}
|
||||
];
|
||||
time.timeZone = "Europe/Warsaw";
|
||||
|
||||
programs = {
|
||||
kdeconnect.enable = true;
|
||||
nix = {
|
||||
settings = {
|
||||
max-jobs = 2;
|
||||
cores = 3;
|
||||
substituters = [
|
||||
"https://nix-community.cachix.org"
|
||||
"https://nixpkgs-wayland.cachix.org"
|
||||
"https://viperml.cachix.org"
|
||||
];
|
||||
trusted-public-keys = [
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
"nixpkgs-wayland.cachix.org-1:3lwxaILxMRkVhehr5StQprHdEo4IrE8sRho9R9HOLYA="
|
||||
"viperml.cachix.org-1:qZhKBMTfmcLL+OG6fj/hzsMEedgKvZVFRRAhq7j8Vh8="
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
programs.dconf.enable = true;
|
||||
|
||||
security.sudo.package = pkgs.sudo.override { withInsults = true; };
|
||||
|
||||
security.polkit.enable = true;
|
||||
|
||||
users.users.${config.myOptions.other.system.username} = {
|
||||
extraGroups = [ "video" "wireshark" ];
|
||||
};
|
||||
|
||||
environment.sessionVariables = {
|
||||
CHROME_EXECUTABLE = "${pkgs.ungoogled-chromium}/bin/chromium";
|
||||
};
|
||||
|
||||
hardware = {
|
||||
sensor.iio.enable = true;
|
||||
# ipu6 = {
|
||||
# enable = true;
|
||||
# platform = "ipu6";
|
||||
# };
|
||||
ipu6 = {
|
||||
enable = true;
|
||||
platform = "ipu6";
|
||||
};
|
||||
opengl = {
|
||||
enable = true;
|
||||
driSupport = true;
|
||||
driSupport32Bit = true;
|
||||
extraPackages = with pkgs; [
|
||||
mesa
|
||||
libdrm
|
||||
libva
|
||||
vaapiVdpau
|
||||
libvdpau-va-gl
|
||||
];
|
||||
extraPackages32 = with pkgs; [
|
||||
driversi686Linux.mesa
|
||||
driversi686Linux.vaapiVdpau
|
||||
driversi686Linux.libvdpau-va-gl
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
pcscd.enable = true;
|
||||
|
||||
udisks2.enable = true;
|
||||
dbus.enable = true;
|
||||
|
||||
fwupd = {
|
||||
enable = true;
|
||||
|
@ -54,16 +92,37 @@ in {
|
|||
driver = pkgs.libfprint-2-tod1-goodix;
|
||||
};
|
||||
};
|
||||
smartd.enable = true;
|
||||
flatpak.enable = true;
|
||||
};
|
||||
|
||||
services.journald = {
|
||||
extraConfig = ''
|
||||
SystemMaxUse=100M
|
||||
'';
|
||||
};
|
||||
|
||||
services.udev = {
|
||||
packages = with pkgs; [
|
||||
yubikey-personalization
|
||||
];
|
||||
};
|
||||
|
||||
programs.wireshark = {
|
||||
enable = true;
|
||||
package = pkgs.wireshark;
|
||||
};
|
||||
|
||||
# this makes usb devices autosuspend
|
||||
#powerManagement.powertop.enable = true;
|
||||
|
||||
programs.kdeconnect.enable = true;
|
||||
|
||||
programs.noisetorch.enable = true;
|
||||
|
||||
virtualisation.waydroid.enable = true;
|
||||
|
||||
# https://github.com/NixOS/nixpkgs/issues/270809
|
||||
systemd.services.ModemManager = {
|
||||
enable = mkForce true;
|
||||
enable = lib.mkForce true;
|
||||
path = [ pkgs.libqmi ];
|
||||
wantedBy = [ "multi-user.target" "network.target" ];
|
||||
};
|
||||
|
@ -94,95 +153,130 @@ in {
|
|||
};
|
||||
};
|
||||
|
||||
poz = {
|
||||
myOptions = {
|
||||
other = {
|
||||
system = {
|
||||
hostname = "del";
|
||||
username = "jacek";
|
||||
};
|
||||
home-manager = {
|
||||
enable = true;
|
||||
enableDirenv = true;
|
||||
};
|
||||
networking.enable = true;
|
||||
};
|
||||
programs = {
|
||||
agenix.enable = true;
|
||||
nh = let
|
||||
home = config.home-manager.users.${username}.home.homeDirectory;
|
||||
in {
|
||||
git = {
|
||||
enable = true;
|
||||
flake = "${home}/niksos";
|
||||
userName = "jacekpoz";
|
||||
userEmail = "jacekpoz@cock.li";
|
||||
signingKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHXD1EM4mQz99vJhmZX1r7kwMd8yewogOuoTUuv1xWZB";
|
||||
defaultBranch = "master";
|
||||
};
|
||||
starship.enable = true;
|
||||
zsh = {
|
||||
enable = true;
|
||||
extraAliases = {
|
||||
u = "nh os switch -H del";
|
||||
#u = "nh os switch \"/home/jacek/niksos\" -H niks -- --use-remote-sudo";
|
||||
#us = "NIX_SSHOPTS='-t' nh os switch \"/home/jacek/niksos\" -H chmura -- --use-remote-sudo --target-host chmura";
|
||||
u = "nixos-rebuild switch --flake \"/home/jacek/niksos#del\" -L --use-remote-sudo";
|
||||
us = "NIX_SSHOPTS='-t' nixos-rebuild switch --flake \"/home/jacek/niksos#chmura\" -L --use-remote-sudo --target-host chmura";
|
||||
# TODO use this when nh supports it
|
||||
#us = "NIX_SSHOPTS='-t' nh os switch -H chmura -- --store ssh-ng://chmura";
|
||||
};
|
||||
profiling = false;
|
||||
};
|
||||
zoxide.enable = true;
|
||||
anyrun.enable = true;
|
||||
armcord.enable = true;
|
||||
vesktop.enable = true;
|
||||
btop.enable = true;
|
||||
foot.enable = true;
|
||||
mpv.enable = true;
|
||||
neovim = {
|
||||
firefox = {
|
||||
enable = true;
|
||||
enableLsp = true;
|
||||
};
|
||||
zathura.enable = true;
|
||||
hypr = {
|
||||
land = {
|
||||
enable = true;
|
||||
extraSettings = let
|
||||
hmCfg = config.home-manager.users.${username};
|
||||
swww = getExe pkgs.swww;
|
||||
|
||||
# https://www.reddit.com/r/NixOS/comments/166r8n7/anime_nix_wallpaper_i_created/
|
||||
nix_wallpaper = pkgs.fetchurl {
|
||||
url = "https://i.ibb.co/vZ5JF95/nix-Wallpaper.png";
|
||||
hash = "sha256-BqOBvRFXFrX/QLI70OLAIcpbbiUH/jUMK97yqCfY+mI=";
|
||||
};
|
||||
poz_layer = ./poz.png;
|
||||
|
||||
out_dir = "${hmCfg.xdg.dataHome}/hypr";
|
||||
out_path = "${out_dir}/nix.png";
|
||||
|
||||
iio-hyprland = getExe inputs.iio-hyprland.packages.${pkgs.system}.default;
|
||||
|
||||
mkdir = getExe' pkgs.coreutils-full "mkdir";
|
||||
sleep = getExe' pkgs.coreutils-full "sleep";
|
||||
wvkbd = getExe pkgs.wvkbd;
|
||||
imagemagick = getExe pkgs.imagemagick;
|
||||
in {
|
||||
exec-once = [
|
||||
"${iio-hyprland}"
|
||||
"${wvkbd} --hidden -L 500"
|
||||
|
||||
"${mkdir} -p ${out_dir}"
|
||||
"${imagemagick} ${nix_wallpaper} ${poz_layer} -layers flatten ${out_path}"
|
||||
];
|
||||
exec = [
|
||||
# wait a bit then set the wallpapers
|
||||
"${sleep} 0.5 && ${swww} img -o eDP-1 ${out_path}"
|
||||
];
|
||||
defaultSearchEngine = "NotASearx";
|
||||
searchEngines = {
|
||||
"NotASearx" = {
|
||||
url = "https://search.notashelf.dev/search?q={searchTerms}";
|
||||
faviconUrl = "https://search.notashelf.dev/favicon.ico";
|
||||
aliases = [ "!sx" ];
|
||||
};
|
||||
"NixOS Packages" = {
|
||||
url = "https://search.nixos.org/packages?channel=unstable&query={searchTerms}";
|
||||
faviconPath = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
aliases = [ "!np" ];
|
||||
};
|
||||
"NixOS Options" = {
|
||||
url = "https://search.nixos.org/options?channel=unstable&query={searchTerms}";
|
||||
faviconPath = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
aliases = [ "!no" ];
|
||||
};
|
||||
"NixOS Wiki" = {
|
||||
url = "https://nixos.wiki/index.php?search={searchTerms}";
|
||||
faviconPath = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
aliases = [ "!nw" ];
|
||||
};
|
||||
"Home Manger Option Search" = {
|
||||
url = "https://mipmip.github.io/home-manager-option-search?query={searchTerms}";
|
||||
faviconPath = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
aliases = [ "!hm" ];
|
||||
};
|
||||
"Arch Wiki" = {
|
||||
url = "https://wiki.archlinux.org/index.php?search={searchTerms}";
|
||||
faviconUrl = "https://archlinux.org/favicon.ico";
|
||||
aliases = [ "!aw" ];
|
||||
};
|
||||
"Gentoo Wiki" = {
|
||||
url = "https://wiki.gentoo.org/index.php?search={searchTerms}";
|
||||
faviconUrl = "https://www.gentoo.org/favicon.ico";
|
||||
aliases = [ "!gw" ];
|
||||
};
|
||||
"Debian Wiki" = {
|
||||
url = "https://wiki.debian.org/FrontPage?action=fullsearch&value={searchTerms}";
|
||||
faviconUrl = "https://www.debian.org/favicon.ico";
|
||||
aliases = [ "!dw" ];
|
||||
};
|
||||
};
|
||||
lock.enable = true;
|
||||
idle.enable = true;
|
||||
};
|
||||
foot.enable = true;
|
||||
mpv.enable = true;
|
||||
osu = {
|
||||
enable = false;
|
||||
enableStable = false;
|
||||
};
|
||||
neovim.enable = true;
|
||||
zathura.enable = true;
|
||||
hypr = {
|
||||
land.enable = true;
|
||||
lock.enable = true;
|
||||
};
|
||||
helix.enable = false;
|
||||
newsboat.enable = true;
|
||||
quickshell = {
|
||||
};
|
||||
themes = {
|
||||
cursor = {
|
||||
enable = true;
|
||||
enabledConfigs = [
|
||||
"powermenu"
|
||||
"poz"
|
||||
];
|
||||
package = pkgs.bibata-cursors;
|
||||
name = "Bibata-Modern-Classic";
|
||||
size = 24;
|
||||
};
|
||||
gtk = {
|
||||
enable = true;
|
||||
package = pkgs.catppuccin-gtk;
|
||||
name = "Catppuccin-Mocha-Standard-Green-Dark";
|
||||
variant = "mocha";
|
||||
accentColour = "green";
|
||||
iconTheme = {
|
||||
name = "Papirus-Dark";
|
||||
package = pkgs.catppuccin-papirus-folders;
|
||||
};
|
||||
};
|
||||
qt = {
|
||||
enable = true;
|
||||
package = pkgs.catppuccin-kde;
|
||||
name = "Catppuccin-Mocha-Dark";
|
||||
variant = "mocha";
|
||||
accentColour = "green";
|
||||
};
|
||||
};
|
||||
services = {
|
||||
dunst.enable = true;
|
||||
mpd.enable = true;
|
||||
greetd = {
|
||||
enable = true;
|
||||
greeter = "gtkgreet";
|
||||
|
@ -194,6 +288,69 @@ in {
|
|||
"shutdown now"
|
||||
];
|
||||
};
|
||||
ssh = {
|
||||
daemon.enable = false;
|
||||
agent = {
|
||||
enable = true;
|
||||
hostAliases = rec {
|
||||
github = {
|
||||
hostName = "github.com";
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBjhNPiKUGyAdhI6jXQsDVj5jqklIh+gVEoCGZEEaC62";
|
||||
};
|
||||
codeberg = {
|
||||
hostName = "codeberg.org";
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILZReNUB66x+SkVx0hlbA1lyfEBMpT8IvQ6LPRn52oBl";
|
||||
};
|
||||
gitlab = {
|
||||
hostName = "gitlab.com";
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA/4XLNm1/ea2jtLj2AvPWMigA/xo9mLbRUGurVthiqm";
|
||||
};
|
||||
aur = {
|
||||
hostName = "aur.archlinux.org";
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPrCofD7GLXfASLMdYFnnMxs77Ys0nu9PsCo6IKVB6Wd";
|
||||
user = "aur";
|
||||
};
|
||||
jacekpoz = {
|
||||
hostName = "git.jacekpoz.pl";
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJSxvSM0y5Z958VrgU9JNCYS4oZmV4nNXP3hIrw6zr8R";
|
||||
user = "forgejo";
|
||||
};
|
||||
chmura = {
|
||||
hostName = "192.168.15.2";
|
||||
publicKey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDZLEWp9DsF9znp3W6uqP23yMFd8QQs0CmNKTKTanbfRYOqRWw0Jpuryxg7rTU8ioRM5L4zpIqu/v+pt9x76UsWTlFqjk9S35M1g0Kb2QN3czMJj5uA4jtFh47H8+hfBHm2RelPCcJCSmkR9gDa3XcrxlcC642yU4LTObHeHZg0yUDhUwKS8AdybxkPlmXPZ+UPEphq0CIBxU9mnieQMbQtMFnjEnNMDZJnP4BUF/XuWeHwh8yBttlL+hS37aI3hQYwGd5zdkSD9RWha10Nandlmt6+io6KYQgJxRK0c27i2jO7cmEMOz0h/ZnwHpTtRD9ifDTXuWN9l8+prAxsbC9pBsiDHqZ9ESHq7DzvqIeeyrQT0iHDoOPfB2PPCFJZlkFiM7hsWwkMc5Jaol9SjjH1a+B/+BvNGAQDWt1JIZzwE6T9RVQdGph6GMDS4o3gW3Hd8hyVdFhwD5xTJ567SntqsJdhzGH9HU5ybya3MG0WTWw3dLI0aMv/eAWSRx+7ZPE=";
|
||||
user = "chmura";
|
||||
};
|
||||
chmura2 = chmura // { hostName = "jacekpoz.pl"; };
|
||||
malina = {
|
||||
hostName = "192.168.15.3";
|
||||
publicKey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCJWWnBdRFQjMxSGxjPQe/jk7sAHOEb4CAY9mY105bnNcoBz0DORvK+4Ha4TIDELubKbzasDTU/Vi7tunjbiFinbOP94OTVoc9xphfxa3eQ0GrIo0icLk0A2IbAqC32m9f93AvPseZib/9PJTIpZMQcklwllKfxg3WYBglVXLmu4+epPRfk3YR6TOP77guxT8MF9zdFrlRz8Ugcytrez2evOyva2YLdsadlke3cTVLypBFB5fJ2dfDSrYzsTEgDQB9o65Kpuqp/k+hvzdZLxDjC+vec1sUWiD9nPAHOPBKsbo9UqZtp5in4+vf8iaMVGZrjAHvz3NBze7uRZGdLLm7ACfuqq1J+cyGVCFOaxk1g0e5rNqFjMnLwKrF0UaAxmKkDNnkJQnWDCY63V+Q1PkfPWRSd5oNVZnHmyukosKlmR6n2/WqQsGrQpg0oDFh8MHupJ2sCKisAR6nvm1R9HmffdlMSBEjyx1V6j2onsGX5P+lsoODoIQGz1GV6JGBU/Qc=";
|
||||
user = "malina";
|
||||
};
|
||||
outfoxxed = {
|
||||
hostName = "git.outfoxxed.me";
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGqsfan2BERiFSgXEv6KCTbzpKmtkq4gNd2409ZuKbgh";
|
||||
};
|
||||
kik_haslo = {
|
||||
hostName = "156.17.7.16";
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJAC03lGubkSRl02cX1TJ3ItkcozS8aocEHeysv/WY4v";
|
||||
port = 10002;
|
||||
user = "auth";
|
||||
};
|
||||
kik_oceny = {
|
||||
hostName = "156.17.7.45";
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJAC03lGubkSRl02cX1TJ3ItkcozS8aocEHeysv/WY4v";
|
||||
port = 19999;
|
||||
user = "view";
|
||||
};
|
||||
tramwaj = {
|
||||
hostName = "asi.pwr.wroc.pl";
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINnqXeczgwYduhAd3LT16qTor8CcU1b8J+YyUwKhkxqD";
|
||||
port = 2137;
|
||||
user = "poz";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
pipewire.enable = true;
|
||||
syncthing.enable = true;
|
||||
};
|
||||
|
|
|
@ -1,15 +1,9 @@
|
|||
_: {
|
||||
imports = [
|
||||
./quickshell
|
||||
./configuration.nix
|
||||
./firefox.nix
|
||||
./git.nix
|
||||
./hardware-configuration.nix
|
||||
./profile.nix
|
||||
./programs.nix
|
||||
./ssh.nix
|
||||
./system.nix
|
||||
./themes.nix
|
||||
./waybar.nix
|
||||
./wabar.nix
|
||||
];
|
||||
}
|
||||
|
|
|
@ -1,51 +0,0 @@
|
|||
{
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
poz.programs.firefox = {
|
||||
enable = true;
|
||||
defaultSearchEngine = "NotASearx";
|
||||
searchEngines = {
|
||||
"NotASearx" = {
|
||||
url = "https://search.notashelf.dev/search?q={searchTerms}";
|
||||
faviconUrl = "https://search.notashelf.dev/favicon.ico";
|
||||
aliases = [ "@sx" ];
|
||||
};
|
||||
"NixOS Packages" = {
|
||||
url = "https://search.nixos.org/packages?channel=unstable&query={searchTerms}";
|
||||
faviconPath = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
aliases = [ "@np" ];
|
||||
};
|
||||
"NixOS Options" = {
|
||||
url = "https://search.nixos.org/options?channel=unstable&query={searchTerms}";
|
||||
faviconPath = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
aliases = [ "@no" ];
|
||||
};
|
||||
"NixOS Wiki" = {
|
||||
url = "https://wiki.nixos.org/w/index.php?search={searchTerms}";
|
||||
faviconPath = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
aliases = [ "@nw" ];
|
||||
};
|
||||
"Home Manager Option Search" = {
|
||||
url = "https://home-manager-options.extranix.com/?release=master&query={searchTerms}";
|
||||
faviconPath = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
aliases = [ "@hm" ];
|
||||
};
|
||||
"Arch Wiki" = {
|
||||
url = "https://wiki.archlinux.org/index.php?search={searchTerms}";
|
||||
faviconUrl = "https://archlinux.org/favicon.ico";
|
||||
aliases = [ "@aw" ];
|
||||
};
|
||||
"Gentoo Wiki" = {
|
||||
url = "https://wiki.gentoo.org/index.php?search={searchTerms}";
|
||||
faviconUrl = "https://www.gentoo.org/favicon.ico";
|
||||
aliases = [ "@gw" ];
|
||||
};
|
||||
"Debian Wiki" = {
|
||||
url = "https://wiki.debian.org/FrontPage?action=fullsearch&value={searchTerms}";
|
||||
faviconUrl = "https://www.debian.org/favicon.ico";
|
||||
aliases = [ "@dw" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
_: {
|
||||
poz.programs.git = {
|
||||
enable = true;
|
||||
userName = "jacekpoz";
|
||||
userEmail = "jacekpoz@proton.me";
|
||||
signingKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHXD1EM4mQz99vJhmZX1r7kwMd8yewogOuoTUuv1xWZB";
|
||||
};
|
||||
}
|
Binary file not shown.
Before Width: | Height: | Size: 324 KiB |
|
@ -1,23 +1,20 @@
|
|||
{
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.lists) map;
|
||||
inherit (lib.path) append;
|
||||
in {
|
||||
imports = map (append ../common/optional) [
|
||||
"adb.nix"
|
||||
"cpu/intel.nix"
|
||||
"gpu/intel.nix"
|
||||
"mullvad-vpn.nix"
|
||||
"opentabletdriver.nix"
|
||||
"power-supply.nix"
|
||||
"qmk.nix"
|
||||
"steam.nix"
|
||||
"suspend.nix"
|
||||
"v4l2.nix"
|
||||
"wayland.nix"
|
||||
"wireshark.nix"
|
||||
"yubikey.nix"
|
||||
_: {
|
||||
imports = [
|
||||
../../options/boot/systemd-boot.nix
|
||||
../../options/common/btrfs-scrub.nix
|
||||
../../options/common/docs.nix
|
||||
../../options/common/networking.nix
|
||||
../../options/common/nix.nix
|
||||
../../options/common/oomd.nix
|
||||
../../options/common/pin-registry.nix
|
||||
../../options/common/preserve-system.nix
|
||||
../../options/desktop/bluetooth.nix
|
||||
../../options/desktop/dev/malloc-perturb.nix
|
||||
../../options/desktop/fonts.nix
|
||||
../../options/desktop/mullvad-vpn.nix
|
||||
../../options/desktop/opentabletdriver.nix
|
||||
../../options/desktop/power-supply.nix
|
||||
../../options/desktop/random-mac.nix
|
||||
../../options/desktop/suspend.nix
|
||||
];
|
||||
}
|
||||
|
|
|
@ -1,127 +1,218 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
inputs,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (config.poz.other.system) username;
|
||||
|
||||
inherit (lib.attrsets) attrValues;
|
||||
username = config.myOptions.other.system.username;
|
||||
in {
|
||||
home-manager.users.${username} = {
|
||||
home.packages = attrValues {
|
||||
inherit (pkgs)
|
||||
keepassxc
|
||||
eza
|
||||
ripgrep
|
||||
signal-desktop-beta
|
||||
element-desktop
|
||||
obs-studio
|
||||
heroic
|
||||
ungoogled-chromium
|
||||
tor-browser-bundle-bin
|
||||
mullvad-browser
|
||||
thunderbird
|
||||
gimp
|
||||
easyeffects
|
||||
libreoffice-fresh
|
||||
prismlauncher
|
||||
qbittorrent
|
||||
zellij
|
||||
caprine-bin
|
||||
trash-cli
|
||||
xdg-utils
|
||||
pamixer
|
||||
brightnessctl
|
||||
dig
|
||||
imv
|
||||
pcmanfm
|
||||
xdg-ninja
|
||||
gnupg
|
||||
age
|
||||
rage
|
||||
fd
|
||||
udisks
|
||||
ffmpeg_6-full
|
||||
yt-dlp
|
||||
filelight
|
||||
asciinema
|
||||
asciinema-agg
|
||||
du-dust
|
||||
appimage-run
|
||||
file
|
||||
fastfetch
|
||||
uutils-coreutils
|
||||
anki
|
||||
alsa-utils
|
||||
ezquake
|
||||
imagemagick
|
||||
psmisc
|
||||
mesa-demos
|
||||
#aseprite-unfree
|
||||
jq
|
||||
fq
|
||||
progress
|
||||
parallel
|
||||
p7zip
|
||||
xxd
|
||||
mpc-cli
|
||||
playerctl
|
||||
xdg-user-dirs
|
||||
lshw
|
||||
tree
|
||||
exiv2
|
||||
krita
|
||||
usbutils
|
||||
kiwix
|
||||
inkscape
|
||||
gomuks
|
||||
twitch-tui
|
||||
ytfzf
|
||||
mat2
|
||||
simplex-chat-desktop
|
||||
libsixel
|
||||
lsix
|
||||
qmk
|
||||
enigma
|
||||
superTuxKart
|
||||
solaar
|
||||
httpie
|
||||
mangohud
|
||||
nix-index
|
||||
heaptrack
|
||||
magic-wormhole
|
||||
modemmanager
|
||||
usb-modeswitch
|
||||
usb-modeswitch-data
|
||||
mobile-broadband-provider-info
|
||||
modem-manager-gui
|
||||
webcamoid
|
||||
fswebcam
|
||||
pciutils
|
||||
rnote
|
||||
inxi
|
||||
pcsc-tools
|
||||
libnfc
|
||||
nix-tree
|
||||
duf
|
||||
bat
|
||||
hw-probe
|
||||
zed-editor
|
||||
osu-lazer-bin
|
||||
delta
|
||||
scrcpy
|
||||
godot_4
|
||||
libnotify
|
||||
radicle-node
|
||||
;
|
||||
inherit (pkgs.libsForQt5)
|
||||
kdenlive
|
||||
;
|
||||
inherit (config.boot.kernelPackages)
|
||||
cpupower
|
||||
perf
|
||||
;
|
||||
};
|
||||
home.packages = let
|
||||
hyprcontrib = inputs.hyprcontrib.packages.${pkgs.system};
|
||||
shadower = inputs.shadower.packages.${pkgs.system};
|
||||
fenix = inputs.fenix.packages.${pkgs.system};
|
||||
nixpkgs-wayland = inputs.nixpkgs-wayland.packages.${pkgs.system};
|
||||
agenix = inputs.agenix.packages.${pkgs.system};
|
||||
nh = inputs.nh.packages.${pkgs.system};
|
||||
in with pkgs; [
|
||||
git
|
||||
librewolf-wayland
|
||||
keepassxc
|
||||
eza
|
||||
ripgrep
|
||||
libnotify
|
||||
rofi-wayland
|
||||
rofi-calc
|
||||
session-desktop
|
||||
signal-desktop-beta
|
||||
element-desktop
|
||||
obs-studio
|
||||
heroic
|
||||
steam
|
||||
ungoogled-chromium
|
||||
amdgpu_top
|
||||
tor-browser-bundle-bin
|
||||
mullvad-browser
|
||||
thunderbird
|
||||
telegram-desktop
|
||||
livecaptions
|
||||
gimp
|
||||
helvum
|
||||
ddccontrol
|
||||
ddccontrol-db
|
||||
bluez
|
||||
blueman
|
||||
easyeffects
|
||||
lbry
|
||||
libreoffice-fresh
|
||||
minetest
|
||||
airshipper
|
||||
#onionshare-gui
|
||||
prismlauncher
|
||||
qbittorrent
|
||||
ventoy-full
|
||||
zellij
|
||||
nodejs
|
||||
unzip
|
||||
cmake
|
||||
gcc
|
||||
nixpkgs-wayland.sway-unwrapped
|
||||
caprine-bin
|
||||
libsForQt5.kdenlive
|
||||
telegram-desktop
|
||||
waypipe
|
||||
trash-cli
|
||||
bibata-cursors
|
||||
nixpkgs-wayland.swww
|
||||
opentabletdriver
|
||||
networkmanagerapplet
|
||||
nixpkgs-wayland.wl-clipboard
|
||||
nixpkgs-wayland.wlsunset
|
||||
xdg-utils
|
||||
hyprpicker
|
||||
hyprcontrib.hyprprop
|
||||
hyprcontrib.grimblast
|
||||
shadower.shadower
|
||||
pamixer
|
||||
brightnessctl
|
||||
dig
|
||||
swappy
|
||||
nixpkgs-wayland.imv
|
||||
pcmanfm
|
||||
xdg-ninja
|
||||
auto-cpufreq
|
||||
gnupg
|
||||
pinentry-qt
|
||||
age
|
||||
rage
|
||||
fd
|
||||
udisks
|
||||
ffmpeg_6-full
|
||||
ghc
|
||||
ghcid
|
||||
cabal-install
|
||||
yt-dlp
|
||||
filelight
|
||||
(fenix.complete.withComponents [
|
||||
"cargo"
|
||||
"clippy"
|
||||
"rust-src"
|
||||
"rustc"
|
||||
"rustfmt"
|
||||
])
|
||||
wayland
|
||||
showmethekey
|
||||
polkit
|
||||
libsForQt5.polkit-kde-agent
|
||||
asciinema
|
||||
asciinema-agg
|
||||
du-dust
|
||||
appimage-run
|
||||
file
|
||||
virt-manager
|
||||
weechat
|
||||
flowblade
|
||||
fastfetch
|
||||
git-annex
|
||||
gamemode
|
||||
croc
|
||||
uutils-coreutils
|
||||
anki
|
||||
alsa-utils
|
||||
speechd
|
||||
espeak
|
||||
ezquake
|
||||
imagemagick
|
||||
weston
|
||||
pavucontrol
|
||||
psmisc
|
||||
mesa-demos
|
||||
nnn
|
||||
#aseprite-unfree
|
||||
jq
|
||||
fq
|
||||
gnumake
|
||||
gdb
|
||||
tea
|
||||
codeberg-cli
|
||||
progress
|
||||
parallel
|
||||
p7zip
|
||||
xxd
|
||||
tldr
|
||||
mpc-cli
|
||||
playerctl
|
||||
xdg-user-dirs
|
||||
meson
|
||||
wiki-tui
|
||||
lshw
|
||||
tree
|
||||
ydotool
|
||||
piper
|
||||
smartmontools
|
||||
agenix.default
|
||||
nh.default
|
||||
exiv2
|
||||
krita
|
||||
mypaint
|
||||
logseq
|
||||
gamescope
|
||||
vitetris
|
||||
gtetrinet
|
||||
config.boot.kernelPackages.cpupower
|
||||
config.boot.kernelPackages.perf
|
||||
usbutils
|
||||
libsForQt5.dolphin
|
||||
kiwix
|
||||
inkscape
|
||||
gomuks
|
||||
nushell
|
||||
twitch-tui
|
||||
hugo
|
||||
ytfzf
|
||||
mat2
|
||||
simplex-chat-desktop
|
||||
libsixel
|
||||
lsix
|
||||
ollama
|
||||
qmk
|
||||
python3
|
||||
wev
|
||||
enigma
|
||||
via
|
||||
vial
|
||||
rustdesk
|
||||
superTuxKart
|
||||
solaar
|
||||
glfw-wayland-minecraft
|
||||
httpie
|
||||
mangohud
|
||||
nix-index
|
||||
xdg-ninja
|
||||
heaptrack
|
||||
modemmanager
|
||||
usb-modeswitch
|
||||
usb-modeswitch-data
|
||||
mobile-broadband-provider-info
|
||||
modem-manager-gui
|
||||
webcamoid
|
||||
fswebcam
|
||||
asciicam
|
||||
v4l-utils
|
||||
osu-lazer-bin
|
||||
pciutils
|
||||
wvkbd
|
||||
clickclack
|
||||
rnote
|
||||
rot8
|
||||
inxi
|
||||
pcsc-tools
|
||||
libnfc
|
||||
nix-tree
|
||||
duf
|
||||
bat
|
||||
subversion
|
||||
hashcat
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
_: {
|
||||
poz.programs.quickshell = {
|
||||
enable = true;
|
||||
enabledConfigs = [
|
||||
"powermenu"
|
||||
"poz"
|
||||
];
|
||||
extraConfigs = {
|
||||
# bar = ./bar;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,74 +0,0 @@
|
|||
_: {
|
||||
poz.services.ssh = {
|
||||
daemon.enable = false;
|
||||
agent = {
|
||||
enable = true;
|
||||
hostAliases = let
|
||||
chmura = {
|
||||
hostName = "192.168.15.2";
|
||||
publicKey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDZLEWp9DsF9znp3W6uqP23yMFd8QQs0CmNKTKTanbfRYOqRWw0Jpuryxg7rTU8ioRM5L4zpIqu/v+pt9x76UsWTlFqjk9S35M1g0Kb2QN3czMJj5uA4jtFh47H8+hfBHm2RelPCcJCSmkR9gDa3XcrxlcC642yU4LTObHeHZg0yUDhUwKS8AdybxkPlmXPZ+UPEphq0CIBxU9mnieQMbQtMFnjEnNMDZJnP4BUF/XuWeHwh8yBttlL+hS37aI3hQYwGd5zdkSD9RWha10Nandlmt6+io6KYQgJxRK0c27i2jO7cmEMOz0h/ZnwHpTtRD9ifDTXuWN9l8+prAxsbC9pBsiDHqZ9ESHq7DzvqIeeyrQT0iHDoOPfB2PPCFJZlkFiM7hsWwkMc5Jaol9SjjH1a+B/+BvNGAQDWt1JIZzwE6T9RVQdGph6GMDS4o3gW3Hd8hyVdFhwD5xTJ567SntqsJdhzGH9HU5ybya3MG0WTWw3dLI0aMv/eAWSRx+7ZPE=";
|
||||
port = 7312;
|
||||
user = "chmura";
|
||||
};
|
||||
_chmura = chmura // { hostName = "jacekpoz.pl"; };
|
||||
in {
|
||||
github = {
|
||||
hostName = "github.com";
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBjhNPiKUGyAdhI6jXQsDVj5jqklIh+gVEoCGZEEaC62";
|
||||
};
|
||||
codeberg = {
|
||||
hostName = "codeberg.org";
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILZReNUB66x+SkVx0hlbA1lyfEBMpT8IvQ6LPRn52oBl";
|
||||
};
|
||||
gitlab = {
|
||||
hostName = "gitlab.com";
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA/4XLNm1/ea2jtLj2AvPWMigA/xo9mLbRUGurVthiqm";
|
||||
};
|
||||
aur = {
|
||||
hostName = "aur.archlinux.org";
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPrCofD7GLXfASLMdYFnnMxs77Ys0nu9PsCo6IKVB6Wd";
|
||||
user = "aur";
|
||||
};
|
||||
jacekpoz = {
|
||||
hostName = "git.jacekpoz.pl";
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJSxvSM0y5Z958VrgU9JNCYS4oZmV4nNXP3hIrw6zr8R";
|
||||
user = "forgejo";
|
||||
};
|
||||
inherit chmura _chmura;
|
||||
malina = {
|
||||
hostName = "192.168.15.3";
|
||||
publicKey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCJWWnBdRFQjMxSGxjPQe/jk7sAHOEb4CAY9mY105bnNcoBz0DORvK+4Ha4TIDELubKbzasDTU/Vi7tunjbiFinbOP94OTVoc9xphfxa3eQ0GrIo0icLk0A2IbAqC32m9f93AvPseZib/9PJTIpZMQcklwllKfxg3WYBglVXLmu4+epPRfk3YR6TOP77guxT8MF9zdFrlRz8Ugcytrez2evOyva2YLdsadlke3cTVLypBFB5fJ2dfDSrYzsTEgDQB9o65Kpuqp/k+hvzdZLxDjC+vec1sUWiD9nPAHOPBKsbo9UqZtp5in4+vf8iaMVGZrjAHvz3NBze7uRZGdLLm7ACfuqq1J+cyGVCFOaxk1g0e5rNqFjMnLwKrF0UaAxmKkDNnkJQnWDCY63V+Q1PkfPWRSd5oNVZnHmyukosKlmR6n2/WqQsGrQpg0oDFh8MHupJ2sCKisAR6nvm1R9HmffdlMSBEjyx1V6j2onsGX5P+lsoODoIQGz1GV6JGBU/Qc=";
|
||||
user = "malina";
|
||||
};
|
||||
outfoxxed = {
|
||||
hostName = "git.outfoxxed.me";
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGqsfan2BERiFSgXEv6KCTbzpKmtkq4gNd2409ZuKbgh";
|
||||
};
|
||||
kik_haslo = {
|
||||
hostName = "156.17.7.16";
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJAC03lGubkSRl02cX1TJ3ItkcozS8aocEHeysv/WY4v";
|
||||
port = 10002;
|
||||
user = "auth";
|
||||
};
|
||||
kik_oceny = {
|
||||
hostName = "156.17.7.45";
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJAC03lGubkSRl02cX1TJ3ItkcozS8aocEHeysv/WY4v";
|
||||
port = 19999;
|
||||
user = "view";
|
||||
};
|
||||
tramwaj = {
|
||||
hostName = "asi.pwr.wroc.pl";
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINnqXeczgwYduhAd3LT16qTor8CcU1b8J+YyUwKhkxqD";
|
||||
port = 2137;
|
||||
user = "poz";
|
||||
};
|
||||
mikrus = {
|
||||
hostName = "maluch2.mikr.us";
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM3VA0UdRQYXRVIw539tUrN/eTZdgh+WX3Yf7wOvjIg8";
|
||||
port = 10471;
|
||||
user = "root";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,17 +0,0 @@
|
|||
_: {
|
||||
poz.other = {
|
||||
system = {
|
||||
hostname = "del";
|
||||
username = "jacek";
|
||||
platform = "x86_64-linux";
|
||||
};
|
||||
hardware.monitors = {
|
||||
eDP-1 = {
|
||||
resolution = { w = 1920; h = 1280; };
|
||||
refreshRate = 60;
|
||||
position = { x = 0; y = 0; };
|
||||
scale = 1.0;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,31 +0,0 @@
|
|||
{
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
poz.themes = {
|
||||
cursor = {
|
||||
enable = true;
|
||||
package = pkgs.bibata-cursors;
|
||||
name = "Bibata-Modern-Classic";
|
||||
size = 24;
|
||||
};
|
||||
gtk = {
|
||||
enable = true;
|
||||
package = pkgs.catppuccin-gtk;
|
||||
name = "catppuccin-mocha-green-standard+normal";
|
||||
variant = "mocha";
|
||||
accentColour = "green";
|
||||
iconTheme = {
|
||||
name = "Papirus-Dark";
|
||||
package = pkgs.catppuccin-papirus-folders;
|
||||
};
|
||||
};
|
||||
qt = {
|
||||
enable = true;
|
||||
package = pkgs.catppuccin-kde;
|
||||
name = "Catppuccin-Mocha-Dark";
|
||||
variant = "mocha";
|
||||
accentColour = "green";
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,31 +1,15 @@
|
|||
{
|
||||
config,
|
||||
inputs,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (config.poz.other.system) username;
|
||||
|
||||
inherit (lib.meta) getExe getExe';
|
||||
|
||||
iio-hyprland = getExe inputs.iio-hyprland.packages.${pkgs.system}.default;
|
||||
wpctl = getExe' pkgs.wireplumber "wpctl";
|
||||
brightnessctl = getExe pkgs.brightnessctl;
|
||||
inherit (inputs.hyprland.packages.${pkgs.system}) hyprland;
|
||||
hyprctl = getExe' hyprland "hyprctl";
|
||||
rg = getExe pkgs.ripgrep;
|
||||
wc = getExe' pkgs.coreutils-full "wc";
|
||||
kill = getExe' pkgs.util-linux "kill";
|
||||
pkill = getExe' pkgs.procps "pkill";
|
||||
pidof = getExe' pkgs.procps "pidof";
|
||||
asusctl = getExe' config.services.asusd.package "asusctl";
|
||||
sed = getExe pkgs.gnused;
|
||||
username = config.myOptions.other.system.username;
|
||||
in {
|
||||
home-manager.users.${username} = {
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
package = inputs.waybar.packages.${pkgs.system}.waybar;
|
||||
package = inputs.wabar.packages.${pkgs.system}.waybar;
|
||||
settings.mainBar = {
|
||||
gtk-layer-shell = true;
|
||||
layer = "top";
|
||||
|
@ -41,7 +25,7 @@ in {
|
|||
format-icons = {
|
||||
default = ["" "" ""];
|
||||
};
|
||||
on-click = "${wpctl} set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
||||
on-click = "${pkgs.wireplumber}/bin/wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
||||
};
|
||||
"hyprland/workspaces" = {
|
||||
sort-by-name = true;
|
||||
|
@ -92,8 +76,8 @@ in {
|
|||
format-icons = [ "" "" "" "" "" "" "" ];
|
||||
#on-scroll-up = "~/Scripts/bright.sh s +1%";
|
||||
#on-scroll-down = "~/Scripts/bright.sh s 1%-";
|
||||
on-scroll-up = "${brightnessctl} set +1%";
|
||||
on-scroll-down = "${brightnessctl} set 1%-";
|
||||
on-scroll-up = "${pkgs.brightnessctl}/bin/brightnessctl set +1%";
|
||||
on-scroll-down = "${pkgs.brightnessctl}/bin/brightnessctl set 1%-";
|
||||
smooth-scrolling-threshold = 1;
|
||||
};
|
||||
battery = {
|
||||
|
@ -153,11 +137,11 @@ in {
|
|||
"custom/launcher" = {
|
||||
format = " ";
|
||||
on-click = "~/.config/rofi/launchers/type-2/launcher.sh";
|
||||
on-click-right = "${pkill} rofi";
|
||||
on-click-right = "pkill rofi";
|
||||
};
|
||||
"custom/power" = {
|
||||
format = "";
|
||||
on-click = "quickshell -c powermenu";
|
||||
on-click = "~/.config/rofi/powermenu/type-2/powermenu.sh";
|
||||
};
|
||||
"hyprland/window" = {
|
||||
format = "{}";
|
||||
|
@ -203,28 +187,28 @@ in {
|
|||
};
|
||||
};
|
||||
"custom/power_profile" = {
|
||||
exec = "${asusctl} profile -p | ${sed} s:'Active profile is'::";
|
||||
exec = "asusctl profile -p | sed s:'Active profile is'::";
|
||||
interval = 30;
|
||||
format = "{}";
|
||||
format-alt-click = "click-right";
|
||||
format-alt = "";
|
||||
on-click = "${asusctl} profile -n; ${pkill} -SIGRTMIN+8 waybar";
|
||||
on-click = "asusctl profile -n; pkill -SIGRTMIN+8 waybar";
|
||||
signal = 8;
|
||||
};
|
||||
"custom/xwayland" = {
|
||||
exec = "${hyprctl} clients | ${rg} -e 'xwayland: [1]' | ${wc} -l";
|
||||
exec = "${inputs.hyprland.packages.${pkgs.system}.hyprland}/bin/hyprctl clients | ${pkgs.ripgrep}/bin/rg -e 'xwayland: [1]' | ${pkgs.coreutils-full}/bin/wc -l";
|
||||
interval = 1;
|
||||
format = "X {}";
|
||||
};
|
||||
"custom/rot" = {
|
||||
exec = "${pidof} iio-hyprland > /dev/null; if [ $? -eq '0' ]; then echo -n ''; else echo -n ''; fi";
|
||||
exec = "${pkgs.procps}/bin/pidof rot8 > /dev/null; if [ $? -eq '0' ]; then echo -n ''; else echo -n ''; fi";
|
||||
interval = 1;
|
||||
on-click = "${pkill} iio-hyprland || ${iio-hyprland} & disown";
|
||||
on-click = "${pkgs.procps}/bin/pkill rot8 || rot8 --threshold 0.75 & disown";
|
||||
format = " {}";
|
||||
};
|
||||
"custom/wvkbd" = {
|
||||
# RTMIN
|
||||
on-click = "${kill} -s 34 $(${pidof} wvkbd-mobintl)";
|
||||
on-click = "${pkgs.util-linux}/bin/kill -s 34 $(${pkgs.procps}/bin/pidof wvkbd-mobintl)";
|
||||
format = "";
|
||||
};
|
||||
mpd = {
|
||||
|
@ -349,7 +333,7 @@ in {
|
|||
.modules-right > widget:first-child > #workspaces {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
|
||||
#pulseaudio {
|
||||
margin-top: 3px;
|
||||
margin-bottom: 3px;
|
||||
|
@ -526,7 +510,7 @@ in {
|
|||
background: @mantle;
|
||||
color: @green;
|
||||
}
|
||||
|
||||
|
||||
#custom-rot {
|
||||
margin-top: 3px;
|
||||
margin-bottom: 3px;
|
||||
|
@ -563,3 +547,4 @@ in {
|
|||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,61 +1,230 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
services = {
|
||||
pcscd.enable = true;
|
||||
|
||||
udisks2.enable = true;
|
||||
}: let
|
||||
username = config.myOptions.other.system.username;
|
||||
in {
|
||||
nixpkgs = {
|
||||
config.allowUnfree = true;
|
||||
overlays = [
|
||||
inputs.nur.overlay
|
||||
inputs.neovim-nightly-overlay.overlay
|
||||
];
|
||||
};
|
||||
|
||||
poz = {
|
||||
other = {
|
||||
home-manager = {
|
||||
boot = {
|
||||
loader = {
|
||||
systemd-boot = {
|
||||
enable = true;
|
||||
enableDirenv = true;
|
||||
};
|
||||
networking.enable = true;
|
||||
};
|
||||
programs = {
|
||||
agenix.enable = true;
|
||||
nh = let
|
||||
inherit (config.poz.other.system) username;
|
||||
home = config.home-manager.users.${username}.home.homeDirectory;
|
||||
in {
|
||||
enable = true;
|
||||
flake = "${home}/niksos";
|
||||
};
|
||||
starship.enable = true;
|
||||
zsh = {
|
||||
enable = true;
|
||||
extraAliases = {
|
||||
u = "nh os switch -H hape";
|
||||
us = "NIX_SSHOPTS='-t' nixos-rebuild switch --flake \"/home/jacek/niksos#chmura\" -L --use-remote-sudo --target-host chmura";
|
||||
# TODO use this when nh supports it
|
||||
#us = "NIX_SSHOPTS='-t' nh os switch -H chmura -- --store ssh-ng://chmura";
|
||||
};
|
||||
profiling = false;
|
||||
};
|
||||
zoxide.enable = true;
|
||||
anyrun.enable = true;
|
||||
btop.enable = true;
|
||||
foot.enable = true;
|
||||
mpv.enable = true;
|
||||
neovim.enable = true;
|
||||
zathura.enable = true;
|
||||
hypr = {
|
||||
land.enable = true;
|
||||
lock.enable = true;
|
||||
idle.enable = true;
|
||||
};
|
||||
quickshell = {
|
||||
enable = true;
|
||||
enabledConfigs = [
|
||||
"powermenu"
|
||||
"poz"
|
||||
];
|
||||
memtest86.enable = true;
|
||||
};
|
||||
};
|
||||
kernelPackages = pkgs.linuxPackages_zen;
|
||||
};
|
||||
|
||||
documentation = {
|
||||
enable = true;
|
||||
dev.enable = true;
|
||||
doc.enable = true;
|
||||
info.enable = true;
|
||||
man = {
|
||||
enable = true;
|
||||
generateCaches = true;
|
||||
man-db.enable = false;
|
||||
mandoc.enable = true;
|
||||
};
|
||||
nixos = {
|
||||
includeAllModules = true;
|
||||
};
|
||||
};
|
||||
|
||||
networking = {
|
||||
networkmanager.enable = true;
|
||||
firewall.checkReversePath = "loose";
|
||||
};
|
||||
|
||||
# don't wait for network to boot faster
|
||||
# https://old.reddit.com/r/NixOS/comments/vdz86j/how_to_remove_boot_dependency_on_network_for_a
|
||||
systemd = {
|
||||
targets.network-online.wantedBy = lib.mkForce []; # default is [ "multi-user.target" ]
|
||||
services.NetworkManager-wait-online.wantedBy = lib.mkForce []; # default is [ "network-online.target" ]
|
||||
};
|
||||
|
||||
systemd.oomd = {
|
||||
enable = true;
|
||||
enableUserServices = true;
|
||||
};
|
||||
|
||||
time.timeZone = "Europe/Warsaw";
|
||||
|
||||
nix = {
|
||||
settings = {
|
||||
experimental-features = [
|
||||
"flakes"
|
||||
"nix-command"
|
||||
];
|
||||
substituters = [
|
||||
"https://hyprland.cachix.org"
|
||||
"https://anyrun.cachix.org"
|
||||
"https://nix-community.cachix.org"
|
||||
"https://nixpkgs-wayland.cachix.org"
|
||||
"https://helix.cachix.org"
|
||||
"https://viperml.cachix.org"
|
||||
];
|
||||
trusted-public-keys = [
|
||||
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
|
||||
"anyrun.cachix.org-1:pqBobmOjI7nKlsUMV25u9QHa9btJK65/C8vnO3p346s="
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
"nixpkgs-wayland.cachix.org-1:3lwxaILxMRkVhehr5StQprHdEo4IrE8sRho9R9HOLYA="
|
||||
"helix.cachix.org-1:ejp9KQpR1FBI2onstMQ34yogDm4OgU2ru6lIwPvuCVs="
|
||||
"viperml.cachix.org-1:qZhKBMTfmcLL+OG6fj/hzsMEedgKvZVFRRAhq7j8Vh8="
|
||||
];
|
||||
keep-outputs = true;
|
||||
keep-derivations = true;
|
||||
};
|
||||
};
|
||||
|
||||
programs.dconf.enable = true;
|
||||
|
||||
security.sudo.package = pkgs.sudo.override { withInsults = true; };
|
||||
|
||||
security.polkit.enable = true;
|
||||
|
||||
fonts.packages = with pkgs; [
|
||||
material-design-icons
|
||||
(nerdfonts.override { fonts = [
|
||||
"JetBrainsMono"
|
||||
"Iosevka"
|
||||
]; })
|
||||
noto-fonts
|
||||
noto-fonts-cjk-sans
|
||||
noto-fonts-cjk-serif
|
||||
noto-fonts-emoji
|
||||
];
|
||||
|
||||
users.users.${username} = {
|
||||
extraGroups = [ "networkmanager" "libvirtd" ];
|
||||
shell = pkgs.zsh;
|
||||
};
|
||||
|
||||
programs.zsh.enable = true;
|
||||
|
||||
environment = {
|
||||
shells = [ pkgs.zsh ];
|
||||
pathsToLink = [ "/share/zsh" ];
|
||||
enableAllTerminfo = true;
|
||||
sessionVariables = {
|
||||
TERM = "foot";
|
||||
EDITOR = "${pkgs.neovim}/bin/nvim";
|
||||
|
||||
GTK_IM_MODULE = "fcitx";
|
||||
QT_IM_MODULE = "fcitx";
|
||||
XMODIFIERS = "@im=fcitx";
|
||||
|
||||
LIBSEAT_BACKEND = "logind";
|
||||
QT_QPA_PLATFORMTHEME = "qt5ct";
|
||||
|
||||
GOPATH = "\$HOME/.local/share/go";
|
||||
|
||||
XDG_CURRENT_DESKTOP = "Hyprland";
|
||||
XDG_SESSION_TYPE = "wayland";
|
||||
XDG_SESSION_DESKTOP = "Hyprland";
|
||||
|
||||
QT_QPA_PLATFORM = "wayland";
|
||||
MOZ_ENABLE_WAYLAND = "1";
|
||||
MOZ_DRM_DEVICE = "/dev/dri/card0";
|
||||
|
||||
SDL_VIDEODRIVER = "wayland";
|
||||
|
||||
_JAVA_AWT_WM_NONEREPARENTING = "1";
|
||||
|
||||
CLUTTER_BACKEND = "wayland";
|
||||
|
||||
GDK_BACKEND = "wayland";
|
||||
|
||||
XCURSOR_THEME = "Bibata-Modern-Classic";
|
||||
XCURSOR_SIZE = "24";
|
||||
|
||||
XDG_DATA_HOME = "\$HOME/.local/share";
|
||||
XDG_CONFIG_HOME = "\$HOME/.config";
|
||||
XDG_STATE_HOME = "\$HOME/.local/state";
|
||||
XDG_CACHE_HOME = "\$HOME/.cache";
|
||||
|
||||
HISTFILE = "\${XDG_STATE_HOME}/bash/history";
|
||||
CARGO_HOME = "\${XDG_DATA_HOME}/cargo";
|
||||
GTK2_RC_FILES = "\${XDG_CONFIG_HOME}/gtk-2.0/gtkrc";
|
||||
|
||||
CHROME_EXECUTABLE = "${pkgs.ungoogled-chromium}/bin/chromium";
|
||||
|
||||
NIXOS_OZONE_WL = "1";
|
||||
};
|
||||
systemPackages = with pkgs; [
|
||||
man-pages
|
||||
man-pages-posix
|
||||
];
|
||||
};
|
||||
|
||||
services = {
|
||||
blueman.enable = true;
|
||||
mullvad-vpn.enable = true;
|
||||
|
||||
pcscd.enable = true;
|
||||
|
||||
udev.packages = [ pkgs.yubikey-personalization ];
|
||||
|
||||
udisks2.enable = true;
|
||||
dbus.enable = true;
|
||||
};
|
||||
|
||||
programs.gnupg.agent = {
|
||||
enable = true;
|
||||
pinentryFlavor = "qt";
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
|
||||
hardware = {
|
||||
opentabletdriver = {
|
||||
enable = true;
|
||||
daemon.enable = true;
|
||||
};
|
||||
bluetooth.enable = true;
|
||||
opengl = {
|
||||
enable = true;
|
||||
driSupport = true;
|
||||
driSupport32Bit = true;
|
||||
};
|
||||
};
|
||||
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
extraPortals = with pkgs; [
|
||||
inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland
|
||||
xdg-desktop-portal-gtk
|
||||
];
|
||||
};
|
||||
|
||||
services.btrfs = {
|
||||
autoScrub = {
|
||||
enable = true;
|
||||
interval = "weekly";
|
||||
};
|
||||
};
|
||||
|
||||
services.psd = {
|
||||
enable = true;
|
||||
resyncTimer = "30m";
|
||||
};
|
||||
|
||||
services.journald = {
|
||||
extraConfig = ''
|
||||
SystemMaxUse=100M
|
||||
'';
|
||||
};
|
||||
|
||||
myOptions = {
|
||||
services = {
|
||||
dunst.enable = true;
|
||||
greetd = {
|
||||
|
|
|
@ -2,10 +2,6 @@ _: {
|
|||
imports = [
|
||||
./configuration.nix
|
||||
./hardware-configuration.nix
|
||||
./firefox.nix
|
||||
./profile.nix
|
||||
./programs.nix
|
||||
./system.nix
|
||||
./themes.nix
|
||||
./home-manager.nix
|
||||
];
|
||||
}
|
||||
|
|
|
@ -1,51 +0,0 @@
|
|||
{
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
poz.programs.firefox = {
|
||||
enable = true;
|
||||
defaultSearchEngine = "NotASearx";
|
||||
searchEngines = {
|
||||
"NotASearx" = {
|
||||
url = "https://search.notashelf.dev/search?q={searchTerms}";
|
||||
faviconUrl = "https://search.notashelf.dev/favicon.ico";
|
||||
aliases = [ "@sx" ];
|
||||
};
|
||||
"NixOS Packages" = {
|
||||
url = "https://search.nixos.org/packages?channel=unstable&query={searchTerms}";
|
||||
faviconPath = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
aliases = [ "@np" ];
|
||||
};
|
||||
"NixOS Options" = {
|
||||
url = "https://search.nixos.org/options?channel=unstable&query={searchTerms}";
|
||||
faviconPath = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
aliases = [ "@no" ];
|
||||
};
|
||||
"NixOS Wiki" = {
|
||||
url = "https://wiki.nixos.org/w/index.php?search={searchTerms}";
|
||||
faviconPath = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
aliases = [ "@nw" ];
|
||||
};
|
||||
"Home Manager Option Search" = {
|
||||
url = "https://home-manager-options.extranix.com/?release=master&query={searchTerms}";
|
||||
faviconPath = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
aliases = [ "@hm" ];
|
||||
};
|
||||
"Arch Wiki" = {
|
||||
url = "https://wiki.archlinux.org/index.php?search={searchTerms}";
|
||||
faviconUrl = "https://archlinux.org/favicon.ico";
|
||||
aliases = [ "@aw" ];
|
||||
};
|
||||
"Gentoo Wiki" = {
|
||||
url = "https://wiki.gentoo.org/index.php?search={searchTerms}";
|
||||
faviconUrl = "https://www.gentoo.org/favicon.ico";
|
||||
aliases = [ "@gw" ];
|
||||
};
|
||||
"Debian Wiki" = {
|
||||
url = "https://wiki.debian.org/FrontPage?action=fullsearch&value={searchTerms}";
|
||||
faviconUrl = "https://www.debian.org/favicon.ico";
|
||||
aliases = [ "@dw" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
152
hosts/hape/home-manager.nix
Normal file
152
hosts/hape/home-manager.nix
Normal file
|
@ -0,0 +1,152 @@
|
|||
{
|
||||
config,
|
||||
inputs,
|
||||
lib,
|
||||
pkgs,
|
||||
self,
|
||||
...
|
||||
}: let
|
||||
username = config.myOptions.other.system.username;
|
||||
in {
|
||||
home-manager = {
|
||||
useUserPackages = true;
|
||||
useGlobalPkgs = true;
|
||||
extraSpecialArgs = {inherit inputs self;};
|
||||
users.${username} = {
|
||||
programs = {
|
||||
home-manager.enable = true;
|
||||
direnv = {
|
||||
enable = true;
|
||||
nix-direnv.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
home = {
|
||||
inherit username;
|
||||
homeDirectory = "/home/${username}";
|
||||
packages = let
|
||||
hyprcontrib = inputs.hyprcontrib.packages.${pkgs.system};
|
||||
shadower = inputs.shadower.packages.${pkgs.system};
|
||||
fenix = inputs.fenix.packages.${pkgs.system};
|
||||
nixpkgs-wayland = inputs.nixpkgs-wayland.packages.${pkgs.system};
|
||||
agenix = inputs.agenix.packages.${pkgs.system};
|
||||
nh = inputs.nh.packages.${pkgs.system};
|
||||
in with pkgs; [
|
||||
git
|
||||
librewolf-wayland
|
||||
keepassxc
|
||||
eza
|
||||
ripgrep
|
||||
libnotify
|
||||
rofi-wayland
|
||||
rofi-calc
|
||||
session-desktop
|
||||
signal-desktop-beta
|
||||
schildichat-desktop
|
||||
obs-studio
|
||||
heroic
|
||||
steam
|
||||
ungoogled-chromium
|
||||
amdgpu_top
|
||||
tor-browser-bundle-bin
|
||||
mullvad-browser
|
||||
thunderbird
|
||||
livecaptions
|
||||
gimp
|
||||
helvum
|
||||
bluez
|
||||
blueman
|
||||
easyeffects
|
||||
libreoffice-fresh
|
||||
onionshare-gui
|
||||
qbittorrent
|
||||
zathura
|
||||
zellij
|
||||
unzip
|
||||
nixpkgs-wayland.sway-unwrapped
|
||||
caprine-bin
|
||||
waypipe
|
||||
trash-cli
|
||||
bibata-cursors
|
||||
nixpkgs-wayland.swww
|
||||
networkmanagerapplet
|
||||
nixpkgs-wayland.wl-clipboard
|
||||
nixpkgs-wayland.wlsunset
|
||||
xdg-utils
|
||||
hyprpicker
|
||||
hyprcontrib.hyprprop
|
||||
hyprcontrib.grimblast
|
||||
shadower.shadower
|
||||
pamixer
|
||||
brightnessctl
|
||||
dig
|
||||
swappy
|
||||
nixpkgs-wayland.imv
|
||||
pcmanfm
|
||||
xdg-ninja
|
||||
auto-cpufreq
|
||||
gnupg
|
||||
pinentry-qt
|
||||
age
|
||||
rage
|
||||
fd
|
||||
udisks
|
||||
ffmpeg
|
||||
yt-dlp
|
||||
filelight
|
||||
(fenix.complete.withComponents [
|
||||
"cargo"
|
||||
"clippy"
|
||||
"rust-src"
|
||||
"rustc"
|
||||
"rustfmt"
|
||||
])
|
||||
wayland
|
||||
showmethekey
|
||||
polkit
|
||||
libsForQt5.polkit-kde-agent
|
||||
asciinema
|
||||
asciinema-agg
|
||||
du-dust
|
||||
mullvad-vpn
|
||||
appimage-run
|
||||
file
|
||||
hyfetch
|
||||
git-annex
|
||||
gamemode
|
||||
croc
|
||||
linuxKernel.packages.linux_xanmod_latest.cpupower
|
||||
alsa-utils
|
||||
speechd
|
||||
arcanPackages.espeak
|
||||
imagemagick
|
||||
pavucontrol
|
||||
psmisc
|
||||
mesa-demos
|
||||
nnn
|
||||
jq
|
||||
fq
|
||||
tea
|
||||
codeberg-cli
|
||||
progress
|
||||
parallel
|
||||
p7zip
|
||||
xxd
|
||||
mpc-cli
|
||||
playerctl
|
||||
xdg-user-dirs
|
||||
wiki-tui
|
||||
lshw
|
||||
tree
|
||||
ydotool
|
||||
agenix.default
|
||||
nh.default
|
||||
exiv2
|
||||
gamescope
|
||||
];
|
||||
|
||||
stateVersion = lib.mkDefault "23.11";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
{
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.lists) map;
|
||||
inherit (lib.path) append;
|
||||
in {
|
||||
imports = map (append ../common/optional) [
|
||||
"adb.nix"
|
||||
"asusd.nix"
|
||||
"cpu/intel.nix"
|
||||
"gpu/intel.nix"
|
||||
"mullvad-vpn.nix"
|
||||
"opentabletdriver.nix"
|
||||
"power-supply.nix"
|
||||
"qmk.nix"
|
||||
"suspend.nix"
|
||||
"v4l2.nix"
|
||||
"wayland.nix"
|
||||
"wireshark.nix"
|
||||
"yubikey.nix"
|
||||
];
|
||||
}
|
|
@ -1,81 +0,0 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (config.poz.other.system) username;
|
||||
|
||||
inherit (lib.attrsets) attrValues;
|
||||
in {
|
||||
home-manager.users.${username} = {
|
||||
home.packages = attrValues {
|
||||
inherit (pkgs)
|
||||
keepassxc
|
||||
eza
|
||||
ripgrep
|
||||
signal-desktop-beta
|
||||
element-desktop
|
||||
obs-studio
|
||||
heroic
|
||||
ungoogled-chromium
|
||||
tor-browser-bundle-bin
|
||||
mullvad-browser
|
||||
thunderbird
|
||||
gimp
|
||||
easyeffects
|
||||
libreoffice-fresh
|
||||
qbittorrent
|
||||
zellij
|
||||
unzip
|
||||
caprine-bin
|
||||
trash-cli
|
||||
networkmanagerapplet
|
||||
xdg-utils
|
||||
pamixer
|
||||
brightnessctl
|
||||
dig
|
||||
imv
|
||||
pcmanfm
|
||||
xdg-ninja
|
||||
gnupg
|
||||
age
|
||||
rage
|
||||
fd
|
||||
udisks
|
||||
ffmpeg_6-full
|
||||
yt-dlp
|
||||
filelight
|
||||
asciinema
|
||||
asciinema-agg
|
||||
du-dust
|
||||
appimage-run
|
||||
file
|
||||
fastfetch
|
||||
magic-wormhole
|
||||
alsa-utils
|
||||
imagemagick
|
||||
psmisc
|
||||
mesa-demos
|
||||
jq
|
||||
fq
|
||||
progress
|
||||
parallel
|
||||
p7zip
|
||||
xxd
|
||||
mpc-cli
|
||||
playerctl
|
||||
xdg-user-dirs
|
||||
lshw
|
||||
tree
|
||||
exiv2
|
||||
libnotify
|
||||
radicle-node
|
||||
;
|
||||
inherit (config.boot.kernelPackages)
|
||||
cpupower
|
||||
perf
|
||||
;
|
||||
};
|
||||
};
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue