Compare commits

..

4 commits

Author SHA1 Message Date
d11a31ebcd remove default cli apps from mac
Some checks failed
use nix / build (push) Failing after 3m55s
2024-06-28 20:20:49 +01:00
5dc73f59e2 add note on generating keys 2024-06-28 20:20:39 +01:00
421064ce53 add kitty and firefox on a mac 2024-06-28 19:40:14 +01:00
1b67f19e18 add airy 2024-06-28 19:25:30 +01:00
10 changed files with 112 additions and 39 deletions

View file

@ -5,6 +5,12 @@ My dotfiles - including my vim, terminal and font config.
My current setup consists of multiple machines running NixOS. My current setup consists of multiple machines running NixOS.
This is using flakes for reproducibility and home manager for setting up user-specific things. This is using flakes for reproducibility and home manager for setting up user-specific things.
## generating ssh keys
```
ssh-keygen -t ed25519
```
Workstations are set up by running ` sudo nixos-rebuild switch --flake '.#'` and servers are by `nixos-rebuild switch --flake '.#servername' --target-host root@hostname`. Workstations are set up by running ` sudo nixos-rebuild switch --flake '.#'` and servers are by `nixos-rebuild switch --flake '.#servername' --target-host root@hostname`.
I don't use home manager the program, everything is referenced from the top flake. I don't use home manager the program, everything is referenced from the top flake.

View file

@ -137,17 +137,22 @@
"x86_64-linux".default = mkShell nixpkgs-stable "x86_64-linux"; "x86_64-linux".default = mkShell nixpkgs-stable "x86_64-linux";
"aarch64-linux".default = mkShell nixpkgs-stable "aarch64-linux"; "aarch64-linux".default = mkShell nixpkgs-stable "aarch64-linux";
}; };
# Expose the package set, including overlays, for convenience.
darwinPackages = self.darwinConfigurations."airy".pkgs;
darwinConfigurations = { darwinConfigurations = {
"FORM3-CYRYLPLOTN" = darwin.lib.darwinSystem rec { "airy" = darwin.lib.darwinSystem rec {
system = "x86_64-darwin"; system = "aarch64-darwin";
modules = [ modules = [
(./. + "/nixos/boxes/form3") (./. + "/nixos/boxes/airy")
{users.users.cyryl.home = "/Users/cyryl";}
home-manager.darwinModules.home-manager home-manager.darwinModules.home-manager
{ {
home-manager = { home-manager = {
useGlobalPkgs = true; useGlobalPkgs = true;
useUserPackages = true; useUserPackages = true;
users.cyryl = { users.cyryl = {
home.homeDirectory = "/Users/cyryl";
imports = [./nixos/home-manager]; imports = [./nixos/home-manager];
_module.args.inputs = inputs; _module.args.inputs = inputs;
_module.args.system = system; _module.args.system = system;

View file

@ -0,0 +1,38 @@
{
config,
pkgs,
inputs,
lib,
nixpkgs-nixos-unstable-and-unfree,
...
}: {
imports = [
../../git
../../helix
../../mercurial
../../vim
../../zsh
];
services.nix-daemon.enable = true;
nix.settings.experimental-features = "nix-command flakes";
programs.zsh.enable = true; # default shell on catalina
system.stateVersion = 4;
# The platform the configuration will be used on.
nixpkgs.hostPlatform = "aarch64-darwin";
homebrew.enable = true;
homebrew.casks = ["firefox"];
home-manager.users.cyryl = {...}: {
imports = [
../../home-manager/programs/kitty.nix
];
home.packages = with pkgs; [];
programs = {
};
};
}

View file

@ -1,9 +1,12 @@
{ config, pkgs, ... }: {
let config,
pkgs,
...
}: let
genericBackupPath = "/var/lib/backups/"; genericBackupPath = "/var/lib/backups/";
nixosContainersBackupPath = "/var/lib/nixos-containers/"; nixosContainersBackupPath = "/var/lib/nixos-containers/";
in rec { in rec {
environment.systemPackages = with pkgs; [ restic ]; environment.systemPackages = with pkgs; [restic];
sops.secrets."restic-backups-b2-repo-password" = { sops.secrets."restic-backups-b2-repo-password" = {
sopsFile = ./restic.sops.yaml; sopsFile = ./restic.sops.yaml;
@ -39,10 +42,9 @@ in rec {
systemctl start container@foundryvtt.service systemctl start container@foundryvtt.service
systemctl start --all mastodon* systemctl start --all mastodon*
''; '';
timerConfig = { OnCalendar = "daily"; }; timerConfig = {OnCalendar = "daily";};
environmentFile = environmentFile = "${config.sops.secrets.restic-backups-b2-environment.path}";
"${config.sops.secrets.restic-backups-b2-environment.path}"; exclude = ["cache"];
exclude = [ "cache" ];
pruneOpts = [ pruneOpts = [
"--keep-hourly 25" "--keep-hourly 25"
"--keep-daily 8" "--keep-daily 8"
@ -50,7 +52,7 @@ in rec {
"--keep-monthly 13" "--keep-monthly 13"
"--keep-yearly 2" "--keep-yearly 2"
]; ];
checkOpts = [ "--with-cache" ]; checkOpts = ["--with-cache"];
}; };
}; };

View file

@ -1,5 +1,11 @@
{ config, pkgs, inputs, lib, system, ... }: {
let config,
pkgs,
inputs,
lib,
system,
...
}: let
unstable = inputs.nixpkgs-nixos-unstable; unstable = inputs.nixpkgs-nixos-unstable;
package = unstable.legacyPackages."${system}".forgejo; package = unstable.legacyPackages."${system}".forgejo;
httpPort = 8083; httpPort = 8083;
@ -22,20 +28,19 @@ let
}; };
groups."${systemGroupName}" = { groups."${systemGroupName}" = {
inherit gid; inherit gid;
members = [ "${systemUserName}" "nginx" ]; members = ["${systemUserName}" "nginx"];
}; };
}; };
in { in {
imports = imports = [../nginx.nix "${unstable}/nixos/modules/services/misc/forgejo.nix"];
[ ../nginx.nix "${unstable}/nixos/modules/services/misc/forgejo.nix" ]; disabledModules = ["services/misc/forgejo.nix"];
disabledModules = [ "services/misc/forgejo.nix" ];
inherit users; inherit users;
boot.kernel.sysctl = { "net.ipv4.ip_unprivileged_port_start" = 0; }; boot.kernel.sysctl = {"net.ipv4.ip_unprivileged_port_start" = 0;};
systemd.services.systemd-sysctl.enable = lib.mkForce true; systemd.services.systemd-sysctl.enable = lib.mkForce true;
networking.firewall.allowedTCPPorts = [ sshPort ]; networking.firewall.allowedTCPPorts = [sshPort];
services.nginx = { services.nginx = {
virtualHosts = { virtualHosts = {
"${domain}" = { "${domain}" = {

View file

@ -1,8 +1,12 @@
{ config, pkgs, ... }: { {
config,
pkgs,
...
}: {
console.keyMap = "pl2"; console.keyMap = "pl2";
imports = [ ./tailscale ]; imports = [./tailscale];
services = { services = {
udev.packages = [ pkgs.android-udev-rules ]; udev.packages = [pkgs.android-udev-rules];
ratbagd.enable = true; ratbagd.enable = true;
gvfs.enable = true; gvfs.enable = true;

View file

@ -1,10 +1,15 @@
{ config, pkgs, ... }: { {
services = { }; config,
pkgs,
...
}: {
services = {};
xsession = { enable = false; }; xsession = {enable = false;};
home.sessionVariables = { QT_QPA_PLATFORM = "wayland"; }; home.sessionVariables = {QT_QPA_PLATFORM = "wayland";};
home.packages = (with pkgs; [ gnome-usage gnome3.gnome-tweaks ]) home.packages =
(with pkgs; [gnome-usage gnome3.gnome-tweaks])
++ (with pkgs.gnomeExtensions; [ ++ (with pkgs.gnomeExtensions; [
caffeine caffeine
clipboard-indicator clipboard-indicator
@ -14,7 +19,7 @@
dconf.settings = { dconf.settings = {
"org/gnome/mutter" = { "org/gnome/mutter" = {
# https://github.com/NixOS/nixpkgs/issues/114514#issuecomment-1177709271 # https://github.com/NixOS/nixpkgs/issues/114514#issuecomment-1177709271
experimental-features = [ "scale-monitor-framebuffer" ]; experimental-features = ["scale-monitor-framebuffer"];
}; };
"org/gnome/shell" = { "org/gnome/shell" = {
disable-user-extensions = false; disable-user-extensions = false;

View file

@ -1,4 +1,10 @@
{ config, pkgs, inputs, system, ... }: { {
config,
pkgs,
inputs,
system,
...
}: {
home.packages = with pkgs; [ home.packages = with pkgs; [
(pass.withExtensions (ext: [ (pass.withExtensions (ext: [
ext.pass-otp ext.pass-otp
@ -16,7 +22,6 @@
bottom bottom
curl curl
dive dive
dmidecode
dnsutils dnsutils
docker-compose docker-compose
du-dust du-dust
@ -53,7 +58,6 @@
unzip unzip
wget wget
wl-clipboard wl-clipboard
xdotool inputs.nixpkgs-nixos-unstable.legacyPackages."${system}".yt-dlp
inputs.nixpkgs-nixos-unstable.legacyPackages."x86_64-linux".yt-dlp
]; ];
} }

View file

@ -12,6 +12,7 @@
atop atop
btop btop
btrfs-progs btrfs-progs
dmidecode
glibcLocales glibcLocales
hsetroot hsetroot
lm_sensors lm_sensors
@ -24,5 +25,6 @@
topgrade topgrade
wirelesstools wirelesstools
woeusb woeusb
xdotool
]; ];
} }

View file

@ -1,11 +1,13 @@
{ config, pkgs, ... }: { {
config,
pkgs,
...
}: {
services = { services = {
kdeconnect.enable = true; kdeconnect.enable = true;
kdeconnect.indicator = true; kdeconnect.indicator = true;
}; };
home.packages = [ ]; home.packages = [];
dconf.settings = { }; dconf.settings = {};
} }