# Edit this configuration file to define what should be installed on # your system. Help is available in the configuration.nix(5) man page # and in the NixOS manual (accessible by running ‘nixos-help’). { config, pkgs, lib, ... }: let evremap = pkgs.rustPlatform.buildRustPackage { pname = "evremap"; version = "0.1.0"; src = pkgs.fetchFromGitHub { owner = "wez"; repo = "evremap"; rev = "4480c4eda223b98899b0fbd926bc34f7bd0e1a18"; sha256 = "sha256-BxSrphgW1n465FX6bKVkq6O0XE2JqanfSYlsGwWUWkQ="; }; cargoHash = ""; cargoLock.lockFile = ../../other/evremap.Cargo.lock; postPatch = '' cp ${../../other/evremap.Cargo.lock} Cargo.lock ''; nativeBuildInputs = [ pkgs.pkg-config ]; buildInputs = [ pkgs.libevdev ]; }; in { imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix ../../common.nix ../../modules ]; jade = { flatpak.enable = true; desktop = { compositing.enable = true; syncthing.enable = true; kdeconnect.enable = true; cloud.enable = true; social.enable = true; mail.enable = true; gaming.enable = true; }; terminal.enable = true; }; hardware.trackpoint = { enable = true; # device = "MELF0410:00 1FD2:7007"; device = "DELL081C:00 044E:121F Mouse"; sensitivity = 255; }; hardware.usb-modeswitch.enable = true; systemd.services."ModemManager".enable = true; systemd.services."ModemManager".wants = [ "NetworkManager.service" ]; systemd.services."ModemManager".wantedBy = [ "multi-user.target" ]; programs.wireshark.enable = true; boot.resumeDevice = "/dev/disk/by-uuid/4f9e8afa-f8d7-40bf-b3ea-17e8e8fbb694"; boot.kernelParams = [ "resume_offset=7380652" ]; boot.binfmt.emulatedSystems = [ "aarch64-linux" ]; hardware.bluetooth.enable = true; services.blueman.enable = true; services.xserver.libinput.touchpad.tapping = false; environment.systemPackages = [ pkgs.vivaldi pkgs.vivaldi-ffmpeg-codecs pkgs.plantuml pkgs.mqttui pkgs.mobile-broadband-provider-info pkgs.modem-manager-gui pkgs.wireshark]; # Bootloader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; # Setup keyfile boot.initrd.secrets = { "/crypto_keyfile.bin" = null; }; systemd.services = { evremap = { script = "${evremap}/bin/evremap remap ${../../other/remaps-catbook.toml}"; wantedBy = ["multi-user.target"]; }; }; # nixpkgs = { # overlays = [ # (self: super: { # linux_zen_xeniafied = pkgs.linuxPackagesFor (pkgs.linuxKernel.kernels.linux_zen.override { # structuredExtraConfig = with lib.kernel; { # "FB" = yes; # "FRAMEBUFFER_CONSOLE" = yes; # "VGA_CONSOLE" = yes; # "VIDEO_SELECT" = yes; # LOGO = lib.mkForce yes; # LOGO_LINUX_CLUT224 = yes; # }; # ignoreConfigErrors = true; # }); # }) # ]; # }; boot.kernelPackages = pkgs.linuxPackages_zen; # boot.kernelPatches = [ # { # name = "fomx"; # patch = ../../other/0001-fomx.patch; # } # ]; services.xserver.displayManager.autoLogin = { enable = true; user = "jade"; }; networking.hostName = "catbook-j"; # Define your hostname. # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. # Configure network proxy if necessary # networking.proxy.default = "http://user:password@proxy:port/"; # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; # Enable networking networking.networkmanager.enable = true; i18n.extraLocaleSettings = { LC_ADDRESS = "de_DE.UTF-8"; LC_IDENTIFICATION = "de_DE.UTF-8"; LC_MEASUREMENT = "de_DE.UTF-8"; LC_MONETARY = "de_DE.UTF-8"; LC_NAME = "de_DE.UTF-8"; LC_NUMERIC = "de_DE.UTF-8"; LC_PAPER = "de_DE.UTF-8"; LC_TELEPHONE = "de_DE.UTF-8"; LC_TIME = "de_DE.UTF-8"; }; # 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 = "23.05"; # Did you read the comment? }