mirror of
https://github.com/gensokyo-zone/infrastructure.git
synced 2026-02-09 12:29:19 -08:00
Restructured to use a profiles directory for cleaner structure.
This commit is contained in:
parent
2711729d50
commit
0668a962e8
12 changed files with 16 additions and 16 deletions
71
configuration/profiles/common/default.nix
Normal file
71
configuration/profiles/common/default.nix
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
home-manager = fetchGit {
|
||||
url = "https://github.com/nix-community/home-manager";
|
||||
rev = "a98ec6ec158686387d66654ea96153ec06be33d7";
|
||||
};
|
||||
in {
|
||||
imports = [
|
||||
../../../modules
|
||||
"${home-manager}/nixos"
|
||||
./pbb.nix
|
||||
./users.nix
|
||||
];
|
||||
|
||||
nixpkgs.overlays = [
|
||||
(self: super: import ../../../pkgs { nixpkgs = super.path; })
|
||||
];
|
||||
|
||||
boot.kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
|
||||
#boot.kernelParams = [ "quiet" ];
|
||||
|
||||
nixpkgs.config = {
|
||||
allowUnfree = true;
|
||||
};
|
||||
|
||||
services.journald.extraConfig = "SystemMaxUse=512M";
|
||||
nix.gc.automatic = lib.mkDefault true;
|
||||
nix.gc.options = lib.mkDefault "--delete-older-than 1w";
|
||||
nix.trustedUsers = [ "root" "@wheel" ];
|
||||
environment.variables.EDITOR = "neovim";
|
||||
|
||||
|
||||
services.openssh.enable = true;
|
||||
services.openssh.ports = lib.mkDefault [ 62954 ];
|
||||
services.openssh.passwordAuthentication = false;
|
||||
services.openssh.challengeResponseAuthentication = false;
|
||||
services.openssh.permitRootLogin = lib.mkDefault "prohibit-password";
|
||||
services.openssh.extraConfig = "StreamLocalBindUnlink yes";
|
||||
security.sudo.wheelNeedsPassword = lib.mkForce false;
|
||||
|
||||
|
||||
i18n.defaultLocale = "en_GB.UTF-8";
|
||||
time.timeZone = "Europe/London";
|
||||
console = {
|
||||
font = "Lat2-Terminus16";
|
||||
keyMap = "uk";
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
smartmontools
|
||||
lm_sensors
|
||||
htop
|
||||
neovim
|
||||
ripgrep
|
||||
git
|
||||
wget
|
||||
rsync
|
||||
pv
|
||||
progress
|
||||
bc
|
||||
zstd
|
||||
file
|
||||
whois
|
||||
fd
|
||||
exa
|
||||
socat
|
||||
tmux
|
||||
gnupg
|
||||
];
|
||||
}
|
||||
13
configuration/profiles/common/pbb.nix
Normal file
13
configuration/profiles/common/pbb.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
let
|
||||
pbbNixfiles = fetchGit {
|
||||
url = "https://git.petabyte.dev/petabyteboy/nixfiles";
|
||||
rev = "4b0275db7842fda45dcc007d87b6274c4e63382b";
|
||||
};
|
||||
in {
|
||||
imports = [
|
||||
"${pbbNixfiles}/modules"
|
||||
];
|
||||
nixpkgs.overlays = [
|
||||
(self: super: import "${pbbNixfiles}/pkgs" { nixpkgs = super.path; })
|
||||
];
|
||||
}
|
||||
86
configuration/profiles/common/users.nix
Normal file
86
configuration/profiles/common/users.nix
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
users.users.root = {
|
||||
openssh.authorizedKeys.keys = with pkgs.lib; concatLists (mapAttrsToList (name: user: if elem "wheel" user.extraGroups then user.openssh.authorizedKeys.keys else []) config.users.users);
|
||||
};
|
||||
|
||||
users.users.kat = {
|
||||
uid = 1000;
|
||||
isNormalUser = true;
|
||||
openssh.authorizedKeys.keys = [
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDX2x9eT02eJn2lAc7zA3c84+FXkft1f3hbTXKZ6+q/F kat@yule"
|
||||
];
|
||||
shell = pkgs.fish;
|
||||
extraGroups = [ "wheel" ];
|
||||
};
|
||||
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.users.kat = {
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
programs.fish = {
|
||||
enable = true;
|
||||
plugins = [
|
||||
{
|
||||
name = "bass";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "edc";
|
||||
repo = "bass";
|
||||
rev = "d63054b24c2f63aaa3a08fb9ec9d0da4c70ab922";
|
||||
sha256 = "0pwci5xxm8308nrb52s5nyxijk0svar8nqrdfvkk2y34z1cg319b";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
};
|
||||
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userName = "katrin fénix";
|
||||
userEmail = "me@dork.dev";
|
||||
};
|
||||
|
||||
programs.kakoune = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
programs.ssh = {
|
||||
enable = true;
|
||||
controlMaster = "auto";
|
||||
controlPersist = "10m";
|
||||
hashKnownHosts = true;
|
||||
matchBlocks = let
|
||||
kat = {
|
||||
forwardAgent = true;
|
||||
extraOptions = {
|
||||
RemoteForward = "/run/user/1000/gnupg/S.gpg-agent /run/user/1000/gnupg/S.gpg-agent.extra";
|
||||
};
|
||||
port = 62954;
|
||||
};
|
||||
in {
|
||||
"beltane" = {
|
||||
hostname = "beltane.dork.dev";
|
||||
} // kat;
|
||||
"samhain" = {
|
||||
hostname = "192.168.1.135";
|
||||
} // kat;
|
||||
"litha" = {
|
||||
hostname = "192.168.1.240";
|
||||
} // kat;
|
||||
"yule" = {
|
||||
hostname = "192.168.1.92";
|
||||
} // kat;
|
||||
};
|
||||
};
|
||||
|
||||
programs.bat.enable = true;
|
||||
programs.tmux.enable = true;
|
||||
};
|
||||
}
|
||||
58
configuration/profiles/desktop/default.nix
Normal file
58
configuration/profiles/desktop/default.nix
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let unstable = import ( fetchTarball https://github.com/NixOS/nixpkgs/archive/master.tar.gz ) {}; in {
|
||||
nixpkgs.config = {
|
||||
mumble.speechdSupport = true;
|
||||
};
|
||||
|
||||
home-manager.users.kat = {
|
||||
home.packages = [
|
||||
pkgs._1password
|
||||
pkgs.mpv
|
||||
pkgs.mumble
|
||||
unstable.pkgs.syncplay
|
||||
unstable.pkgs.youtube-dl
|
||||
pkgs.jdk11
|
||||
pkgs.lm_sensors
|
||||
pkgs.discord
|
||||
pkgs.tdesktop
|
||||
pkgs.dino
|
||||
pkgs.nitrogen
|
||||
pkgs.terminator
|
||||
pkgs.appimage-run
|
||||
pkgs.gimp
|
||||
pkgs.vscode
|
||||
pkgs.neofetch
|
||||
pkgs.htop
|
||||
];
|
||||
|
||||
programs.fish = {
|
||||
interactiveShellInit = ''
|
||||
set PATH $PATH $HOME/.config/composer/vendor/bin
|
||||
'';
|
||||
};
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
iconTheme = {
|
||||
name = "Numix-Square";
|
||||
package = pkgs.numix-icon-theme-square;
|
||||
};
|
||||
theme = {
|
||||
name = "Arc-Dark";
|
||||
package = pkgs.arc-theme;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
fonts.fontconfig.enable = true;
|
||||
fonts.fonts = [
|
||||
pkgs.nerdfonts
|
||||
pkgs.corefonts
|
||||
];
|
||||
|
||||
sound.enable = true;
|
||||
hardware.pulseaudio.enable = true;
|
||||
hardware.opengl.enable = true;
|
||||
services.xserver.libinput.enable = true;
|
||||
}
|
||||
20
configuration/profiles/development/default.nix
Normal file
20
configuration/profiles/development/default.nix
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
|
||||
{ config, lib, pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = [
|
||||
pkgs.php
|
||||
pkgs.php74Packages.composer2
|
||||
];
|
||||
|
||||
home-manager.users.kat = {
|
||||
home.packages = [
|
||||
pkgs.jetbrains.clion
|
||||
pkgs.jetbrains.idea-ultimate
|
||||
pkgs.jetbrains.goland
|
||||
pkgs.jetbrains.phpstorm
|
||||
pkgs.carnix
|
||||
pkgs.rustc
|
||||
pkgs.cargo
|
||||
];
|
||||
};
|
||||
}
|
||||
14
configuration/profiles/gaming/default.nix
Normal file
14
configuration/profiles/gaming/default.nix
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
|
||||
{ config, lib, pkgs, ... }:
|
||||
{
|
||||
hardware.opengl.driSupport32Bit = true;
|
||||
hardware.opengl.extraPackages32 = with pkgs.pkgsi686Linux; [ libva ];
|
||||
hardware.pulseaudio.support32Bit = true;
|
||||
|
||||
home-manager.users.kat = {
|
||||
home.packages = [
|
||||
pkgs.steam
|
||||
pkgs.steam-run
|
||||
];
|
||||
};
|
||||
}
|
||||
26
configuration/profiles/gnome/default.nix
Normal file
26
configuration/profiles/gnome/default.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
|
||||
{ config, lib, pkgs, ... }:
|
||||
{
|
||||
services.xserver.enable = true;
|
||||
services.xserver.displayManager.gdm.enable = true;
|
||||
services.xserver.desktopManager.gnome3.enable = true;
|
||||
|
||||
home-manager.users.kat = {
|
||||
home.packages = [
|
||||
pkgs.dconf2nix
|
||||
pkgs.gnome3.gnome-tweak-tool
|
||||
pkgs.gnomeExtensions.caffeine
|
||||
pkgs.gnomeExtensions.emoji-selector
|
||||
pkgs.gnomeExtensions.gsconnect
|
||||
pkgs.gnomeExtensions.dash-to-panel
|
||||
pkgs.gnomeExtensions.appindicator
|
||||
pkgs.gnomeExtensions.dash-to-dock
|
||||
pkgs.gnomeExtensions.arc-menu
|
||||
];
|
||||
};
|
||||
|
||||
services.gvfs = {
|
||||
enable = true;
|
||||
package = pkgs.gnome3.gvfs;
|
||||
};
|
||||
}
|
||||
24
configuration/profiles/xfce/default.nix
Normal file
24
configuration/profiles/xfce/default.nix
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
|
||||
{ config, lib, pkgs, ... }:
|
||||
{
|
||||
services.xserver.enable = true;
|
||||
services.xserver.displayManager.lightdm.enable = true;
|
||||
services.xserver.desktopManager.xfce.enable = true;
|
||||
services.gvfs = {
|
||||
enable = true;
|
||||
package = lib.mkForce pkgs.gnome3.gvfs;
|
||||
};
|
||||
|
||||
home-manager.users.kat = {
|
||||
home.packages = [
|
||||
pkgs.xfce.xfce4-terminal
|
||||
pkgs.xfce.thunar
|
||||
pkgs.xfce.orage
|
||||
pkgs.xfce.xfce4-battery-plugin
|
||||
pkgs.xfce.xfce4-sensors-plugin
|
||||
pkgs.xfce.xfce4-pulseaudio-plugin
|
||||
pkgs.xfce.xfce4-whiskermenu-plugin
|
||||
pkgs.xfce.xfce4-screenshooter
|
||||
];
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue