2022-07-09 05:54:05 +00:00
|
|
|
|
{ config, pkgs, lib, inputs, ... }:
|
2021-11-25 11:55:30 +00:00
|
|
|
|
|
|
|
|
|
{
|
2021-12-11 05:37:27 +00:00
|
|
|
|
imports = [
|
|
|
|
|
# Include the results of the hardware scan.
|
2021-11-25 13:45:48 +00:00
|
|
|
|
./hardware-configuration.nix
|
2022-01-31 07:39:21 +00:00
|
|
|
|
|
|
|
|
|
inputs.guix-overlay.nixosModules.guix-binary
|
2022-07-09 05:54:05 +00:00
|
|
|
|
|
|
|
|
|
(lib.mapHomeManagerUser "foo-dogsquared" {
|
|
|
|
|
extraGroups = [ "wheel" "audio" "docker" "podman" "networkmanager" ];
|
|
|
|
|
hashedPassword =
|
|
|
|
|
"$6$.cMYto0K0CHbpIMT$dRqyKs4q1ppzmTpdzy5FWP/V832a6X..FwM8CJ30ivK0nfLjQ7DubctxOZbeOtygfjcUd1PZ0nQoQpOg/WMvg.";
|
|
|
|
|
isNormalUser = true;
|
|
|
|
|
createHome = true;
|
|
|
|
|
home = "/home/foo-dogsquared";
|
|
|
|
|
})
|
2021-11-25 13:45:48 +00:00
|
|
|
|
];
|
2021-11-25 11:55:30 +00:00
|
|
|
|
|
2022-05-20 06:47:09 +00:00
|
|
|
|
boot.binfmt.emulatedSystems = [
|
|
|
|
|
"aarch64-linux"
|
|
|
|
|
"riscv64-linux"
|
|
|
|
|
];
|
|
|
|
|
|
2022-07-14 00:20:02 +00:00
|
|
|
|
boot.initrd.supportedFilesystems = [ "btrfs" ];
|
|
|
|
|
boot.supportedFilesystems = [ "btrfs" ];
|
|
|
|
|
|
|
|
|
|
services.btrfs.autoScrub = {
|
|
|
|
|
enable = true;
|
|
|
|
|
fileSystems = [
|
|
|
|
|
"/mnt/archives"
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
|
2021-11-25 11:55:30 +00:00
|
|
|
|
# My custom configuration with my custom modules starts here.
|
2022-01-09 05:38:59 +00:00
|
|
|
|
profiles = {
|
2022-07-14 00:20:02 +00:00
|
|
|
|
i18n.enable = true;
|
2021-11-25 11:55:30 +00:00
|
|
|
|
archiving.enable = true;
|
2022-04-16 16:12:19 +00:00
|
|
|
|
system = {
|
2021-11-25 11:55:30 +00:00
|
|
|
|
enable = true;
|
|
|
|
|
audio.enable = true;
|
2021-11-27 11:21:08 +00:00
|
|
|
|
fonts.enable = true;
|
2021-12-06 07:27:51 +00:00
|
|
|
|
hardware.enable = true;
|
2021-12-11 05:37:27 +00:00
|
|
|
|
cleanup.enable = true;
|
2022-04-16 16:17:19 +00:00
|
|
|
|
autoUpgrade.enable = true;
|
2021-11-25 11:55:30 +00:00
|
|
|
|
};
|
|
|
|
|
dev = {
|
|
|
|
|
enable = true;
|
|
|
|
|
shell.enable = true;
|
2021-11-29 09:56:24 +00:00
|
|
|
|
virtualization.enable = true;
|
2021-12-25 12:35:55 +00:00
|
|
|
|
neovim.enable = true;
|
2021-11-25 11:55:30 +00:00
|
|
|
|
};
|
2022-01-09 05:38:59 +00:00
|
|
|
|
};
|
2022-06-12 05:47:55 +00:00
|
|
|
|
|
2022-07-05 14:05:59 +00:00
|
|
|
|
tasks = {
|
|
|
|
|
multimedia-archive.enable = true;
|
|
|
|
|
backup-archive.enable = true;
|
|
|
|
|
};
|
2022-06-12 05:47:55 +00:00
|
|
|
|
themes.themes.a-happy-gnome.enable = true;
|
2021-11-25 11:55:30 +00:00
|
|
|
|
|
2022-02-02 04:25:03 +00:00
|
|
|
|
environment.systemPackages = with pkgs; [
|
2022-06-12 05:47:55 +00:00
|
|
|
|
# This is installed just to get Geiser to properly work.
|
2022-02-02 04:25:03 +00:00
|
|
|
|
guile_3_0
|
|
|
|
|
];
|
|
|
|
|
|
2022-01-31 07:39:21 +00:00
|
|
|
|
# Enable Guix service.
|
|
|
|
|
services.guix-binary.enable = true;
|
|
|
|
|
|
2021-11-25 11:55:30 +00:00
|
|
|
|
# Use the systemd-boot EFI boot loader.
|
|
|
|
|
boot.loader.systemd-boot.enable = true;
|
|
|
|
|
boot.loader.efi.canTouchEfiVariables = true;
|
2021-12-06 07:27:51 +00:00
|
|
|
|
|
2021-11-25 11:55:30 +00:00
|
|
|
|
# Set your time zone.
|
|
|
|
|
time.timeZone = "Asia/Manila";
|
|
|
|
|
|
|
|
|
|
# Doxxing myself.
|
|
|
|
|
location = {
|
|
|
|
|
latitude = 15.0;
|
|
|
|
|
longitude = 121.0;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
# The global useDHCP flag is deprecated, therefore explicitly set to false here.
|
|
|
|
|
# Per-interface useDHCP will be mandatory in the future, so this generated config
|
|
|
|
|
# replicates the default behaviour.
|
|
|
|
|
networking.useDHCP = false;
|
|
|
|
|
networking.interfaces.enp1s0.useDHCP = true;
|
|
|
|
|
networking.interfaces.wlp2s0.useDHCP = true;
|
|
|
|
|
|
|
|
|
|
# Some programs need SUID wrappers, can be configured further or are
|
|
|
|
|
# started in user sessions.
|
|
|
|
|
programs.mtr.enable = true;
|
|
|
|
|
|
2021-12-19 09:39:18 +00:00
|
|
|
|
services.auto-cpufreq.enable = true;
|
|
|
|
|
services.thermald.enable = true;
|
2021-12-26 10:43:49 +00:00
|
|
|
|
services.avahi.enable = true;
|
2021-12-19 09:39:18 +00:00
|
|
|
|
|
2021-11-25 13:45:48 +00:00
|
|
|
|
# The usual doas config.
|
|
|
|
|
security.doas = {
|
|
|
|
|
enable = true;
|
|
|
|
|
extraRules = [{
|
|
|
|
|
groups = [ "wheel" ];
|
|
|
|
|
persist = true;
|
|
|
|
|
}];
|
|
|
|
|
};
|
2021-11-25 11:55:30 +00:00
|
|
|
|
|
|
|
|
|
# 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).
|
2022-07-05 14:05:59 +00:00
|
|
|
|
system.stateVersion = "22.11"; # Did you read the comment?
|
2021-11-25 11:55:30 +00:00
|
|
|
|
}
|
|
|
|
|
|