system/nixos/hosts/home/default.nix
Dmitriy Pleshevskiy dab505e62b nix: use 22.11 stable nixpkgs (#13)
nix: refac overlays

nix: fix path to packages

nix: use mkMerge

nix: rename nixpkgs-unstable input

user: remove my tools

user: build use unstable packages for nil

cannot be built on stable because it requires rustc 1.66 or newer, while the currently active rustc version is 1.64.0

host/magenta: use unstable gitea

nix: fix rollback command

nix: fix overlays

user: use unstable haskell packages to build xmonad

user: don't build woodpecker-cli

host: import nix module for canigou and magenta

pkgs: fix woodpecker

host/home: use unstable kernel to use rtl88x2bu driver

host: use unstable ipfs

move ipfs to shared config

user: use unstable woodpecker-cli

Reviewed-on: #13
2023-03-31 17:40:22 +03:00

110 lines
2.3 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{ config, pkgs, ... }:
{
imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix
../../shared/common.nix
../../shared/sound.nix
../../shared/window-manager.nix
../../shared/fonts.nix
../../shared/gnupg.nix
../../shared/garbage-collector.nix
../../shared/networking.secret.nix
../../shared/ipfs.nix
];
# Configure kernel
boot = {
# I cannot use rtl88x2bu driver in stable
kernelPackages = pkgs.unstable.linuxPackages_6_1;
extraModulePackages = with config.boot.kernelPackages; [
rtl88x2bu
];
};
# Use the GRUB 2 boot loader.
boot.loader.grub = {
enable = true;
version = 2;
device = "/dev/sdb";
};
networking = {
hostName = "home"; # Define your hostname.
useDHCP = false;
interfaces = {
enp3s0.useDHCP = true;
wlp11s0f3u2.useDHCP = true;
};
networkmanager.enable = true;
};
local.nix.allowUnfreePackages = [ "cnijfilter2" ];
services = {
avahi = {
enable = true;
nssmdns = true;
};
printing = {
enable = true;
drivers = with pkgs; [ gutenprint cnijfilter2 ];
};
};
services.xserver = {
# All monitors in the right order
# Source: https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/x11/xserver.nix#L83
xrandrHeads = [
{
output = "HDMI-1";
monitorConfig = ''
Option "PreferredMode" "1920x1080"
Option "Rotate" "right"
'';
}
{
output = "DP-1";
primary = true;
monitorConfig = ''
Option "PreferredMode" "2560x1440"
'';
}
];
};
services.logind.extraConfig = ''
# dont shutdown when power button is short-pressed
HandlePowerKey=ignore
'';
# Enable the Docker
virtualisation.docker.enable = true;
# Additional nix configs
local.nix.enableMyRegistry = true;
# Wireguard client
age.secrets.wireguard-home-private = {
file = ../../../secrets/wireguard-home-private.age;
mode = "0400";
};
local.wireguard = {
enable = true;
ip = "10.100.0.2/24";
privateKeyFile = config.age.secrets.wireguard-home-private.path;
};
# Invisible internet project
services.i2pd = {
enable = true;
proto.httpProxy.enable = true;
proto.http.enable = true;
};
services.transmission.enable = true;
}