148 lines
3.0 KiB
Nix
148 lines
3.0 KiB
Nix
{ inputs, self, ... }: {
|
|
flake.nixosModules.global = { pkgs, config, lib, ... }: {
|
|
options = {
|
|
info.rootPath = lib.mkOption {
|
|
type = lib.types.str;
|
|
default = "/home/grey/nixos";
|
|
};
|
|
};
|
|
|
|
config = {
|
|
nix.settings.experimental-features = [
|
|
"nix-command"
|
|
"flakes"
|
|
];
|
|
|
|
nix.gc = {
|
|
automatic = true;
|
|
persistent = true;
|
|
dates = "Sun 05:00";
|
|
};
|
|
|
|
boot.loader.efi.canTouchEfiVariables = true;
|
|
|
|
networking.networkmanager.enable = true;
|
|
|
|
time.timeZone = "Europe/London";
|
|
i18n.defaultLocale = "en_GB.UTF-8";
|
|
i18n.extraLocaleSettings = {
|
|
LC_ADDRESS = "en_GB.UTF-8";
|
|
LC_IDENTIFICATION = "en_GB.UTF-8";
|
|
LC_MEASUREMENT = "en_GB.UTF-8";
|
|
LC_MONETARY = "en_GB.UTF-8";
|
|
LC_NAME = "en_GB.UTF-8";
|
|
LC_NUMERIC = "en_GB.UTF-8";
|
|
LC_PAPER = "en_GB.UTF-8";
|
|
LC_TELEPHONE = "en_GB.UTF-8";
|
|
LC_TIME = "en_GB.UTF-8";
|
|
};
|
|
|
|
services.xserver.xkb = {
|
|
layout = "gb";
|
|
variant = "";
|
|
};
|
|
console.keyMap = "uk";
|
|
|
|
users.users."grey" = {
|
|
isNormalUser = true;
|
|
description = "grey";
|
|
extraGroups = [ "networkmanager" "wheel" ];
|
|
};
|
|
|
|
nixpkgs.config.allowUnfree = true;
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
git
|
|
fzf
|
|
jq
|
|
busybox
|
|
ethtool
|
|
wayland-utils
|
|
mesa-demos
|
|
vulkan-tools
|
|
hyperfine
|
|
];
|
|
|
|
fonts.packages = with pkgs; [
|
|
iosevka-comfy.comfy
|
|
nerd-fonts.jetbrains-mono
|
|
];
|
|
|
|
programs.nano = {
|
|
enable = true;
|
|
nanorc = ''
|
|
set nowrap
|
|
set tabstospaces
|
|
set tabsize 2
|
|
'';
|
|
};
|
|
|
|
hardware.bluetooth = {
|
|
enable = true;
|
|
powerOnBoot = false;
|
|
};
|
|
|
|
programs.gnupg.agent = {
|
|
enable = true;
|
|
};
|
|
};
|
|
};
|
|
|
|
flake.homeModules.global = { config, pkgs, ... }: {
|
|
nix.gc = {
|
|
automatic = true;
|
|
persistent = true;
|
|
dates = "Sun 05:00";
|
|
};
|
|
|
|
home.packages = with pkgs; [
|
|
bibata-cursors
|
|
x264
|
|
speedtest-go
|
|
gparted
|
|
vlc
|
|
];
|
|
|
|
programs.git = {
|
|
enable = true;
|
|
|
|
lfs.enable = true;
|
|
|
|
settings = {
|
|
user.name = "Grey Jones";
|
|
user.email = "grey@greyweather.dev";
|
|
};
|
|
|
|
signing = {
|
|
format = "openpgp";
|
|
key = "CC7388DF8E1890729921BCFF7C67C51C2FF524D9";
|
|
signByDefault = true;
|
|
};
|
|
};
|
|
|
|
programs.gpg = {
|
|
enable = true;
|
|
};
|
|
|
|
programs.ssh = {
|
|
enable = true;
|
|
enableDefaultConfig = false;
|
|
settings = {
|
|
"git.greyweather.dev" = {
|
|
HostName = "git.greyweather.dev";
|
|
Port = "222";
|
|
User = "git";
|
|
IdentityFile = "~/.ssh/id_gitea";
|
|
};
|
|
"github.com" = {
|
|
HostName = "github.com";
|
|
Port = 22;
|
|
User = "git";
|
|
IdentityFile = "~/.ssh/id_github";
|
|
};
|
|
};
|
|
};
|
|
|
|
home.shell.enableBashIntegration = true;
|
|
};
|
|
} |