Compare commits
11 commits
23f6d9124e
...
af2fccb12f
Author | SHA1 | Date | |
---|---|---|---|
af2fccb12f | |||
ed9a836d2d | |||
531b178421 | |||
e6acb97737 | |||
7b981cc126 | |||
f7fcccac4a | |||
3987f2fed2 | |||
c5509145e5 | |||
0789a2eb71 | |||
827c0e930b | |||
18396e3ad4 |
21 changed files with 827 additions and 116 deletions
68
flake.lock
generated
68
flake.lock
generated
|
@ -126,11 +126,11 @@
|
||||||
"flake-compat_2": {
|
"flake-compat_2": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1733328505,
|
"lastModified": 1747046372,
|
||||||
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
|
||||||
"owner": "edolstra",
|
"owner": "edolstra",
|
||||||
"repo": "flake-compat",
|
"repo": "flake-compat",
|
||||||
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
|
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -406,16 +406,16 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747331121,
|
"lastModified": 1749154018,
|
||||||
"narHash": "sha256-3MmiUN/jOHBHQUnjqzg6qKArc17j2OS6jisEppDY4g8=",
|
"narHash": "sha256-gjN3j7joRvT3a8Zgcylnd4NFsnXeDBumqiu4HmY1RIg=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "1eec32f0efe3b830927989767a9e6ece0d82d608",
|
"rev": "7aae0ee71a17b19708b93b3ed448a1a0952bf111",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"ref": "release-24.11",
|
"ref": "release-25.05",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
@ -494,11 +494,11 @@
|
||||||
"nixpkgs": "nixpkgs_3"
|
"nixpkgs": "nixpkgs_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747620481,
|
"lastModified": 1749175420,
|
||||||
"narHash": "sha256-MiZ5Z7MHP42+ck277fzzu4C8w1K6OAxM5PhCQX22+FA=",
|
"narHash": "sha256-5gOh2Jpp7HLzyV3RVkIS88F9lhpnTpsCzOu8J1w7Uuo=",
|
||||||
"owner": "Infinidoge",
|
"owner": "Infinidoge",
|
||||||
"repo": "nix-minecraft",
|
"repo": "nix-minecraft",
|
||||||
"rev": "b15bd5c18f94065f96b5a46e57c506e5f30c3918",
|
"rev": "ad263175ac965617a3fe4b3d46e1fcabb4964f51",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -555,11 +555,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747542820,
|
"lastModified": 1748929857,
|
||||||
"narHash": "sha256-GaOZntlJ6gPPbbkTLjbd8BMWaDYafhuuYRNrxCGnPJw=",
|
"narHash": "sha256-lcZQ8RhsmhsK8u7LIFsJhsLh/pzR9yZ8yqpTzyGdj+Q=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "292fa7d4f6519c074f0a50394dbbe69859bb6043",
|
"rev": "c2a03962b8e24e669fb37b7df10e7c79531ff1a4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -586,11 +586,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1742889210,
|
"lastModified": 1748929857,
|
||||||
"narHash": "sha256-hw63HnwnqU3ZQfsMclLhMvOezpM7RSB0dMAtD5/sOiw=",
|
"narHash": "sha256-lcZQ8RhsmhsK8u7LIFsJhsLh/pzR9yZ8yqpTzyGdj+Q=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "698214a32beb4f4c8e3942372c694f40848b360d",
|
"rev": "c2a03962b8e24e669fb37b7df10e7c79531ff1a4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -602,16 +602,16 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747485343,
|
"lastModified": 1749086602,
|
||||||
"narHash": "sha256-YbsZyuRE1tobO9sv0PUwg81QryYo3L1F3R3rF9bcG38=",
|
"narHash": "sha256-DJcgJMekoxVesl9kKjfLPix2Nbr42i7cpEHJiTnBUwU=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "9b5ac7ad45298d58640540d0323ca217f32a6762",
|
"rev": "4792576cb003c994bd7cc1edada3129def20b27d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"ref": "nixos-24.11",
|
"ref": "nixos-25.05",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
@ -650,11 +650,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_7": {
|
"nixpkgs_7": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1746904237,
|
"lastModified": 1748460289,
|
||||||
"narHash": "sha256-3e+AVBczosP5dCLQmMoMEogM57gmZ2qrVSrmq9aResQ=",
|
"narHash": "sha256-7doLyJBzCllvqX4gszYtmZUToxKvMUrg45EUWaUYmBg=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "d89fc19e405cb2d55ce7cc114356846a0ee5e956",
|
"rev": "96ec055edbe5ee227f28cdbc3f1ddf1df5965102",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -703,11 +703,11 @@
|
||||||
"nixvim": "nixvim_2"
|
"nixvim": "nixvim_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747625133,
|
"lastModified": 1748872216,
|
||||||
"narHash": "sha256-CcLAy4g4RTxetDoaEVxQ05PLnRXUj3snYQoMdpk7GEQ=",
|
"narHash": "sha256-+6QOvjT5JKB7/t5TYXZrJSXmCspdbkUGp33tzsH3XQc=",
|
||||||
"ref": "refs/heads/master",
|
"ref": "refs/heads/master",
|
||||||
"rev": "a05b6e401c09b7d5eadd15e39dc97398bc3cf85d",
|
"rev": "0d8a42be826b6c7a2b77e28297c87527403d4aaa",
|
||||||
"revCount": 80,
|
"revCount": 82,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://git.sajenim.dev/jasmine/nixvim-config.git"
|
"url": "https://git.sajenim.dev/jasmine/nixvim-config.git"
|
||||||
},
|
},
|
||||||
|
@ -812,11 +812,11 @@
|
||||||
"poetry2nix": "poetry2nix"
|
"poetry2nix": "poetry2nix"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747081355,
|
"lastModified": 1748613246,
|
||||||
"narHash": "sha256-KvYgYyjvUrqBPOtH4XSsdS4G9P+tC1RUw0Htsh0Je78=",
|
"narHash": "sha256-TVAkdTn4B/iT0ZXNgmIHEB1GEFDuOwKIKuX4DaFPF28=",
|
||||||
"owner": "Scrybbling-together",
|
"owner": "Scrybbling-together",
|
||||||
"repo": "remarks",
|
"repo": "remarks",
|
||||||
"rev": "9597162c8633e0647e3e1acc83c421004d8686a7",
|
"rev": "78a374a8abac158617a6512e2b31e2de5e8b620c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -998,11 +998,11 @@
|
||||||
"nixpkgs": "nixpkgs_9"
|
"nixpkgs": "nixpkgs_9"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747628408,
|
"lastModified": 1747754433,
|
||||||
"narHash": "sha256-529qpELpG4D7pNslmyX3FszqjzxhJvlxTWTRJ0EA9YE=",
|
"narHash": "sha256-TGH+IhbDPuJ4nnWveRmXL5+R2SAgu5nUvm2M1534rRc=",
|
||||||
"ref": "refs/heads/master",
|
"ref": "refs/heads/master",
|
||||||
"rev": "fa9754e0b61a1a9b586dcaa1d1b989d7861f6c68",
|
"rev": "abf0c78203f7644b4cca9a72fadefd142ab89604",
|
||||||
"revCount": 35,
|
"revCount": 36,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://git.sajenim.dev/jasmine/xmonad-config.git"
|
"url": "https://git.sajenim.dev/jasmine/xmonad-config.git"
|
||||||
},
|
},
|
||||||
|
|
|
@ -3,12 +3,12 @@
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
# Nixpkgs
|
# Nixpkgs
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
|
||||||
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
# Home manager
|
# Home manager
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager/release-24.11";
|
url = "github:nix-community/home-manager/release-25.05";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,15 +1,22 @@
|
||||||
{pkgs, ...}: {
|
{
|
||||||
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
./git.nix
|
./git.nix
|
||||||
./mpd.nix
|
./mpd.nix
|
||||||
./nvim.nix
|
|
||||||
./remarkable.nix
|
|
||||||
./ssh.nix
|
./ssh.nix
|
||||||
./zsh.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs;
|
||||||
pulsemixer
|
[
|
||||||
unstable.qmk
|
mum
|
||||||
];
|
pulsemixer
|
||||||
|
unstable.qmk
|
||||||
|
unstable.rmapi
|
||||||
|
]
|
||||||
|
++ [
|
||||||
|
inputs.remarks.packages.${pkgs.system}.default
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,18 +0,0 @@
|
||||||
{
|
|
||||||
inputs,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
home.packages = [
|
|
||||||
# Toolchain
|
|
||||||
pkgs.gcc
|
|
||||||
pkgs.python313Full
|
|
||||||
|
|
||||||
# Setup developer environments
|
|
||||||
pkgs.direnv
|
|
||||||
pkgs.unstable.devenv
|
|
||||||
|
|
||||||
# Install our nixvim configuration for neovim.
|
|
||||||
inputs.nixvim.packages.${pkgs.system}.default
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,13 +0,0 @@
|
||||||
{
|
|
||||||
pkgs,
|
|
||||||
inputs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
# This module is for the ReMarkable tablet, which is a Linux-based e-reader
|
|
||||||
home.packages = [
|
|
||||||
# Allows access to the ReMarkable Cloud API
|
|
||||||
pkgs.unstable.rmapi
|
|
||||||
# Converts ReMarkable files to PDF
|
|
||||||
inputs.remarks.packages.${pkgs.system}.default
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -4,7 +4,7 @@
|
||||||
xrandr --output HDMI-A-0 --mode 1920x1080 --rotate left --output DisplayPort-0 --mode 2560x1440 --right-of HDMI-A-0
|
xrandr --output HDMI-A-0 --mode 1920x1080 --rotate left --output DisplayPort-0 --mode 2560x1440 --right-of HDMI-A-0
|
||||||
|
|
||||||
# Apply our wallpaper
|
# Apply our wallpaper
|
||||||
feh --bg-center ~/.repositories/nix-config/assets/chinatown.png --bg-center ~/.repositories/nix-config/assets/chinatown-rotated.png
|
feh --bg-center ~/.repositories/forgejo/nix-config/assets/chinatown.png --bg-center ~/.repositories/forgejo/nix-config/assets/chinatown-rotated.png
|
||||||
|
|
||||||
# Disable screen saver and DPMS features
|
# Disable screen saver and DPMS features
|
||||||
xset s off -dpms
|
xset s off -dpms
|
||||||
|
|
16
home-manager/sajenim/features/editor/default.nix
Normal file
16
home-manager/sajenim/features/editor/default.nix
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
{
|
||||||
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
home.packages = with pkgs;
|
||||||
|
[
|
||||||
|
gcc
|
||||||
|
pandoc
|
||||||
|
python313Full
|
||||||
|
texliveFull
|
||||||
|
]
|
||||||
|
++ [
|
||||||
|
inputs.nixvim.packages.${pkgs.system}.default
|
||||||
|
];
|
||||||
|
}
|
|
@ -1,7 +1,9 @@
|
||||||
{...}: {
|
{...}: {
|
||||||
imports = [
|
imports = [
|
||||||
./global
|
./global
|
||||||
|
./features/cli
|
||||||
./features/desktop
|
./features/desktop
|
||||||
|
./features/editor
|
||||||
./features/games
|
./features/games
|
||||||
./features/printing
|
./features/printing
|
||||||
./features/university
|
./features/university
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{outputs, ...}: {
|
{outputs, ...}: {
|
||||||
imports = [
|
imports = [
|
||||||
../features/cli
|
./zsh.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
nixpkgs = {
|
nixpkgs = {
|
||||||
|
|
|
@ -14,20 +14,18 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
enableCompletion = true;
|
enableCompletion = true;
|
||||||
|
|
||||||
|
# Configuration directory
|
||||||
dotDir = ".config/zsh";
|
dotDir = ".config/zsh";
|
||||||
|
|
||||||
# Commands that should be added to to top of '.zshrc'
|
|
||||||
initExtraFirst = ''
|
|
||||||
'';
|
|
||||||
|
|
||||||
# Aliases
|
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
|
# Single letter aliases
|
||||||
c = "clear";
|
c = "clear";
|
||||||
|
v = "nvim";
|
||||||
|
|
||||||
|
# Double letter aliases
|
||||||
la = "ls -a";
|
la = "ls -a";
|
||||||
ll = "ls -l";
|
ll = "ls -l";
|
||||||
tt = "wezterm cli set-tab-title ";
|
|
||||||
mount-backup = "sshfs viridian:/srv/shares/sajenim /home/sajenim/.backup";
|
|
||||||
mount-turing = "sshfs turing:/home/jwils254 /home/sajenim/.turing";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Install plugins
|
# Install plugins
|
||||||
|
@ -44,10 +42,9 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
# Extra commands that should be added to '.zshrc'
|
# Extra commands that should be added to '.zshrc'
|
||||||
initExtra = ''
|
initContent = ''
|
||||||
eval "$(direnv hook zsh)"
|
eval "$(direnv hook zsh)"
|
||||||
source ${pkgs.zsh-vi-mode}/share/zsh-vi-mode/zsh-vi-mode.plugin.zsh
|
source ${pkgs.zsh-vi-mode}/share/zsh-vi-mode/zsh-vi-mode.plugin.zsh
|
||||||
path+=('/home/sajenim/.repositories/sysadmin.sh/bin')
|
|
||||||
bindkey "^[[1;5C" forward-word
|
bindkey "^[[1;5C" forward-word
|
||||||
bindkey "^[[1;5D" backward-word
|
bindkey "^[[1;5D" backward-word
|
||||||
export PATH
|
export PATH
|
|
@ -1,5 +1,25 @@
|
||||||
{...}: {
|
{
|
||||||
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
./global
|
./global
|
||||||
];
|
];
|
||||||
|
|
||||||
|
home.packages = with pkgs;
|
||||||
|
[
|
||||||
|
weechat
|
||||||
|
]
|
||||||
|
++ [
|
||||||
|
inputs.nixvim.packages.${pkgs.system}.default
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.tmux = {
|
||||||
|
enable = true;
|
||||||
|
extraConfig = ''
|
||||||
|
set -g default-terminal "tmux-256color"
|
||||||
|
set -g status off
|
||||||
|
'';
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,12 +33,6 @@
|
||||||
adb.enable = true;
|
adb.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Manage linux containers
|
|
||||||
virtualisation.docker = {
|
|
||||||
enable = true;
|
|
||||||
liveRestore = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
||||||
system.stateVersion = "24.05";
|
system.stateVersion = "24.05";
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,9 +24,10 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
allowPing = true;
|
allowPing = true;
|
||||||
allowedTCPPorts = [
|
allowedTCPPorts = [
|
||||||
80
|
80 # http
|
||||||
443
|
443 # https
|
||||||
6600
|
6600 # mpd
|
||||||
|
6697 # inspircd
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -34,6 +35,8 @@
|
||||||
# Configure programs
|
# Configure programs
|
||||||
programs = {
|
programs = {
|
||||||
zsh.enable = true;
|
zsh.enable = true;
|
||||||
|
# Load and unload environment variables
|
||||||
|
direnv.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Manage linux containers
|
# Manage linux containers
|
||||||
|
|
|
@ -97,24 +97,6 @@ in {
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.etc = {
|
|
||||||
"/crowdsec/parsers/s02-enrich/whitelist.yaml" = {
|
|
||||||
text = ''
|
|
||||||
name: "sajenim/whitelist"
|
|
||||||
description: "Whitelist events from my ipv4 addresses"
|
|
||||||
whitelist:
|
|
||||||
reason: "my ipv4 ranges"
|
|
||||||
ip:
|
|
||||||
- "127.0.0.1"
|
|
||||||
cidr:
|
|
||||||
- "192.168.0.0/16"
|
|
||||||
- "10.0.0.0/8"
|
|
||||||
- "172.16.0.0/12"
|
|
||||||
'';
|
|
||||||
mode = "0755";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.persistence."/persist" = {
|
environment.persistence."/persist" = {
|
||||||
directories = [
|
directories = [
|
||||||
{
|
{
|
||||||
|
|
|
@ -3,10 +3,12 @@
|
||||||
./borgbackup
|
./borgbackup
|
||||||
./crowdsec
|
./crowdsec
|
||||||
./forgejo
|
./forgejo
|
||||||
|
./inspircd
|
||||||
./jupyterhub
|
./jupyterhub
|
||||||
./lighttpd
|
./lighttpd
|
||||||
./minecraft
|
./minecraft
|
||||||
./mpd
|
./mpd
|
||||||
|
./murmur
|
||||||
./traefik
|
./traefik
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
10
nixos/viridian/services/inspircd/default.nix
Normal file
10
nixos/viridian/services/inspircd/default.nix
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
{...}: {
|
||||||
|
services.inspircd = {
|
||||||
|
enable = true;
|
||||||
|
config = builtins.readFile ./inspircd.conf;
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.etc = {
|
||||||
|
"inspircd/inspircd.motd".source = ./inspircd.motd;
|
||||||
|
};
|
||||||
|
}
|
643
nixos/viridian/services/inspircd/inspircd.conf
Normal file
643
nixos/viridian/services/inspircd/inspircd.conf
Normal file
|
@ -0,0 +1,643 @@
|
||||||
|
#-#-#-#-#-#-#-#-#-#-#-#- SERVER DESCRIPTION -#-#-#-#-#-#-#-#-#-#-#-#-
|
||||||
|
# #
|
||||||
|
# Here is where you enter the information about your server. #
|
||||||
|
# #
|
||||||
|
|
||||||
|
<server
|
||||||
|
# name: Hostname of your server. Does not need to resolve, but
|
||||||
|
# does need to be correct syntax (something.somethingelse.tld).
|
||||||
|
name="irc.home.arpa"
|
||||||
|
|
||||||
|
# description: Server description. Spaces are allowed.
|
||||||
|
description="Private Network!"
|
||||||
|
|
||||||
|
# id: The SID to use for this server. This should not be uncommented
|
||||||
|
# unless there is a SID conflict. This must be three characters long.
|
||||||
|
# The first character must be a digit [0-9], the remaining two chars
|
||||||
|
# may be letters [A-Z] or digits.
|
||||||
|
#id="97K"
|
||||||
|
|
||||||
|
# network: Network name given on connect to clients.
|
||||||
|
# Should be the same on all servers on the network.
|
||||||
|
network="Kanto">
|
||||||
|
|
||||||
|
|
||||||
|
#-#-#-#-#-#-#-#-#-#-#-#- ADMIN INFORMATION -#-#-#-#-#-#-#-#-#-#-#-#
|
||||||
|
# #
|
||||||
|
# Describes the Server Administrator's real name (optionally), #
|
||||||
|
# nick, and email address. #
|
||||||
|
# #
|
||||||
|
|
||||||
|
<admin
|
||||||
|
# name: Real Name
|
||||||
|
name="Jasmine Marie Wilson"
|
||||||
|
|
||||||
|
# nick: Nickname (preferably what you use on the network)
|
||||||
|
nick="sajenim"
|
||||||
|
|
||||||
|
# email: email address. Does not have to be valid
|
||||||
|
# but should be for the users to be able to contact you.
|
||||||
|
email="its.jassy@pm.me">
|
||||||
|
|
||||||
|
|
||||||
|
#-#-#-#-#-#-#-#-#-#-#-#- PORT CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-
|
||||||
|
# #
|
||||||
|
# Configure the port and address bindings here. #
|
||||||
|
# #
|
||||||
|
|
||||||
|
<bind
|
||||||
|
# address: IP address to bind to if the box that you are hosting
|
||||||
|
# on has more than one IP, else the ircd will try to bind to all
|
||||||
|
# IP's on the box if this is not defined.
|
||||||
|
address=""
|
||||||
|
|
||||||
|
# port: Port for users or servers to be able to connect to.
|
||||||
|
# you can select multiple ports by separating them
|
||||||
|
# with a - character like the example below.
|
||||||
|
port="6667"
|
||||||
|
|
||||||
|
# type: Type of bind block this is. It can either be clients or
|
||||||
|
# servers. Whichever you select will be the only type able to connect
|
||||||
|
# to this bind section.
|
||||||
|
type="clients"
|
||||||
|
|
||||||
|
# free: When this is enabled the listener will be created regardless of
|
||||||
|
# whether the interface that provides the bind address is available. This
|
||||||
|
# is useful for if you are starting InspIRCd on boot when the server may
|
||||||
|
# not have brought the network interfaces up yet.
|
||||||
|
free="no">
|
||||||
|
|
||||||
|
|
||||||
|
#-#-#-#-#-#-#-#-#-#- CONNECTIONS CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
|
||||||
|
# #
|
||||||
|
# This is where you can configure which connections are allowed #
|
||||||
|
# and denied access onto your server. The password is optional. #
|
||||||
|
# You may have as many of these as you require. To allow/deny all #
|
||||||
|
# connections, use a '*' or 0.0.0.0/0. #
|
||||||
|
# #
|
||||||
|
# -- It is important to note that connect tags are read from the -- #
|
||||||
|
# TOP DOWN. This means that you should have more specific deny #
|
||||||
|
# and allow tags at the top, progressively more general, followed #
|
||||||
|
# by a <connect allow="*"> (should you wish to have one). #
|
||||||
|
# #
|
||||||
|
# Connect blocks are searched twice for each user - once when the TCP #
|
||||||
|
# connection is accepted, and once when the user completes their #
|
||||||
|
# registration. Most of the information (hostname, ident response, #
|
||||||
|
# password, TLS (SSL) when using STARTTLS, etc) is only available #
|
||||||
|
# during the second search. If you are trying to make a closed server #
|
||||||
|
# you will probably need a connect block just for user registration. #
|
||||||
|
# This can be done by using <connect registered="no"> #
|
||||||
|
|
||||||
|
<connect
|
||||||
|
# name: Name to use for this connect block. Mainly used for
|
||||||
|
# connect class inheriting.
|
||||||
|
name="main"
|
||||||
|
|
||||||
|
# allow: The IP address or hostname of clients that can use this
|
||||||
|
# class. You can specify either an exact match, a glob match, or
|
||||||
|
# a CIDR range here.
|
||||||
|
allow="*"
|
||||||
|
|
||||||
|
# maxchans: Maximum number of channels a user in this class
|
||||||
|
# can be in at one time.
|
||||||
|
maxchans="20"
|
||||||
|
|
||||||
|
# timeout: How long the server will wait before disconnecting
|
||||||
|
# a user if they do not do anything on connect.
|
||||||
|
# (Note, this is a client-side thing, if the client does not
|
||||||
|
# send /NICK, /USER or /PASS)
|
||||||
|
timeout="20"
|
||||||
|
|
||||||
|
# pingfreq: How often the server tries to ping connecting clients.
|
||||||
|
pingfreq="2m"
|
||||||
|
|
||||||
|
# hardsendq: maximum amount of data allowed in a client's send queue
|
||||||
|
# before they are dropped. Keep this value higher than the length of
|
||||||
|
# your network's /LIST or /WHO output, or you will have lots of
|
||||||
|
# disconnects from sendq overruns!
|
||||||
|
# Setting this to "1M" is equivalent to "1048576", "8K" is 8192, etc.
|
||||||
|
hardsendq="1M"
|
||||||
|
|
||||||
|
# softsendq: amount of data in a client's send queue before the server
|
||||||
|
# begins delaying their commands in order to allow the sendq to drain
|
||||||
|
softsendq="10240"
|
||||||
|
|
||||||
|
# recvq: amount of data allowed in a client's queue before they are dropped.
|
||||||
|
# Entering "10K" is equivalent to "10240", see above.
|
||||||
|
recvq="10K"
|
||||||
|
|
||||||
|
# threshold: This specifies the amount of command penalty a user is allowed to have
|
||||||
|
# before being quit or fakelagged due to flood. Normal commands have a penalty of 1,
|
||||||
|
# ones such as /OPER have penalties up to 10.
|
||||||
|
#
|
||||||
|
# If you are not using fakelag, this should be at least 20 to avoid excess flood kills
|
||||||
|
# from processing some commands.
|
||||||
|
threshold="10"
|
||||||
|
|
||||||
|
# commandrate: This specifies the maximum rate that commands can be processed.
|
||||||
|
# If commands are sent more rapidly, the user's penalty will increase and they will
|
||||||
|
# either be fakelagged or killed when they reach the threshold
|
||||||
|
#
|
||||||
|
# Units are millicommands per second, so 1000 means one line per second.
|
||||||
|
commandrate="1000"
|
||||||
|
|
||||||
|
# fakelag: Use fakelag instead of killing users for excessive flood
|
||||||
|
#
|
||||||
|
# Fake lag stops command processing for a user when a flood is detected rather than
|
||||||
|
# immediately killing them; their commands are held in the recvq and processed later
|
||||||
|
# as the user's command penalty drops. Note that if this is enabled, flooders will
|
||||||
|
# quit with "RecvQ exceeded" rather than "Excess Flood".
|
||||||
|
fakelag="yes"
|
||||||
|
|
||||||
|
# localmax: Maximum local connections per IP.
|
||||||
|
localmax="3"
|
||||||
|
|
||||||
|
# globalmax: Maximum global (network-wide) connections per IP.
|
||||||
|
globalmax="3"
|
||||||
|
|
||||||
|
# resolvehostnames: If disabled, no DNS lookups will be performed on connecting users
|
||||||
|
# in this class. This can save a lot of resources on very busy servers.
|
||||||
|
resolvehostnames="yes"
|
||||||
|
|
||||||
|
# useident: Whether to try to look up the real username of users in this class using
|
||||||
|
# the RFC 1413 identification protocol.
|
||||||
|
# This setting only has effect when the ident module is loaded.
|
||||||
|
useident="no"
|
||||||
|
|
||||||
|
# usests: Whether a STS policy should be advertised to users in this class.
|
||||||
|
# This setting only has effect when the ircv3_sts module is loaded.
|
||||||
|
#usests="no"
|
||||||
|
|
||||||
|
# limit: How many users are allowed in this class
|
||||||
|
limit="5000"
|
||||||
|
|
||||||
|
# modes: The modes to set on users in this class when they connect to
|
||||||
|
# the server. See https://docs.inspircd.org/3/user-modes/ for a list of
|
||||||
|
# user modes. The example below sets user modes c (deaf_commonchans)
|
||||||
|
# and x (cloak) which require the commonchans and cloak modules.
|
||||||
|
# This setting only has effect when the conn_umodes module is loaded.
|
||||||
|
modes="+cx">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#-#-#-#-#-#-#-#-#-#-#-#- CIDR CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-
|
||||||
|
# #
|
||||||
|
# CIDR configuration allows detection of clones and applying of #
|
||||||
|
# throttle limits across a CIDR range. (A CIDR range is a group of #
|
||||||
|
# IPs, for example, the CIDR range 192.168.1.0-192.168.1.255 may be #
|
||||||
|
# represented as 192.168.1.0/24). This means that abuse across an ISP #
|
||||||
|
# is detected and curtailed much easier. Here is a good chart that #
|
||||||
|
# shows how many IPs the different CIDRs correspond to: #
|
||||||
|
# https://en.wikipedia.org/wiki/IPv4_subnetting_reference #
|
||||||
|
# https://en.wikipedia.org/wiki/IPv6_subnetting_reference #
|
||||||
|
# #
|
||||||
|
|
||||||
|
<cidr
|
||||||
|
# ipv4clone: specifies how many bits of an IP address should be
|
||||||
|
# looked at for clones. The default only looks for clones on a
|
||||||
|
# single IP address of a user. You do not want to set this
|
||||||
|
# extremely low. (Values are 0-32).
|
||||||
|
ipv4clone="32"
|
||||||
|
|
||||||
|
# ipv6clone: specifies how many bits of an IP address should be
|
||||||
|
# looked at for clones. The default only looks for clones on a
|
||||||
|
# single IP address of a user. You do not want to set this
|
||||||
|
# extremely low. (Values are 0-128).
|
||||||
|
ipv6clone="128">
|
||||||
|
|
||||||
|
|
||||||
|
#-#-#-#-#-#-#-#-#-#- MISCELLANEOUS CONFIGURATION -#-#-#-#-#-#-#-#-#-#
|
||||||
|
# #
|
||||||
|
|
||||||
|
# Files block - contains files whose contents are used by the ircd
|
||||||
|
#
|
||||||
|
# motd - displayed on connect and when a user executes /MOTD
|
||||||
|
# Modules can also define their own files
|
||||||
|
<files motd="/etc//inspircd/inspircd.motd">
|
||||||
|
|
||||||
|
#-#-#-#-#-#-#-#-#-#-#-#-#-#-# DNS SERVER -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
|
||||||
|
# If these values are not defined, InspIRCd uses the default DNS resolver
|
||||||
|
# of your system.
|
||||||
|
|
||||||
|
<dns
|
||||||
|
# timeout: time to wait to try to resolve DNS/hostname.
|
||||||
|
timeout="5">
|
||||||
|
|
||||||
|
#-#-#-#-#-#-#-#-#-#-#-#-#- LIST MODE LIMITS #-#-#-#-#-#-#-#-#-#-#-#-#-#
|
||||||
|
# #
|
||||||
|
# The <maxlist> tag is used customise the maximum number of each list #
|
||||||
|
# mode that can be set on a channel. #
|
||||||
|
# The tags are read from top to bottom and the list mode limit from #
|
||||||
|
# the first tag found which matches the channel name and mode type is #
|
||||||
|
# applied to that channel. #
|
||||||
|
# It is advisable to put an entry with the channel as '*' at the #
|
||||||
|
# bottom of the list. If none are specified or no maxlist tag is #
|
||||||
|
# matched, the banlist size defaults to 100 entries. #
|
||||||
|
# #
|
||||||
|
|
||||||
|
# Allows all channels and list modes not previously matched to have
|
||||||
|
# up to 100 entries.
|
||||||
|
<maxlist chan="*" limit="100">
|
||||||
|
|
||||||
|
#-#-#-#-#-#-#-#-#-#-#-#-#- SERVER OPTIONS -#-#-#-#-#-#-#-#-#-#-#-#-#
|
||||||
|
# #
|
||||||
|
# Settings to define which features are usable on your server. #
|
||||||
|
# #
|
||||||
|
|
||||||
|
<options
|
||||||
|
# prefixquit: What (if anything) users' quit messages
|
||||||
|
# should be prefixed with.
|
||||||
|
prefixquit="Quit: "
|
||||||
|
|
||||||
|
# suffixquit: What (if anything) users' quit messages
|
||||||
|
# should be suffixed with.
|
||||||
|
suffixquit=""
|
||||||
|
|
||||||
|
# prefixpart: What (if anything) users' part messages
|
||||||
|
# should be prefixed with.
|
||||||
|
prefixpart="""
|
||||||
|
|
||||||
|
# suffixpart: What (if anything) users' part message
|
||||||
|
# should be suffixed with.
|
||||||
|
suffixpart="""
|
||||||
|
|
||||||
|
# fixedquit: Set all users' quit messages to this value.
|
||||||
|
#fixedquit=""
|
||||||
|
|
||||||
|
# fixedpart: Set all users' part messages in all channels
|
||||||
|
# to this value.
|
||||||
|
#fixedpart=""
|
||||||
|
|
||||||
|
# syntaxhints: If enabled, if a user fails to send the correct parameters
|
||||||
|
# for a command, the ircd will give back some help text of what
|
||||||
|
# the correct parameters are.
|
||||||
|
syntaxhints="no"
|
||||||
|
|
||||||
|
# casemapping: This sets the case mapping method to be used by the
|
||||||
|
# server. This MUST be the same on all servers. Possible values are:
|
||||||
|
# "ascii" (recommended)
|
||||||
|
# "rfc1459" (default, required for linking to 2.0 servers)
|
||||||
|
casemapping="ascii"
|
||||||
|
|
||||||
|
# cyclehostsfromuser: If enabled, the source of the mode change for
|
||||||
|
# cyclehosts will be the user who cycled. This can look nicer, but
|
||||||
|
# triggers anti-takeover mechanisms of some obsolete bots.
|
||||||
|
cyclehostsfromuser="no"
|
||||||
|
|
||||||
|
# announcets: If set to yes, when the timestamp on a channel changes, all users
|
||||||
|
# in the channel will be sent a NOTICE about it.
|
||||||
|
announcets="yes"
|
||||||
|
|
||||||
|
# allowmismatch: Setting this option to yes will allow servers to link even
|
||||||
|
# if they don't have the same "optionally common" modules loaded. Setting this to
|
||||||
|
# yes may introduce some desyncs and unwanted behaviour.
|
||||||
|
allowmismatch="no"
|
||||||
|
|
||||||
|
# defaultbind: Sets the default for <bind> tags without an address. Choices are
|
||||||
|
# ipv4 or ipv6; if not specified, IPv6 will be used if your system has support,
|
||||||
|
# falling back to IPv4 otherwise.
|
||||||
|
defaultbind="auto"
|
||||||
|
|
||||||
|
# hostintopic: If enabled, channels will show the host of the topic setter
|
||||||
|
# in the topic. If set to no, it will only show the nick of the topic setter.
|
||||||
|
hostintopic="yes"
|
||||||
|
|
||||||
|
# pingwarning: If a server does not respond to a ping within this period,
|
||||||
|
# it will send a notice to opers with snomask +l informing that the server
|
||||||
|
# is about to ping timeout.
|
||||||
|
pingwarning="15"
|
||||||
|
|
||||||
|
# serverpingfreq: How often pings are sent between servers.
|
||||||
|
serverpingfreq="1m"
|
||||||
|
|
||||||
|
# splitwhois: Whether to split private/secret channels from normal channels
|
||||||
|
# in WHOIS responses. Possible values for this are:
|
||||||
|
# 'no' - list all channels together in the WHOIS response regardless of type.
|
||||||
|
# 'split' - split private/secret channels to a separate WHOIS response numeric.
|
||||||
|
# 'splitmsg' - the same as split but also send a message explaining the split.
|
||||||
|
splitwhois="no"
|
||||||
|
|
||||||
|
# defaultmodes: The modes to set on a channel when it is created. See
|
||||||
|
# https://docs.inspircd.org/3/channel-modes/ for a list of channel
|
||||||
|
# modes. If a prefix mode is included in this option it will be set on
|
||||||
|
# the user that created the channel. The example below sets channel
|
||||||
|
# modes n (noextmsg) and t (topiclock) and grants channel prefix mode
|
||||||
|
# o (op) to the channel creator.
|
||||||
|
defaultmodes="not"
|
||||||
|
|
||||||
|
# xlinemessage: This is the text that is sent to a user when they are
|
||||||
|
# banned from the server.
|
||||||
|
xlinemessage="You're banned! Email irc@example.com with the ERROR line below for help."
|
||||||
|
|
||||||
|
# allowzerolimit: If enabled then allow a limit of 0 to be set on channels.
|
||||||
|
# This is non-standard behaviour and should only be enabled if you need to
|
||||||
|
# link with servers running 2.0. Defaults to yes.
|
||||||
|
allowzerolimit="no"
|
||||||
|
|
||||||
|
# modesinlist: If enabled then the current channel modes will be shown
|
||||||
|
# in the /LIST response. Defaults to yes.
|
||||||
|
modesinlist="no"
|
||||||
|
|
||||||
|
# exemptchanops: Allows users with with a status mode to be exempt
|
||||||
|
# from various channel restrictions. Possible restrictions are:
|
||||||
|
# - anticaps Channel mode +B - blocks messages with too many capital
|
||||||
|
# letters (requires the anticaps module).
|
||||||
|
# - auditorium-see Permission required to see the full user list of
|
||||||
|
# a +u channel (requires the auditorium module).
|
||||||
|
# - auditorium-vis Permission required to be visible in a +u channel
|
||||||
|
# (requires the auditorium module).
|
||||||
|
# - blockcaps Channel mode +B - blocks messages with too many capital
|
||||||
|
# letters (requires the blockcaps module).
|
||||||
|
# - blockcolor Channel mode +c - blocks messages with formatting codes
|
||||||
|
# (requires the blockcolor module).
|
||||||
|
# - censor Channel mode +G - censors messages based on the network
|
||||||
|
# configuration (requires the censor module).
|
||||||
|
# - delaymsg Channel mode +d - blocks sending messages until specified
|
||||||
|
# seconds have passed since user join
|
||||||
|
# - filter Channel mode +g - blocks messages containing the given
|
||||||
|
# glob mask (requires the chanfilter module).
|
||||||
|
# - flood Channel mode +f - kicks (and bans) on text flood of a
|
||||||
|
# specified rate (requires the messageflood module).
|
||||||
|
# - nickflood Channel mode +F - blocks nick changes after a specified
|
||||||
|
# rate (requires the nickflood module).
|
||||||
|
# - noctcp Channel mode +C - blocks any CTCPs to the channel
|
||||||
|
# (requires the noctcp module).
|
||||||
|
# - nonick Channel mode +N - prevents users on the channel from
|
||||||
|
# changing nicks (requires the nonicks module).
|
||||||
|
# - nonotice Channel mode +T - blocks /NOTICEs to the channel
|
||||||
|
# (requires the nonotice module).
|
||||||
|
# - regmoderated Channel mode +M - blocks unregistered users from
|
||||||
|
# speaking (requires the services account module).
|
||||||
|
# - stripcolor Channel mode +S - strips formatting codes from
|
||||||
|
# messages (requires the stripcolor module).
|
||||||
|
# - topiclock Channel mode +t - limits changing the topic to (half)ops
|
||||||
|
# You can also configure this on a per-channel basis with a channel mode and
|
||||||
|
# even negate the configured exemptions below.
|
||||||
|
# See exemptchanops in modules.conf.example for more details.
|
||||||
|
exemptchanops="censor:o filter:o nickflood:o nonick:v regmoderated:o"
|
||||||
|
|
||||||
|
# invitebypassmodes: This allows /INVITE to bypass other channel modes.
|
||||||
|
# (Such as +k, +j, +l, etc.)
|
||||||
|
invitebypassmodes="yes"
|
||||||
|
|
||||||
|
# nosnoticestack: This prevents snotices from 'stacking' and giving you
|
||||||
|
# the message saying '(last message repeated X times)'. Defaults to no.
|
||||||
|
nosnoticestack="no">
|
||||||
|
|
||||||
|
|
||||||
|
#-#-#-#-#-#-#-#-#-#-#-# PERFORMANCE CONFIGURATION #-#-#-#-#-#-#-#-#-#-#
|
||||||
|
# #
|
||||||
|
|
||||||
|
<performance
|
||||||
|
# netbuffersize: Size of the buffer used to receive data from clients.
|
||||||
|
# The ircd may only read this amount of text in 1 go at any time.
|
||||||
|
netbuffersize="10240"
|
||||||
|
|
||||||
|
# somaxconn: The maximum number of connections that may be waiting
|
||||||
|
# in the accept queue. This is *NOT* the total maximum number of
|
||||||
|
# connections per server. Some systems may only allow this to be up
|
||||||
|
# to 5, while others (such as Linux and *BSD) default to 128.
|
||||||
|
# Setting this above the limit imposed by your OS can have undesired
|
||||||
|
# effects.
|
||||||
|
somaxconn="128"
|
||||||
|
|
||||||
|
# softlimit: This optional feature allows a defined softlimit for
|
||||||
|
# connections. If defined, it sets a soft max connections value.
|
||||||
|
softlimit="12800"
|
||||||
|
|
||||||
|
# clonesonconnect: If this is set to no, we won't check for clones
|
||||||
|
# on initial connection, but only after the DNS check is done.
|
||||||
|
# This can be useful where your main class is more restrictive
|
||||||
|
# than some other class a user can be assigned after DNS lookup is complete.
|
||||||
|
# Turning this option off will make the server spend more time on users we may
|
||||||
|
# potentially not want. Normally this should be negligible, though.
|
||||||
|
# Default value is yes
|
||||||
|
clonesonconnect="yes"
|
||||||
|
|
||||||
|
# timeskipwarn: The time period that a server clock can jump by before
|
||||||
|
# operators will be warned that the server is having performance issues.
|
||||||
|
timeskipwarn="2s"
|
||||||
|
|
||||||
|
# quietbursts: When syncing or splitting from a network, a server
|
||||||
|
# can generate a lot of connect and quit messages to opers with
|
||||||
|
# +C and +Q snomasks. Setting this to yes squelches those messages,
|
||||||
|
# which makes it easier for opers, but degrades the functionality of
|
||||||
|
# bots like BOPM during netsplits.
|
||||||
|
quietbursts="yes">
|
||||||
|
|
||||||
|
#-#-#-#-#-#-#-#-#-#-#-# SECURITY CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-#
|
||||||
|
# #
|
||||||
|
|
||||||
|
<security
|
||||||
|
# allowcoreunload: If this value is set to yes, Opers will be able to
|
||||||
|
# unload core modules (e.g. core_privmsg).
|
||||||
|
allowcoreunload="no"
|
||||||
|
|
||||||
|
# announceinvites: This option controls which members of the channel
|
||||||
|
# receive an announcement when someone is INVITEd. Available values:
|
||||||
|
# 'none' - don't send invite announcements
|
||||||
|
# 'all' - send invite announcements to all members
|
||||||
|
# 'ops' - send invite announcements to ops and higher ranked users
|
||||||
|
# 'dynamic' - send invite announcements to halfops (if available) and
|
||||||
|
# higher ranked users. This is the recommended setting.
|
||||||
|
announceinvites="dynamic"
|
||||||
|
|
||||||
|
# hideulines: If this value is set to yes, U-lined servers will
|
||||||
|
# be hidden from non-opers in /LINKS and /MAP.
|
||||||
|
hideulines="no"
|
||||||
|
|
||||||
|
# flatlinks: If this value is set to yes, /MAP and /LINKS will
|
||||||
|
# be flattened when shown to non-opers.
|
||||||
|
flatlinks="no"
|
||||||
|
|
||||||
|
# hidebans: If this value is set to yes, when a user is banned ([KGZ]-lined)
|
||||||
|
# only opers will see the ban message when the user is removed
|
||||||
|
# from the server.
|
||||||
|
hidebans="no"
|
||||||
|
|
||||||
|
# hidekills: If defined, replaces who executed a /KILL with a custom string.
|
||||||
|
hidekills=""
|
||||||
|
|
||||||
|
# hideulinekills: Hide kills from clients of ulined servers from server notices.
|
||||||
|
hideulinekills="yes"
|
||||||
|
|
||||||
|
# hidesplits: If enabled, non-opers will not be able to see which
|
||||||
|
# servers split in a netsplit, they will only be able to see that one
|
||||||
|
# occurred (If their client has netsplit detection).
|
||||||
|
hidesplits="no"
|
||||||
|
|
||||||
|
# maxtargets: Maximum number of targets per command.
|
||||||
|
# (Commands like /NOTICE, /PRIVMSG, /KICK, etc)
|
||||||
|
maxtargets="20"
|
||||||
|
|
||||||
|
# customversion: A custom message to be displayed in the comments field
|
||||||
|
# of the VERSION command response. This does not hide the InspIRCd version.
|
||||||
|
customversion=""
|
||||||
|
|
||||||
|
# restrictbannedusers: If this is set to yes, InspIRCd will not allow users
|
||||||
|
# banned on a channel to change nickname or message channels they are
|
||||||
|
# banned on. This can also be set to silent to restrict the user but not
|
||||||
|
# notify them.
|
||||||
|
restrictbannedusers="yes"
|
||||||
|
|
||||||
|
# genericoper: Setting this value to yes makes all opers on this server
|
||||||
|
# appear as 'is a server operator' in their WHOIS, regardless of their
|
||||||
|
# oper type, however oper types are still used internally. This only
|
||||||
|
# affects the display in WHOIS.
|
||||||
|
genericoper="no"
|
||||||
|
|
||||||
|
# userstats: /STATS commands that users can run (opers can run all).
|
||||||
|
userstats="Pu">
|
||||||
|
|
||||||
|
#-#-#-#-#-#-#-#-#-#-#-#-# LIMITS CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-#
|
||||||
|
# #
|
||||||
|
# This configuration tag defines the maximum sizes of various types #
|
||||||
|
# on IRC, such as the maximum length of a channel name, and the #
|
||||||
|
# maximum length of a channel. These values should match network-wide #
|
||||||
|
# otherwise issues will occur. #
|
||||||
|
# #
|
||||||
|
# The highest safe value you can set any of these options to is 500, #
|
||||||
|
# but it is recommended that you keep them somewhat #
|
||||||
|
# near their defaults (or lower). #
|
||||||
|
|
||||||
|
<limits
|
||||||
|
# maxaway: Maximum length of an away message.
|
||||||
|
maxaway="200"
|
||||||
|
|
||||||
|
# maxchan: Maximum length of a channel name.
|
||||||
|
maxchan="60"
|
||||||
|
|
||||||
|
# maxhost: Maximum length of a hostname.
|
||||||
|
maxhost="64"
|
||||||
|
|
||||||
|
# maxident: Maximum length of a ident/username.
|
||||||
|
maxident="10"
|
||||||
|
|
||||||
|
# maxkick: Maximum length of a kick message.
|
||||||
|
maxkick="300"
|
||||||
|
|
||||||
|
# maxmodes: Maximum number of mode changes per line.
|
||||||
|
maxmodes="20"
|
||||||
|
|
||||||
|
# maxnick: Maximum length of a nickname.
|
||||||
|
maxnick="30"
|
||||||
|
|
||||||
|
# maxquit: Maximum length of a quit message.
|
||||||
|
maxquit="300"
|
||||||
|
|
||||||
|
# maxreal: Maximum length of a real name.
|
||||||
|
maxreal="130"
|
||||||
|
|
||||||
|
# maxtopic: Maximum length of a channel topic.
|
||||||
|
maxtopic="330">
|
||||||
|
|
||||||
|
#-#-#-#-#-#-#-#-#-#-#-#-# PATHS CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-#-#
|
||||||
|
# #
|
||||||
|
# This configuration tag defines the location that InspIRCd stores #
|
||||||
|
# various types of files such as configuration files, log files and #
|
||||||
|
# modules. You will probably not need to change these from the values #
|
||||||
|
# set when InspIRCd was built unless you are using a binary package #
|
||||||
|
# where you do not have the ability to set build time configuration. #
|
||||||
|
#<path configdir="conf" datadir="data" logdir="logs" moduledir="modules">
|
||||||
|
|
||||||
|
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
|
||||||
|
# Logging
|
||||||
|
# -------
|
||||||
|
#
|
||||||
|
# Logging is covered with the <log> tag, which you may use to change
|
||||||
|
# the behaviour of the logging of the IRCd.
|
||||||
|
#
|
||||||
|
# An example log tag would be:
|
||||||
|
# <log method="file" type="OPER" level="default" target="opers.log">
|
||||||
|
# which would log all information on /OPER (failed and successful) to
|
||||||
|
# a file called opers.log.
|
||||||
|
#
|
||||||
|
# There are many different types which may be used, and modules may
|
||||||
|
# generate their own. A list of useful types:
|
||||||
|
# - USERS - information relating to user connection and disconnection
|
||||||
|
# - OPER - successful and failed oper attempts
|
||||||
|
# - KILL - kill related messages
|
||||||
|
# - FILTER - messages related to filter matches (filter module)
|
||||||
|
# - CONFIG - configuration related messages
|
||||||
|
# - COMMAND - die and restart messages, and messages related to unknown user types
|
||||||
|
# - SOCKET - socket engine informational/error messages
|
||||||
|
# - MODULE - module related messages
|
||||||
|
# - STARTUP - messages related to starting up the server
|
||||||
|
#
|
||||||
|
# You may also log *everything* by using a type of *, and subtract things out
|
||||||
|
# of that by using -TYPE - for example "* -USERINPUT -USEROUTPUT".
|
||||||
|
#
|
||||||
|
# Useful levels are:
|
||||||
|
# - default (general messages, including errors)
|
||||||
|
# - sparse (misc error messages)
|
||||||
|
# - debug (debug messages)
|
||||||
|
#
|
||||||
|
# Some types only produce output in the debug level, those are:
|
||||||
|
# - BANCACHE - ban cache debug messages
|
||||||
|
# - CHANNELS - information relating to joining/creating channels
|
||||||
|
# - CULLLIST - debug messages related to issues with removing users
|
||||||
|
# - RESOLVER - DNS related debug messages
|
||||||
|
# - CONNECTCLASS - Connection class debug messages
|
||||||
|
# - USERINPUT
|
||||||
|
# - USEROUTPUT
|
||||||
|
#
|
||||||
|
# If your server is producing a high levels of log messages you can also set the
|
||||||
|
# flush="[positive number]" attribute to specify how many log messages should be
|
||||||
|
# buffered before flushing to disk. You should probably not specify this unless
|
||||||
|
# you are having problems.
|
||||||
|
#
|
||||||
|
# The following log tag is highly default and uncustomised. It is recommended you
|
||||||
|
# sort out your own log tags. This is just here so you get some output.
|
||||||
|
|
||||||
|
<log method="file" type="* -USERINPUT -USEROUTPUT" level="default" target="ircd.log">
|
||||||
|
|
||||||
|
#-#-#-#-#-#-#-#-#-#-#-#-#- WHOWAS OPTIONS -#-#-#-#-#-#-#-#-#-#-#-#-#
|
||||||
|
# #
|
||||||
|
# This tag lets you define the behaviour of the /WHOWAS command of #
|
||||||
|
# your server. #
|
||||||
|
# #
|
||||||
|
|
||||||
|
<whowas
|
||||||
|
# groupsize: Maximum entries per nick shown when performing
|
||||||
|
# a /WHOWAS <nick>.
|
||||||
|
groupsize="10"
|
||||||
|
|
||||||
|
# maxgroups: Maximum number of nickgroups that can be added to
|
||||||
|
# the list so that /WHOWAS does not use a lot of resources on
|
||||||
|
# large networks.
|
||||||
|
maxgroups="100000"
|
||||||
|
|
||||||
|
# maxkeep: Maximum time a nick is kept in the whowas list
|
||||||
|
# before being pruned. Time may be specified in seconds,
|
||||||
|
# or in the following format: 1y2w3d4h5m6s. Minimum is
|
||||||
|
# 1 hour.
|
||||||
|
maxkeep="3d">
|
||||||
|
|
||||||
|
#-#-#-#-#-#-#-#-#-#-#- INSANE BAN OPTIONS -#-#-#-#-#-#-#-#-#-#-#-#-#-#
|
||||||
|
# #
|
||||||
|
# This optional tag allows you to specify how wide a G-line, E-line, #
|
||||||
|
# K-line, Z-line or Q-line can be before it is forbidden from being #
|
||||||
|
# set. By setting hostmasks="yes", you can allow all G-, K-, E-lines, #
|
||||||
|
# no matter how many users the ban would cover. This is not #
|
||||||
|
# recommended! By setting ipmasks="yes", you can allow all Z-lines, #
|
||||||
|
# no matter how many users these cover too. Needless to say we #
|
||||||
|
# don't recommend you do this, or, set nickmasks="yes", which will #
|
||||||
|
# allow any Q-line. #
|
||||||
|
# #
|
||||||
|
|
||||||
|
<insane
|
||||||
|
# hostmasks: Allow bans with insane hostmasks. (over-reaching bans)
|
||||||
|
hostmasks="no"
|
||||||
|
|
||||||
|
# ipmasks: Allow bans with insane ipmasks. (over-reaching bans)
|
||||||
|
ipmasks="no"
|
||||||
|
|
||||||
|
# nickmasks: Allow bans with insane nickmasks. (over-reaching bans)
|
||||||
|
nickmasks="no"
|
||||||
|
|
||||||
|
# trigger: What percentage of users on the network to trigger
|
||||||
|
# specifying an insane ban as. The default is 95.5%, which means
|
||||||
|
# if you have a 1000 user network, a ban will not be allowed if it
|
||||||
|
# will be banning 955 or more users.
|
||||||
|
trigger="95.5">
|
||||||
|
|
37
nixos/viridian/services/inspircd/inspircd.motd
Normal file
37
nixos/viridian/services/inspircd/inspircd.motd
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
_____ _____ _____ _____ _
|
||||||
|
|_ _| |_ _| | __ \ / ____| | |
|
||||||
|
| | _ __ ___ _ __ | | | |__) || | __| |
|
||||||
|
| | | '_ \ / __| | '_ \ | | | _ / | | / _` |
|
||||||
|
_| |_ | | | | \__ \ | |_) | _| |_ | | \ \ | |____ | (_| |
|
||||||
|
|_____| |_| |_| |___/ | .__/ |_____| |_| \_\ \_____| \__,_|
|
||||||
|
_____________________| |__________________________________
|
||||||
|
|_____________________|_|__________________________________|
|
||||||
|
|
||||||
|
\iPowering IRC communities since 2006\x
|
||||||
|
|
||||||
|
/\ /\
|
||||||
|
{ `---' } \bWELCOME TO AN \c13I\c04N\c07S\c08P\c03I\c10R\c12C\c06D\c99 NETWORK\x
|
||||||
|
{ O O }
|
||||||
|
~~> V <~~ If you see this, I'm probably new.
|
||||||
|
\ \|/ / If I'm not new, my owner is lazy. ;-)
|
||||||
|
`-----'____
|
||||||
|
/ \ \_
|
||||||
|
{ }\ )_\_ _
|
||||||
|
| \_/ |/ / \_\_/ )
|
||||||
|
\__/ /(_/ \__/
|
||||||
|
(__/
|
||||||
|
|
||||||
|
+---- To change this see \bmotd.txt.example\x ----+
|
||||||
|
| |
|
||||||
|
| * \bWeb:\x https://www.inspircd.org |
|
||||||
|
| * \bIRC:\x ircs://irc.teranova.net/inspircd |
|
||||||
|
| * \bDocs:\x https://docs.inspircd.org |
|
||||||
|
| * \bIssues:\x https://git.io/JIuYi |
|
||||||
|
| * \bDiscussions:\x https://git.io/JIuYv |
|
||||||
|
| |
|
||||||
|
| We hope you like this software. Please do |
|
||||||
|
| make sure to customise your configuration, |
|
||||||
|
| though, so you love it. Enjoy. |
|
||||||
|
| |
|
||||||
|
| -- The InspIRCd Team |
|
||||||
|
+---------------------------------------------+
|
|
@ -49,6 +49,8 @@ in {
|
||||||
motd = "\\u00A7aKanto Network \\u00A7e[1.19.2]\\u00A7r\\n\\u00A78I'll Use My Trusty Frying Pan As A Drying Pan!";
|
motd = "\\u00A7aKanto Network \\u00A7e[1.19.2]\\u00A7r\\n\\u00A78I'll Use My Trusty Frying Pan As A Drying Pan!";
|
||||||
server-port = 25565;
|
server-port = 25565;
|
||||||
white-list = true;
|
white-list = true;
|
||||||
|
spawn-protection = 0;
|
||||||
|
allow-cheats = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Things to symlink into this server's data directory.
|
# Things to symlink into this server's data directory.
|
||||||
|
@ -81,7 +83,7 @@ in {
|
||||||
|
|
||||||
services.traefik.dynamicConfigOptions.http.routers = {
|
services.traefik.dynamicConfigOptions.http.routers = {
|
||||||
minecraft = {
|
minecraft = {
|
||||||
rule = "Host(`minecraft.home.arpa`)";
|
rule = "Host(`mc.home.arpa`)";
|
||||||
entryPoints = [
|
entryPoints = [
|
||||||
"websecure"
|
"websecure"
|
||||||
];
|
];
|
||||||
|
|
|
@ -3,6 +3,11 @@
|
||||||
"uuid": "82fc15bb-6839-4430-b5e9-39c5294ff32f",
|
"uuid": "82fc15bb-6839-4430-b5e9-39c5294ff32f",
|
||||||
"name": "jasmariiie",
|
"name": "jasmariiie",
|
||||||
"level": 4
|
"level": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"uuid": "491c085e-f0dc-44f1-9fdc-07c7cfcec8f2",
|
||||||
|
"name": "Spectre_HWS",
|
||||||
|
"level": 4
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
22
nixos/viridian/services/murmur/default.nix
Normal file
22
nixos/viridian/services/murmur/default.nix
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
{...}: {
|
||||||
|
services.murmur = {
|
||||||
|
enable = true;
|
||||||
|
port = 64738;
|
||||||
|
openFirewall = true;
|
||||||
|
stateDir = "/var/lib/murmur";
|
||||||
|
|
||||||
|
# Stuff
|
||||||
|
registerName = "Kanto Network";
|
||||||
|
welcometext = "I choose you!";
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.persistence."/persist" = {
|
||||||
|
directories = [
|
||||||
|
{
|
||||||
|
directory = "/var/lib/murmur";
|
||||||
|
user = "murmur";
|
||||||
|
group = "murmur";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue