Restructured to use a profiles directory for cleaner structure.

This commit is contained in:
kat witch 2020-11-05 16:46:46 +00:00 committed by kat
parent 2711729d50
commit 0668a962e8
12 changed files with 16 additions and 16 deletions

View 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
];
}

View 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; })
];
}

View 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;
};
}

View 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;
}

View 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
];
};
}

View 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
];
};
}

View 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;
};
}

View 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
];
};
}