Compare commits
2 Commits
1ade601ce9
...
fe08509e4d
Author | SHA1 | Date | |
---|---|---|---|
fe08509e4d | |||
5876717df1 |
@ -1,5 +1,7 @@
|
|||||||
## Felixalbs nixos config
|
## Felixalbs nixos config
|
||||||
|
|
||||||
|
![](https://github.com/NixOS/nixos-artwork/blob/master/releases/24.05-uakari/uakari.png?raw=true)
|
||||||
|
|
||||||
Contains configurations for some nixos servers, some nixos desktops and a [nix-darwin](https://github.com/LnL7/nix-darwin) host.
|
Contains configurations for some nixos servers, some nixos desktops and a [nix-darwin](https://github.com/LnL7/nix-darwin) host.
|
||||||
Secrets are managed with [sops-nix](https://github.com/Mic92/sops-nix).
|
Secrets are managed with [sops-nix](https://github.com/Mic92/sops-nix).
|
||||||
|
|
||||||
|
6
flake.lock
generated
6
flake.lock
generated
@ -227,11 +227,11 @@
|
|||||||
},
|
},
|
||||||
"unstable": {
|
"unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1710631334,
|
"lastModified": 1716948383,
|
||||||
"narHash": "sha256-rL5LSYd85kplL5othxK5lmAtjyMOBg390sGBTb3LRMM=",
|
"narHash": "sha256-SzDKxseEcHR5KzPXLwsemyTR/kaM9whxeiJohbL04rs=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "c75037bbf9093a2acb617804ee46320d6d1fea5a",
|
"rev": "ad57eef4ef0659193044870c731987a6df5cf56b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
23
flake.nix
23
flake.nix
@ -33,8 +33,17 @@
|
|||||||
, voyager-addons
|
, voyager-addons
|
||||||
, ... }@inputs:
|
, ... }@inputs:
|
||||||
let
|
let
|
||||||
overlay-unstable = final: prev: {
|
pkgs-overlay = final: prev: {
|
||||||
unstable = unstable.legacyPackages.${prev.system};
|
unstable = unstable.legacyPackages.${prev.system};
|
||||||
|
|
||||||
|
python311 = prev.python311.override {
|
||||||
|
packageOverrides = self: super: {
|
||||||
|
# k5test is broken on darwin, as of 24.05
|
||||||
|
gssapi = super.gssapi.overrideAttrs (old: {
|
||||||
|
doInstallCheck = false;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
@ -46,7 +55,7 @@
|
|||||||
};
|
};
|
||||||
modules = [
|
modules = [
|
||||||
# Overlays-module makes "pkgs.unstable" available in configuration.nix
|
# Overlays-module makes "pkgs.unstable" available in configuration.nix
|
||||||
({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; })
|
({ config, pkgs, ... }: { nixpkgs.overlays = [ pkgs-overlay ]; })
|
||||||
|
|
||||||
./hosts/voyager/configuration.nix
|
./hosts/voyager/configuration.nix
|
||||||
voyager-addons.nixosModules.default
|
voyager-addons.nixosModules.default
|
||||||
@ -65,7 +74,7 @@
|
|||||||
};
|
};
|
||||||
modules = [
|
modules = [
|
||||||
# Overlays-module makes "pkgs.unstable" available in configuration.nix
|
# Overlays-module makes "pkgs.unstable" available in configuration.nix
|
||||||
({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; })
|
({ config, pkgs, ... }: { nixpkgs.overlays = [ pkgs-overlay ]; })
|
||||||
|
|
||||||
./hosts/defiant/configuration.nix
|
./hosts/defiant/configuration.nix
|
||||||
sops-nix.nixosModules.sops
|
sops-nix.nixosModules.sops
|
||||||
@ -84,7 +93,7 @@
|
|||||||
};
|
};
|
||||||
modules = [
|
modules = [
|
||||||
# Overlays-module makes "pkgs.unstable" available in configuration.nix
|
# Overlays-module makes "pkgs.unstable" available in configuration.nix
|
||||||
({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; })
|
({ config, pkgs, ... }: { nixpkgs.overlays = [ pkgs-overlay ]; })
|
||||||
|
|
||||||
./hosts/edison/configuration.nix
|
./hosts/edison/configuration.nix
|
||||||
sops-nix.nixosModules.sops
|
sops-nix.nixosModules.sops
|
||||||
@ -102,7 +111,7 @@
|
|||||||
};
|
};
|
||||||
modules = [
|
modules = [
|
||||||
# Overlays-module makes "pkgs.unstable" available in configuration.nix
|
# Overlays-module makes "pkgs.unstable" available in configuration.nix
|
||||||
({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; })
|
({ config, pkgs, ... }: { nixpkgs.overlays = [ pkgs-overlay ]; })
|
||||||
|
|
||||||
./hosts/burnham/configuration.nix
|
./hosts/burnham/configuration.nix
|
||||||
sops-nix.nixosModules.sops
|
sops-nix.nixosModules.sops
|
||||||
@ -120,7 +129,7 @@
|
|||||||
};
|
};
|
||||||
modules = [
|
modules = [
|
||||||
./hosts/redshirt/configuration.nix
|
./hosts/redshirt/configuration.nix
|
||||||
({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; })
|
({ config, pkgs, ... }: { nixpkgs.overlays = [ pkgs-overlay ]; })
|
||||||
sops-nix.nixosModules.sops
|
sops-nix.nixosModules.sops
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
@ -133,7 +142,7 @@
|
|||||||
};
|
};
|
||||||
modules = [
|
modules = [
|
||||||
./hosts/worf/configuration.nix
|
./hosts/worf/configuration.nix
|
||||||
({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; })
|
({ config, pkgs, ... }: { nixpkgs.overlays = [ pkgs-overlay ]; })
|
||||||
home-manager.darwinModules.home-manager {
|
home-manager.darwinModules.home-manager {
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
home-manager.useUserPackages = true;
|
home-manager.useUserPackages = true;
|
||||||
|
@ -14,6 +14,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
dynamic_padding = true;
|
dynamic_padding = true;
|
||||||
|
dynamic_title = true;
|
||||||
|
|
||||||
decorations = "none"; # full/none/transparent/buttonless
|
decorations = "none"; # full/none/transparent/buttonless
|
||||||
|
|
||||||
@ -46,9 +47,9 @@
|
|||||||
size = 14;
|
size = 14;
|
||||||
};
|
};
|
||||||
|
|
||||||
draw_bold_text_with_bright_colors = true;
|
|
||||||
|
|
||||||
colors = {
|
colors = {
|
||||||
|
draw_bold_text_with_bright_colors = true;
|
||||||
# # Tomorrow Night Bright
|
# # Tomorrow Night Bright
|
||||||
# primary = {
|
# primary = {
|
||||||
# background = "0x141414";
|
# background = "0x141414";
|
||||||
@ -150,10 +151,10 @@
|
|||||||
# indexed_colors: []
|
# indexed_colors: []
|
||||||
};
|
};
|
||||||
|
|
||||||
visual_bell = {
|
bell = {
|
||||||
animation = "EaseOutExpo";
|
animation = "Ease";
|
||||||
color = "0xffffff";
|
color = "0xffffff";
|
||||||
duration = 200;
|
duration = 100;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Key bindings
|
# Key bindings
|
||||||
@ -308,29 +309,19 @@
|
|||||||
# - { key: Delete, chars: "\x1b[3~" }
|
# - { key: Delete, chars: "\x1b[3~" }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
mouse = {
|
|
||||||
double_click = { threshold = 300; };
|
|
||||||
triple_click = { threshold = 300; };
|
|
||||||
hide_when_typing = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
selection = {
|
selection = {
|
||||||
semantic_escape_chars = ",│`|:\"' ()[]{}<>";
|
semantic_escape_chars = ",│`|:\"' ()[]{}<>";
|
||||||
save_to_clipboard = false;
|
save_to_clipboard = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
mouse_bindings = [
|
|
||||||
{ mouse = "Middle"; action = "PasteSelection"; }
|
|
||||||
];
|
|
||||||
|
|
||||||
cursor = {
|
cursor = {
|
||||||
style = "Block";
|
style = {
|
||||||
blinking = true;
|
shape = "Block";
|
||||||
|
blinking = "on";
|
||||||
|
};
|
||||||
unfocused_hollow = true;
|
unfocused_hollow = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
dynamic_title = true;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -7,14 +7,9 @@ let
|
|||||||
maxUploadSize = "256M";
|
maxUploadSize = "256M";
|
||||||
in {
|
in {
|
||||||
options.services.snappymail = {
|
options.services.snappymail = {
|
||||||
enable = mkEnableOption (lib.mdDoc "Snappymail");
|
enable = mkEnableOption "Snappymail";
|
||||||
|
|
||||||
package = mkOption {
|
package = mkPackageOption pkgs "snappymail" { };
|
||||||
type = types.package;
|
|
||||||
default = pkgs.snappymail;
|
|
||||||
defaultText = lib.mdDoc "pkgs.snappymail";
|
|
||||||
description = lib.mdDoc "Which snappymail package to use.";
|
|
||||||
};
|
|
||||||
|
|
||||||
dataDir = mkOption {
|
dataDir = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
@ -23,8 +18,8 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
hostname = mkOption {
|
hostname = mkOption {
|
||||||
type = types.str;
|
type = types.nullOr types.str;
|
||||||
/* default = null; */
|
default = null;
|
||||||
example = "mail.example.com";
|
example = "mail.example.com";
|
||||||
description = "Enable nginx with this hostname, null disables nginx";
|
description = "Enable nginx with this hostname, null disables nginx";
|
||||||
};
|
};
|
||||||
@ -32,13 +27,13 @@ in {
|
|||||||
user = mkOption {
|
user = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
default = "snappymail";
|
default = "snappymail";
|
||||||
description = lib.mdDoc "System user under which snappymail runs";
|
description = "System user under which snappymail runs";
|
||||||
};
|
};
|
||||||
|
|
||||||
group = mkOption {
|
group = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
default = "snappymail";
|
default = "snappymail";
|
||||||
description = lib.mdDoc "System group under which snappymail runs";
|
description = "System group under which snappymail runs";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -48,8 +43,6 @@ in {
|
|||||||
description = "Snappymail service";
|
description = "Snappymail service";
|
||||||
group = cfg.group;
|
group = cfg.group;
|
||||||
home = cfg.dataDir;
|
home = cfg.dataDir;
|
||||||
useDefaultShell = true;
|
|
||||||
createHome = true;
|
|
||||||
isSystemUser = true;
|
isSystemUser = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -88,8 +81,9 @@ in {
|
|||||||
locations."^~ /data".extraConfig = ''
|
locations."^~ /data".extraConfig = ''
|
||||||
deny all;
|
deny all;
|
||||||
'';
|
'';
|
||||||
locations."~ \.php$".extraConfig = ''
|
locations."~ \\.php$".extraConfig = ''
|
||||||
include ${pkgs.nginx}/conf/fastcgi_params;
|
include ${config.services.nginx.package}/conf/fastcgi_params;
|
||||||
|
|
||||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||||
fastcgi_pass unix:${config.services.phpfpm.pools.snappymail.socket};
|
fastcgi_pass unix:${config.services.phpfpm.pools.snappymail.socket};
|
||||||
'';
|
'';
|
||||||
|
@ -11,11 +11,9 @@
|
|||||||
];
|
];
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
# alacritty
|
|
||||||
emacs-macport
|
emacs-macport
|
||||||
iterm2
|
iterm2
|
||||||
prismlauncher
|
# prismlauncher
|
||||||
ripes
|
|
||||||
spotify
|
spotify
|
||||||
|
|
||||||
borgbackup
|
borgbackup
|
||||||
@ -23,20 +21,11 @@
|
|||||||
gnutar
|
gnutar
|
||||||
nix-index
|
nix-index
|
||||||
nodejs
|
nodejs
|
||||||
pinentry
|
|
||||||
rbw
|
|
||||||
tldr
|
tldr
|
||||||
unstable.snicat
|
unstable.snicat
|
||||||
zellij
|
zellij
|
||||||
|
|
||||||
|
|
||||||
(python311.withPackages (ps: with ps; [
|
(python311.withPackages (ps: with ps; [
|
||||||
pygments
|
|
||||||
|
|
||||||
jupyter
|
|
||||||
numpy
|
|
||||||
scipy
|
|
||||||
|
|
||||||
pwntools
|
pwntools
|
||||||
pycryptodome
|
pycryptodome
|
||||||
requests
|
requests
|
||||||
|
Loading…
Reference in New Issue
Block a user