Add Disco
This commit is contained in:
parent
96dbda3ea2
commit
94859a92a3
150
hosts/Disco.nix
Normal file
150
hosts/Disco.nix
Normal file
|
@ -0,0 +1,150 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
let
|
||||||
|
definedInPersonalDotNix = lib.mkDefault (throw "Configuration option missing from personal.nix");
|
||||||
|
in
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./development.nix
|
||||||
|
./gnome.nix
|
||||||
|
./x270.nix
|
||||||
|
./scanner.nix
|
||||||
|
./printer.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
i18n.defaultLocale = "de_DE.UTF-8";
|
||||||
|
networking.hostName = "Disco";
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
services.avahi.enable = true;
|
||||||
|
networking.firewall.allowedTCPPorts = [ 22 ];
|
||||||
|
|
||||||
|
programs.gnupg.agent = {
|
||||||
|
enable = true;
|
||||||
|
# enableSSHSupport = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
ntfsprogs
|
||||||
|
direnv nix-direnv
|
||||||
|
tmux zellij
|
||||||
|
helix
|
||||||
|
picocom
|
||||||
|
wget
|
||||||
|
texlive.combined.scheme-full
|
||||||
|
xsel
|
||||||
|
rsync
|
||||||
|
ranger nnn w3m
|
||||||
|
hexyl
|
||||||
|
git
|
||||||
|
gnupg
|
||||||
|
ripgrep
|
||||||
|
fd
|
||||||
|
ncdu
|
||||||
|
rink
|
||||||
|
htop
|
||||||
|
ncmpcpp
|
||||||
|
usbutils # lsusb etc.
|
||||||
|
file
|
||||||
|
binwalk
|
||||||
|
shellcheck
|
||||||
|
|
||||||
|
wineWowPackages.stable
|
||||||
|
winePackages.fonts
|
||||||
|
pavucontrol
|
||||||
|
xsensors
|
||||||
|
|
||||||
|
kitty
|
||||||
|
kitty-themes
|
||||||
|
|
||||||
|
firefox
|
||||||
|
ungoogled-chromium
|
||||||
|
thunderbird
|
||||||
|
|
||||||
|
zathura
|
||||||
|
inkscape
|
||||||
|
vlc
|
||||||
|
gthumb
|
||||||
|
gimp
|
||||||
|
tenacity
|
||||||
|
openscad
|
||||||
|
freecad
|
||||||
|
solvespace
|
||||||
|
vscodium
|
||||||
|
marktext
|
||||||
|
tor-browser-bundle-bin
|
||||||
|
libreoffice-fresh
|
||||||
|
tdesktop
|
||||||
|
horizon-eda
|
||||||
|
cura
|
||||||
|
pulseview
|
||||||
|
nextcloud-client
|
||||||
|
];
|
||||||
|
programs.evolution = {
|
||||||
|
enable = true;
|
||||||
|
plugins = [ pkgs.evolution-ews ];
|
||||||
|
};
|
||||||
|
system.extraDependencies = with pkgs; [
|
||||||
|
# For various development environments
|
||||||
|
gcc-arm-embedded
|
||||||
|
gnumake
|
||||||
|
];
|
||||||
|
|
||||||
|
services.burp.client = {
|
||||||
|
enable = true;
|
||||||
|
password = definedInPersonalDotNix;
|
||||||
|
server = "rupert";
|
||||||
|
sslKeyPassword = definedInPersonalDotNix;
|
||||||
|
includes = [ "/etc/nixos" "/home" ];
|
||||||
|
extraConfig = ''
|
||||||
|
working_dir_recovery_method = resume
|
||||||
|
max_resume_attempts = 5
|
||||||
|
exclude_regex = /home/.*/\.cache
|
||||||
|
exclude_regex = /home/.*/\.mozilla
|
||||||
|
exclude_regex = /home/.*/\.local
|
||||||
|
exclude_regex = /home/.*/\.cargo
|
||||||
|
exclude_regex = /home/.*/\.texlive.*
|
||||||
|
exclude_regex = /home/.*/\.vscode.*
|
||||||
|
exclude_regex = sync_[0-9a-f]+\.db
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.steam = {
|
||||||
|
enable = true;
|
||||||
|
# remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
|
||||||
|
# dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
|
||||||
|
};
|
||||||
|
|
||||||
|
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
|
||||||
|
"steam"
|
||||||
|
"steam-original"
|
||||||
|
"steam-runtime"
|
||||||
|
"steam-run"
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
fileSystems."/windows" = {
|
||||||
|
device = "/dev/disk/by-uuid/C61C2B5E1C2B492F";
|
||||||
|
fsType = "ntfs";
|
||||||
|
options = [
|
||||||
|
"defaults"
|
||||||
|
"gid=1010"
|
||||||
|
"umask=002"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
users.extraGroups = {
|
||||||
|
windows = {
|
||||||
|
gid = 1010;
|
||||||
|
members = [ "fruchti" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# This value determines the NixOS release from which the default
|
||||||
|
# settings for stateful data, like file locations and database versions
|
||||||
|
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||||
|
# this value at the release version of the first install of this system.
|
||||||
|
# Before changing this value read the documentation for this option
|
||||||
|
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||||
|
system.stateVersion = "22.05"; # Did you read the comment?
|
||||||
|
}
|
60
hosts/gnome.nix
Normal file
60
hosts/gnome.nix
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
# Enable the X11 windowing system.
|
||||||
|
services.xserver.enable = true;
|
||||||
|
services.xserver.libinput.enable = true;
|
||||||
|
services.xserver.desktopManager.gnome.enable = true;
|
||||||
|
services.xserver.displayManager = {
|
||||||
|
gdm.enable = true;
|
||||||
|
gdm.wayland = false;
|
||||||
|
autoLogin.enable = true;
|
||||||
|
autoLogin.user = "fruchti";
|
||||||
|
};
|
||||||
|
security.pam.services.gdm.enableGnomeKeyring = true;
|
||||||
|
|
||||||
|
services.touchegg.enable = true;
|
||||||
|
services.gnome.gnome-settings-daemon.enable = true;
|
||||||
|
services.gnome.tracker-miners.enable = false;
|
||||||
|
services.gnome.tracker.enable = false;
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
gnome.gnome-tweaks gnome.gnome-shell-extensions
|
||||||
|
gnomeExtensions.caffeine gnomeExtensions.tray-icons-reloaded gnomeExtensions.x11-gestures gnomeExtensions.git
|
||||||
|
# gnome.nautilus-python nautilus-open-any-terminal
|
||||||
|
pinentry-curses
|
||||||
|
(callPackage ../packages/alias.nix {
|
||||||
|
inputPackage = kitty;
|
||||||
|
inputName = "kitty";
|
||||||
|
outputName = "gnome-terminal";
|
||||||
|
})
|
||||||
|
# (gnome-console.overrideAttrs (old: {
|
||||||
|
# phases = [ "installPhase" ];
|
||||||
|
# installPhase = ''
|
||||||
|
# mkdir -p $out/bin
|
||||||
|
# ln -s ${kitty}/bin/kitty $out/bin/gnome-console
|
||||||
|
# '';
|
||||||
|
# }))
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.gnupg.agent.pinentryFlavor = "curses";
|
||||||
|
|
||||||
|
environment.gnome.excludePackages = (with pkgs; [
|
||||||
|
gnome-photos
|
||||||
|
gnome-tour
|
||||||
|
gnome-console
|
||||||
|
modemmanager
|
||||||
|
]) ++ (with pkgs.gnome; [
|
||||||
|
cheese # webcam tool
|
||||||
|
gnome-music
|
||||||
|
gnome-terminal
|
||||||
|
gedit # text editor
|
||||||
|
epiphany # web browser
|
||||||
|
geary # email reader
|
||||||
|
gnome-characters
|
||||||
|
totem # video player
|
||||||
|
tali # poker game
|
||||||
|
iagno # go game
|
||||||
|
hitori # sudoku game
|
||||||
|
atomix # puzzle game
|
||||||
|
]);
|
||||||
|
}
|
7
hosts/printer.nix
Normal file
7
hosts/printer.nix
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
services.printing = {
|
||||||
|
enable = true;
|
||||||
|
drivers = with pkgs; [ postscript-lexmark ];
|
||||||
|
};
|
||||||
|
}
|
6
hosts/scanner.nix
Normal file
6
hosts/scanner.nix
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
hardware.sane.enable = true;
|
||||||
|
hardware.sane.disabledDefaultBackends = [ "v4l" ];
|
||||||
|
users.users.fruchti.extraGroups = [ "scanner" ];
|
||||||
|
}
|
20
hosts/x270.nix
Normal file
20
hosts/x270.nix
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
hardware.trackpoint = {
|
||||||
|
enable = true;
|
||||||
|
sensitivity = 230;
|
||||||
|
speed = 170;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.xserver.videoDrivers = [ "modesetting" ];
|
||||||
|
hardware.opengl = {
|
||||||
|
enable = true;
|
||||||
|
driSupport = true;
|
||||||
|
driSupport32Bit = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
console = {
|
||||||
|
font = "Lat2-Terminus16";
|
||||||
|
keyMap = "de";
|
||||||
|
};
|
||||||
|
}
|
10
packages/alias.nix
Normal file
10
packages/alias.nix
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
{ stdenv, inputPackage, inputName, outputName }:
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = outputName;
|
||||||
|
version = "1.0";
|
||||||
|
phases = [ "installPhase" ];
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
ln -s ${inputPackage}/bin/${inputName} $out/bin/${outputName}
|
||||||
|
'';
|
||||||
|
}
|
Loading…
Reference in a new issue