Format code with alejandra
This commit is contained in:
100
flake.nix
100
flake.nix
@@ -1,51 +1,73 @@
|
|||||||
{
|
{
|
||||||
description = "My System Configs";
|
description = "My System Configs";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "nixpkgs/nixos-unstable";
|
nixpkgs.url = "nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
i3utils.url = "git+https://git.sr.ht/~dpatterbee/i3utils?ref=main";
|
i3utils.url = "git+https://git.sr.ht/~dpatterbee/i3utils?ref=main";
|
||||||
i3utils.inputs.nixpkgs.follows = "nixpkgs";
|
i3utils.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
home-manager.url = "github:nix-community/home-manager/master";
|
home-manager.url = "github:nix-community/home-manager/master";
|
||||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { nixpkgs, home-manager, i3utils, ... }@inputs:
|
outputs = {
|
||||||
let
|
nixpkgs,
|
||||||
system = "x86_64-linux";
|
home-manager,
|
||||||
|
i3utils,
|
||||||
|
...
|
||||||
|
} @ inputs: let
|
||||||
|
system = "x86_64-linux";
|
||||||
|
|
||||||
pkgs = import nixpkgs {
|
pkgs = import nixpkgs {
|
||||||
inherit system;
|
inherit system;
|
||||||
};
|
};
|
||||||
|
|
||||||
lib = nixpkgs.lib;
|
lib = nixpkgs.lib;
|
||||||
|
|
||||||
hostSystem = { hostname, headless }: lib.nixosSystem {
|
hostSystem = {
|
||||||
inherit system;
|
hostname,
|
||||||
|
headless,
|
||||||
|
}:
|
||||||
|
lib.nixosSystem {
|
||||||
|
inherit system;
|
||||||
|
|
||||||
modules = [
|
modules = [
|
||||||
./hosts/${hostname}/configuration.nix
|
./hosts/${hostname}/configuration.nix
|
||||||
|
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
{
|
{
|
||||||
home-manager = {
|
home-manager = {
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
users = import ./users;
|
users = import ./users;
|
||||||
extraSpecialArgs = {inherit hostname; inherit headless;};
|
extraSpecialArgs = {
|
||||||
};
|
inherit hostname;
|
||||||
}
|
inherit headless;
|
||||||
];
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
specialArgs = {inherit inputs;};
|
specialArgs = {inherit inputs;};
|
||||||
};
|
};
|
||||||
|
in {
|
||||||
in {
|
nixosConfigurations = {
|
||||||
nixosConfigurations = {
|
dingbox = hostSystem {
|
||||||
dingbox = hostSystem { hostname = "dingbox"; headless = false; };
|
hostname = "dingbox";
|
||||||
miniding = hostSystem { hostname = "miniding"; headless = false; };
|
headless = false;
|
||||||
pingbox = hostSystem { hostname = "pingbox"; headless = false; };
|
};
|
||||||
dingserver = hostSystem { hostname = "dingserver"; headless = true; };
|
miniding = hostSystem {
|
||||||
};
|
hostname = "miniding";
|
||||||
};
|
headless = false;
|
||||||
|
};
|
||||||
|
pingbox = hostSystem {
|
||||||
|
hostname = "pingbox";
|
||||||
|
headless = false;
|
||||||
|
};
|
||||||
|
dingserver = hostSystem {
|
||||||
|
hostname = "dingserver";
|
||||||
|
headless = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
{ config, pkgs, lib, ...}:
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
# Use the systemd-boot EFI boot loader.
|
# Use the systemd-boot EFI boot loader.
|
||||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||||
boot.loader.systemd-boot.enable = lib.mkDefault true;
|
boot.loader.systemd-boot.enable = lib.mkDefault true;
|
||||||
@@ -37,7 +40,7 @@
|
|||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
home = "/home/daniel";
|
home = "/home/daniel";
|
||||||
initialPassword = "password";
|
initialPassword = "password";
|
||||||
extraGroups = [ "wheel" "networkmanager" "docker" "video" "syncthing" ];
|
extraGroups = ["wheel" "networkmanager" "docker" "video" "syncthing"];
|
||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -67,7 +70,7 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
ohMyZsh = {
|
ohMyZsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
plugins = [ "git" "fzf" ];
|
plugins = ["git" "fzf"];
|
||||||
theme = "agnoster";
|
theme = "agnoster";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
{ config, pkgs, inputs, ...}:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
security.pam.services.gdm.enableGnomeKeyring = true;
|
security.pam.services.gdm.enableGnomeKeyring = true;
|
||||||
# Enable the X11 windowing system.
|
# Enable the X11 windowing system.
|
||||||
hardware.opengl.driSupport32Bit = true;
|
hardware.opengl.driSupport32Bit = true;
|
||||||
@@ -9,13 +12,12 @@
|
|||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
programs.nm-applet.enable = true;
|
programs.nm-applet.enable = true;
|
||||||
|
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
gnome.gnome-keyring.enable = true;
|
gnome.gnome-keyring.enable = true;
|
||||||
|
|
||||||
pipewire = {
|
pipewire = {
|
||||||
enable = true;
|
enable = true;
|
||||||
pulse.enable = true;
|
pulse.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
xserver = {
|
xserver = {
|
||||||
@@ -46,4 +48,3 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,27 +1,26 @@
|
|||||||
# Edit this configuration file to define what should be installed on
|
# Edit this configuration file to define what should be installed on
|
||||||
# your system. Help is available in the configuration.nix(5) man page
|
# your system. Help is available in the configuration.nix(5) man page
|
||||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||||
|
|
||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ # Include the results of the hardware scan.
|
pkgs,
|
||||||
./hardware-configuration.nix
|
...
|
||||||
../common
|
}: {
|
||||||
../common/graphical
|
imports = [
|
||||||
];
|
# Include the results of the hardware scan.
|
||||||
|
./hardware-configuration.nix
|
||||||
|
../common
|
||||||
|
../common/graphical
|
||||||
|
];
|
||||||
|
|
||||||
services.xserver = {
|
services.xserver = {
|
||||||
|
|
||||||
dpi = 144;
|
dpi = 144;
|
||||||
videoDrivers = [ "nvidia" ];
|
videoDrivers = ["nvidia"];
|
||||||
screenSection = ''
|
screenSection = ''
|
||||||
Option "metamodes" "nvidia-auto-select +0+0 {ForceCompositionPipeline=On}"
|
Option "metamodes" "nvidia-auto-select +0+0 {ForceCompositionPipeline=On}"
|
||||||
Option "AllowIndirectGLXProtocol" "off"
|
Option "AllowIndirectGLXProtocol" "off"
|
||||||
Option "TripleBuffer" "on"
|
Option "TripleBuffer" "on"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware.nvidia.modesetting.enable = true;
|
hardware.nvidia.modesetting.enable = true;
|
||||||
@@ -38,4 +37,3 @@
|
|||||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||||
system.stateVersion = "21.05"; # Did you read the comment?
|
system.stateVersion = "21.05"; # Did you read the comment?
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,29 +1,33 @@
|
|||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
lib,
|
||||||
];
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
|
boot.initrd.availableKernelModules = ["xhci_pci" "ehci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod"];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = ["kvm-intel"];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-uuid/1c0e1988-4420-4485-bf16-ffb8ec854c69";
|
device = "/dev/disk/by-uuid/1c0e1988-4420-4485-bf16-ffb8ec854c69";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/disk/by-uuid/F5EA-A9CB";
|
device = "/dev/disk/by-uuid/F5EA-A9CB";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [ ];
|
swapDevices = [];
|
||||||
|
|
||||||
# high-resolution display
|
# high-resolution display
|
||||||
hardware.video.hidpi.enable = lib.mkDefault true;
|
hardware.video.hidpi.enable = lib.mkDefault true;
|
||||||
|
|||||||
@@ -1,12 +1,13 @@
|
|||||||
{ pkgs, lib, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
networking.firewall.allowedTCPPorts = [ 80 8448 443 ];
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
networking.firewall.allowedTCPPorts = [80 8448 443];
|
||||||
|
|
||||||
services.caddy = {
|
services.caddy = {
|
||||||
enable = true;
|
enable = true;
|
||||||
virtualHosts = {
|
virtualHosts = {
|
||||||
|
|
||||||
"matrix.broccoli.town" = {
|
"matrix.broccoli.town" = {
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
reverse_proxy /_matrix/* http://localhost:8008
|
reverse_proxy /_matrix/* http://localhost:8008
|
||||||
@@ -37,14 +38,15 @@
|
|||||||
X-Content-Type-Options "nosniff"
|
X-Content-Type-Options "nosniff"
|
||||||
X-Robots-Tag "noindex, noarchive, nofollow"
|
X-Robots-Tag "noindex, noarchive, nofollow"
|
||||||
}
|
}
|
||||||
root * ${pkgs.element-web.override {
|
root * ${
|
||||||
conf = {
|
pkgs.element-web.override {
|
||||||
default_server_config."m.homeserver" = {
|
conf = {
|
||||||
"base_url" = "https://broccoli.town";
|
default_server_config."m.homeserver" = {
|
||||||
"server_name" = "broccoli.town";
|
"base_url" = "https://broccoli.town";
|
||||||
|
"server_name" = "broccoli.town";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
file_server
|
file_server
|
||||||
'';
|
'';
|
||||||
@@ -57,7 +59,6 @@
|
|||||||
file_server
|
file_server
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,14 +1,17 @@
|
|||||||
{ config, pkgs, lib, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ # Include the results of the hardware scan.
|
pkgs,
|
||||||
../common
|
lib,
|
||||||
./hardware-configuration.nix
|
...
|
||||||
./caddy.nix
|
}: {
|
||||||
./synapse.nix
|
imports = [
|
||||||
./syncthing.nix
|
# Include the results of the hardware scan.
|
||||||
];
|
../common
|
||||||
|
./hardware-configuration.nix
|
||||||
|
./caddy.nix
|
||||||
|
./synapse.nix
|
||||||
|
./syncthing.nix
|
||||||
|
];
|
||||||
|
|
||||||
# Force disable the common boot loader
|
# Force disable the common boot loader
|
||||||
boot.loader.systemd-boot.enable = lib.mkForce false;
|
boot.loader.systemd-boot.enable = lib.mkForce false;
|
||||||
@@ -29,6 +32,4 @@
|
|||||||
];
|
];
|
||||||
|
|
||||||
system.stateVersion = "21.11"; # Did you read the comment?
|
system.stateVersion = "21.11"; # Did you read the comment?
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,24 +1,28 @@
|
|||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ (modulesPath + "/profiles/qemu-guest.nix")
|
lib,
|
||||||
];
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/profiles/qemu-guest.nix")
|
||||||
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" ];
|
boot.initrd.availableKernelModules = ["ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod"];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = [ ];
|
boot.kernelModules = [];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-uuid/f91229ad-de6b-49ad-8858-e49fea85e8a1";
|
device = "/dev/disk/by-uuid/f91229ad-de6b-49ad-8858-e49fea85e8a1";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [ ];
|
swapDevices = [];
|
||||||
|
|
||||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,11 @@
|
|||||||
{ config, pkgs, lib, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
services.grafana = {
|
services.grafana = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
services.prometheus = {
|
services.prometheus = {
|
||||||
@@ -14,9 +17,11 @@
|
|||||||
{
|
{
|
||||||
job_name = "synapse";
|
job_name = "synapse";
|
||||||
metrics_path = "/_synapse/metrics";
|
metrics_path = "/_synapse/metrics";
|
||||||
static_configs = [{
|
static_configs = [
|
||||||
targets = ["localhost:9000"];
|
{
|
||||||
}];
|
targets = ["localhost:9000"];
|
||||||
|
}
|
||||||
|
];
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,5 +1,9 @@
|
|||||||
{ config, pkgs, lib, ... }:
|
{
|
||||||
let
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
fqdn = "matrix.broccoli.town";
|
fqdn = "matrix.broccoli.town";
|
||||||
in {
|
in {
|
||||||
services.matrix-synapse = {
|
services.matrix-synapse = {
|
||||||
@@ -16,7 +20,7 @@ in {
|
|||||||
x_forwarded = true;
|
x_forwarded = true;
|
||||||
resources = [
|
resources = [
|
||||||
{
|
{
|
||||||
names = [ "client" "federation" ];
|
names = ["client" "federation"];
|
||||||
compress = false;
|
compress = false;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,5 +1,9 @@
|
|||||||
{ config, pkgs, lib, ... }:
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
services.syncthing = {
|
services.syncthing = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,16 +1,17 @@
|
|||||||
# Edit this configuration file to define what should be installed on
|
# Edit this configuration file to define what should be installed on
|
||||||
# your system. Help is available in the configuration.nix(5) man page
|
# your system. Help is available in the configuration.nix(5) man page
|
||||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||||
|
|
||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ # Include the results of the hardware scan.
|
pkgs,
|
||||||
./hardware-configuration.nix
|
...
|
||||||
../common
|
}: {
|
||||||
../common/graphical
|
imports = [
|
||||||
];
|
# Include the results of the hardware scan.
|
||||||
|
./hardware-configuration.nix
|
||||||
|
../common
|
||||||
|
../common/graphical
|
||||||
|
];
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
hostName = "miniding";
|
hostName = "miniding";
|
||||||
@@ -30,4 +31,3 @@
|
|||||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||||
system.stateVersion = "21.05"; # Did you read the comment?
|
system.stateVersion = "21.05"; # Did you read the comment?
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,28 +1,31 @@
|
|||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
lib,
|
||||||
];
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usb_storage" "sd_mod" ];
|
boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "usb_storage" "sd_mod"];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = ["kvm-intel"];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-uuid/6a362ee7-854b-4a5b-8989-e65af01b9b99";
|
device = "/dev/disk/by-uuid/6a362ee7-854b-4a5b-8989-e65af01b9b99";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/disk/by-uuid/C103-FFC1";
|
device = "/dev/disk/by-uuid/C103-FFC1";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [ ];
|
|
||||||
|
|
||||||
|
swapDevices = [];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,16 +1,17 @@
|
|||||||
# Edit this configuration file to define what should be installed on
|
# Edit this configuration file to define what should be installed on
|
||||||
# your system. Help is available in the configuration.nix(5) man page
|
# your system. Help is available in the configuration.nix(5) man page
|
||||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||||
|
|
||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ # Include the results of the hardware scan.
|
pkgs,
|
||||||
./hardware-configuration.nix
|
...
|
||||||
../common
|
}: {
|
||||||
../common/graphical
|
imports = [
|
||||||
];
|
# Include the results of the hardware scan.
|
||||||
|
./hardware-configuration.nix
|
||||||
|
../common
|
||||||
|
../common/graphical
|
||||||
|
];
|
||||||
|
|
||||||
powerManagement = {
|
powerManagement = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -55,6 +56,4 @@
|
|||||||
# Before changing this value read the documentation for this option
|
# Before changing this value read the documentation for this option
|
||||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||||
system.stateVersion = "21.05"; # Did you read the comment?
|
system.stateVersion = "21.05"; # Did you read the comment?
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,29 +1,33 @@
|
|||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
lib,
|
||||||
];
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ];
|
boot.initrd.availableKernelModules = ["xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod"];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = ["kvm-intel"];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-uuid/3d0e0831-a08a-4d97-ad5b-d07448346dee";
|
device = "/dev/disk/by-uuid/3d0e0831-a08a-4d97-ad5b-d07448346dee";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/disk/by-uuid/C4F1-BE4C";
|
device = "/dev/disk/by-uuid/C4F1-BE4C";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [ ];
|
swapDevices = [];
|
||||||
|
|
||||||
# The global useDHCP flag is deprecated, therefore explicitly set to false here.
|
# 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
|
# Per-interface useDHCP will be mandatory in the future, so this generated config
|
||||||
|
|||||||
@@ -1,192 +1,205 @@
|
|||||||
{ config, lib, pkgs, ...}:
|
{
|
||||||
|
config,
|
||||||
let
|
lib,
|
||||||
mod = "Mod4";
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
mod = "Mod4";
|
||||||
in {
|
in {
|
||||||
|
home.file = {
|
||||||
|
"bin/scripts/goup" = {
|
||||||
|
source = ./goup;
|
||||||
|
executable = true;
|
||||||
|
};
|
||||||
|
"bin/scripts/godown" = {
|
||||||
|
source = ./godown;
|
||||||
|
executable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
xsession = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
home.file = {
|
windowManager.i3 = {
|
||||||
"bin/scripts/goup" = {
|
enable = true;
|
||||||
source = ./goup;
|
package = pkgs.i3-gaps;
|
||||||
executable = true;
|
config = {
|
||||||
};
|
bars = [
|
||||||
"bin/scripts/godown" = {
|
{
|
||||||
source = ./godown;
|
colors = {
|
||||||
executable = true;
|
background = "#282A36";
|
||||||
};
|
statusline = "#F8F8F2";
|
||||||
};
|
separator = "#44475A";
|
||||||
xsession = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
windowManager.i3 = {
|
activeWorkspace = {
|
||||||
enable = true;
|
border = "#282A36";
|
||||||
package = pkgs.i3-gaps;
|
background = "#44475A";
|
||||||
config = {
|
text = "#F8F8F2";
|
||||||
bars = [
|
};
|
||||||
{
|
focusedWorkspace = {
|
||||||
colors = {
|
border = "#44475A";
|
||||||
background = "#282A36";
|
background = "#44475A";
|
||||||
statusline = "#F8F8F2";
|
text = "#F8F8F2";
|
||||||
separator = "#44475A";
|
};
|
||||||
|
inactiveWorkspace = {
|
||||||
|
border = "#282A36";
|
||||||
|
background = "#282A36";
|
||||||
|
text = "#BFBFBF";
|
||||||
|
};
|
||||||
|
urgentWorkspace = {
|
||||||
|
border = "#FF5555";
|
||||||
|
background = "#FF5555";
|
||||||
|
text = "#F8F8F2";
|
||||||
|
};
|
||||||
|
bindingMode = {
|
||||||
|
border = "#FF5555";
|
||||||
|
background = "#FF5555";
|
||||||
|
text = "#F8F8F2";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
fonts = {
|
||||||
|
size = 11.0;
|
||||||
|
};
|
||||||
|
statusCommand = "${pkgs.i3status-rust}/bin/i3status-rs /home/daniel/.config/i3status-rust/config-main.toml";
|
||||||
|
position = "top";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
colors = {
|
||||||
|
focused = {
|
||||||
|
border = "#6272A4";
|
||||||
|
background = "#6272A4";
|
||||||
|
text = "#F8F8F2";
|
||||||
|
indicator = "#6272A4";
|
||||||
|
childBorder = "#6272A4";
|
||||||
|
};
|
||||||
|
focusedInactive = {
|
||||||
|
border = "#44475A";
|
||||||
|
background = "#44475A";
|
||||||
|
text = "#F8F8F2";
|
||||||
|
indicator = "#44475A";
|
||||||
|
childBorder = "#44475A";
|
||||||
|
};
|
||||||
|
unfocused = {
|
||||||
|
border = "#282A36";
|
||||||
|
background = "#282A36";
|
||||||
|
text = "#BFBFBF";
|
||||||
|
indicator = "#282A36";
|
||||||
|
childBorder = "#282A36";
|
||||||
|
};
|
||||||
|
urgent = {
|
||||||
|
border = "#44475A";
|
||||||
|
background = "#FF5555";
|
||||||
|
text = "#F8F8F2";
|
||||||
|
indicator = "#FF5555";
|
||||||
|
childBorder = "#FF5555";
|
||||||
|
};
|
||||||
|
placeholder = {
|
||||||
|
border = "#282A36";
|
||||||
|
background = "#282A36";
|
||||||
|
text = "#F8F8F2";
|
||||||
|
indicator = "#282A36";
|
||||||
|
childBorder = "#282A36";
|
||||||
|
};
|
||||||
|
background = "#F8F8F2";
|
||||||
|
};
|
||||||
|
|
||||||
activeWorkspace = {
|
defaultWorkspace = "workspace number 1";
|
||||||
border = "#282A36";
|
|
||||||
background = "#44475A";
|
|
||||||
text = "#F8F8F2";
|
|
||||||
};
|
|
||||||
focusedWorkspace = {
|
|
||||||
border = "#44475A";
|
|
||||||
background = "#44475A";
|
|
||||||
text = "#F8F8F2";
|
|
||||||
};
|
|
||||||
inactiveWorkspace = {
|
|
||||||
border = "#282A36";
|
|
||||||
background = "#282A36";
|
|
||||||
text = "#BFBFBF";
|
|
||||||
};
|
|
||||||
urgentWorkspace = {
|
|
||||||
border = "#FF5555";
|
|
||||||
background = "#FF5555";
|
|
||||||
text = "#F8F8F2";
|
|
||||||
};
|
|
||||||
bindingMode = {
|
|
||||||
border = "#FF5555";
|
|
||||||
background = "#FF5555";
|
|
||||||
text = "#F8F8F2";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
fonts = {
|
|
||||||
size = 11.0;
|
|
||||||
};
|
|
||||||
statusCommand = "${pkgs.i3status-rust}/bin/i3status-rs /home/daniel/.config/i3status-rust/config-main.toml";
|
|
||||||
position = "top";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
colors = {
|
|
||||||
focused = {
|
|
||||||
border = "#6272A4";
|
|
||||||
background = "#6272A4";
|
|
||||||
text = "#F8F8F2";
|
|
||||||
indicator = "#6272A4";
|
|
||||||
childBorder = "#6272A4";
|
|
||||||
};
|
|
||||||
focusedInactive = {
|
|
||||||
border = "#44475A";
|
|
||||||
background = "#44475A";
|
|
||||||
text = "#F8F8F2";
|
|
||||||
indicator = "#44475A";
|
|
||||||
childBorder = "#44475A";
|
|
||||||
};
|
|
||||||
unfocused = {
|
|
||||||
border = "#282A36";
|
|
||||||
background = "#282A36";
|
|
||||||
text = "#BFBFBF";
|
|
||||||
indicator = "#282A36";
|
|
||||||
childBorder = "#282A36";
|
|
||||||
};
|
|
||||||
urgent = {
|
|
||||||
border = "#44475A";
|
|
||||||
background = "#FF5555";
|
|
||||||
text = "#F8F8F2";
|
|
||||||
indicator = "#FF5555";
|
|
||||||
childBorder = "#FF5555";
|
|
||||||
};
|
|
||||||
placeholder = {
|
|
||||||
border = "#282A36";
|
|
||||||
background = "#282A36";
|
|
||||||
text = "#F8F8F2";
|
|
||||||
indicator = "#282A36";
|
|
||||||
childBorder = "#282A36";
|
|
||||||
};
|
|
||||||
background = "#F8F8F2";
|
|
||||||
};
|
|
||||||
|
|
||||||
defaultWorkspace = "workspace number 1";
|
floating = {
|
||||||
|
modifier = mod;
|
||||||
|
criteria = [
|
||||||
|
{instance = "pavucontrol";}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
floating = {
|
focus = {
|
||||||
modifier = mod;
|
followMouse = false;
|
||||||
criteria = [
|
};
|
||||||
{ instance = "pavucontrol"; }
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
focus = {
|
fonts = {
|
||||||
followMouse = false;
|
names = ["pango:monospace 8"];
|
||||||
};
|
style = "monospace";
|
||||||
|
size = 8.0;
|
||||||
|
};
|
||||||
|
|
||||||
fonts = {
|
gaps = {
|
||||||
names = [ "pango:monospace 8" ];
|
outer = lib.mkDefault 10;
|
||||||
style = "monospace";
|
inner = lib.mkDefault 5;
|
||||||
size = 8.0;
|
smartBorders = "on";
|
||||||
};
|
};
|
||||||
|
|
||||||
gaps = {
|
keybindings = lib.mkOptionDefault {
|
||||||
outer = lib.mkDefault 10;
|
"${mod}+q" = "kill";
|
||||||
inner = lib.mkDefault 5;
|
"${mod}+d" = "exec rofi -show drun";
|
||||||
smartBorders = "on";
|
|
||||||
};
|
|
||||||
|
|
||||||
keybindings = lib.mkOptionDefault {
|
"${mod}+h" = "focus left";
|
||||||
"${mod}+q" = "kill";
|
"${mod}+j" = "focus down";
|
||||||
"${mod}+d" = "exec rofi -show drun";
|
"${mod}+k" = "focus up";
|
||||||
|
"${mod}+l" = "focus right";
|
||||||
|
|
||||||
"${mod}+h" = "focus left";
|
"${mod}+Shift+h" = "move left";
|
||||||
"${mod}+j" = "focus down";
|
"${mod}+Shift+l" = "move right";
|
||||||
"${mod}+k" = "focus up";
|
|
||||||
"${mod}+l" = "focus right";
|
|
||||||
|
|
||||||
"${mod}+Shift+h" = "move left";
|
"${mod}+Tab" = "workspace back_and_forth";
|
||||||
"${mod}+Shift+l" = "move right";
|
|
||||||
|
|
||||||
"${mod}+Tab" = "workspace back_and_forth";
|
"${mod}+b" = "split h";
|
||||||
|
"${mod}+v" = "split v";
|
||||||
|
"${mod}+Control+Return" = "exec --no-startup-id i3utils workspace new";
|
||||||
|
"${mod}+Control+Shift+Return" = "exec --no-startup-id i3utils workspace new -b";
|
||||||
|
"${mod}+Shift+Return" = "exec --no-startup-id i3utils workspace new -n, move next";
|
||||||
|
|
||||||
"${mod}+b" = "split h";
|
"${mod}+Control+j" = "exec --no-startup-id $HOME/bin/scripts/godown";
|
||||||
"${mod}+v" = "split v";
|
"${mod}+Control+k" = "exec --no-startup-id $HOME/bin/scripts/goup";
|
||||||
"${mod}+Control+Return" = "exec --no-startup-id i3utils workspace new";
|
"${mod}+Control+h" = "exec --no-startup-id i3utils workspace new -b";
|
||||||
"${mod}+Control+Shift+Return" = "exec --no-startup-id i3utils workspace new -b";
|
|
||||||
"${mod}+Shift+Return" = "exec --no-startup-id i3utils workspace new -n, move next";
|
|
||||||
|
|
||||||
"${mod}+Control+j" = "exec --no-startup-id $HOME/bin/scripts/godown";
|
"${mod}+Shift+k" = "exec --no-startup-id i3utils window move prev";
|
||||||
"${mod}+Control+k" = "exec --no-startup-id $HOME/bin/scripts/goup";
|
"${mod}+Shift+j" = "exec --no-startup-id i3utils window move next";
|
||||||
"${mod}+Control+h" = "exec --no-startup-id i3utils workspace new -b";
|
|
||||||
|
|
||||||
"${mod}+Shift+k" = "exec --no-startup-id i3utils window move prev";
|
"${mod}+p" = "scratchpad show";
|
||||||
"${mod}+Shift+j" = "exec --no-startup-id i3utils window move next";
|
|
||||||
|
|
||||||
"${mod}+p" = "scratchpad show";
|
"${mod}+Escape" = "exec loginctl lock-session";
|
||||||
|
|
||||||
"${mod}+Escape" = "exec loginctl lock-session";
|
"XF86MonBrightnessUp" = "exec xbacklight -inc 10";
|
||||||
|
"XF86MonBrightnessDown" = "exec xbacklight -dec 10";
|
||||||
|
"XF86AudioMute" = "exec pamixer -t";
|
||||||
|
"XF86AudioLowerVolume" = "exec pamixer -d 10";
|
||||||
|
"XF86AudioRaiseVolume" = "exec pamixer -i 10";
|
||||||
|
"XF86AudioPrev" = "exec playerctl previous";
|
||||||
|
"XF86AudioPlay" = "exec playerctl play-pause";
|
||||||
|
"XF86AudioNext" = "exec playerctl next";
|
||||||
|
|
||||||
"XF86MonBrightnessUp" = "exec xbacklight -inc 10";
|
"Mod1+Shift+4" = "exec flameshot gui -s -p ~/Pictures/screenshots";
|
||||||
"XF86MonBrightnessDown" = "exec xbacklight -dec 10";
|
};
|
||||||
"XF86AudioMute" = "exec pamixer -t";
|
|
||||||
"XF86AudioLowerVolume" = "exec pamixer -d 10";
|
|
||||||
"XF86AudioRaiseVolume" = "exec pamixer -i 10";
|
|
||||||
"XF86AudioPrev" = "exec playerctl previous";
|
|
||||||
"XF86AudioPlay" = "exec playerctl play-pause";
|
|
||||||
"XF86AudioNext" = "exec playerctl next";
|
|
||||||
|
|
||||||
"Mod1+Shift+4" = "exec flameshot gui -s -p ~/Pictures/screenshots";
|
modifier = mod;
|
||||||
};
|
|
||||||
|
|
||||||
modifier = mod;
|
startup = [
|
||||||
|
{
|
||||||
|
command = "$HOME/bin/scripts/flower";
|
||||||
|
always = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = "feh --bg-fill $HOME/wallpapers/wallpaper.jpg";
|
||||||
|
always = false;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
startup = [
|
terminal = "kitty";
|
||||||
{ command = "$HOME/bin/scripts/flower"; always = true; }
|
|
||||||
{ command = "feh --bg-fill $HOME/wallpapers/wallpaper.jpg"; always = false; }
|
|
||||||
];
|
|
||||||
|
|
||||||
terminal = "kitty";
|
window = {
|
||||||
|
border = lib.mkDefault 2;
|
||||||
window = {
|
titlebar = false;
|
||||||
border = lib.mkDefault 2;
|
commands = [
|
||||||
titlebar = false;
|
{
|
||||||
commands = [
|
command = "move position center #2116 46";
|
||||||
{ command = "move position center #2116 46"; criteria = { class = "jetbrains-toolbox"; }; }
|
criteria = {class = "jetbrains-toolbox";};
|
||||||
{ command = "move scratchpad"; criteria = { instance = "spotify"; }; }
|
}
|
||||||
];
|
{
|
||||||
};
|
command = "move scratchpad";
|
||||||
|
criteria = {instance = "spotify";};
|
||||||
};
|
}
|
||||||
};
|
];
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
programs.i3status-rust = {
|
config,
|
||||||
enable = true;
|
pkgs,
|
||||||
bars = {
|
...
|
||||||
|
}: {
|
||||||
|
programs.i3status-rust = {
|
||||||
|
enable = true;
|
||||||
|
bars = {
|
||||||
main = {
|
main = {
|
||||||
theme = "dracula";
|
theme = "dracula";
|
||||||
icons = "awesome";
|
icons = "awesome";
|
||||||
@@ -37,13 +39,13 @@
|
|||||||
{
|
{
|
||||||
block = "music";
|
block = "music";
|
||||||
player = "spotify";
|
player = "spotify";
|
||||||
buttons = [ "prev" "play" "next" ];
|
buttons = ["prev" "play" "next"];
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
block = "sound";
|
block = "sound";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,20 +1,16 @@
|
|||||||
{pkgs, ...}:
|
{pkgs, ...}: {
|
||||||
|
services.polybar = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
{
|
package = pkgs.polybar.override {
|
||||||
services.polybar = {
|
i3Support = true;
|
||||||
enable = true;
|
pulseSupport = true;
|
||||||
|
};
|
||||||
|
|
||||||
package = pkgs.polybar.override {
|
script = ''
|
||||||
i3Support = true;
|
polybar main & disown
|
||||||
pulseSupport = true;
|
'';
|
||||||
};
|
|
||||||
|
|
||||||
script = ''
|
config = ./config;
|
||||||
polybar main & disown
|
};
|
||||||
'';
|
|
||||||
|
|
||||||
config = ./config;
|
|
||||||
|
|
||||||
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
|
|
||||||
{
|
|
||||||
programs.rofi = {
|
programs.rofi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
theme = ./colour.rasi;
|
theme = ./colour.rasi;
|
||||||
|
|||||||
@@ -1,88 +1,86 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
|
programs.alacritty = {
|
||||||
|
enable = false;
|
||||||
|
settings = {
|
||||||
|
font = {
|
||||||
|
normal = {
|
||||||
|
family = "Iosevka";
|
||||||
|
style = "Regular";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
{
|
cursor = {
|
||||||
programs.alacritty = {
|
style = {
|
||||||
enable = false;
|
shape = "Underline";
|
||||||
settings = {
|
};
|
||||||
font = {
|
};
|
||||||
normal = {
|
|
||||||
family = "Iosevka";
|
|
||||||
style = "Regular";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
cursor = {
|
colors = {
|
||||||
style= {
|
primary = {
|
||||||
shape = "Underline";
|
background = "0x282a36";
|
||||||
};
|
foreground = "0xf8f8f2";
|
||||||
};
|
};
|
||||||
|
cursor = {
|
||||||
colors = {
|
text = "CellBackground";
|
||||||
primary = {
|
cursor = "CellForeground";
|
||||||
background = "0x282a36";
|
};
|
||||||
foreground = "0xf8f8f2";
|
vi_mode_cursor = {
|
||||||
};
|
text = "CellBackground";
|
||||||
cursor = {
|
cursor = "CellForeground";
|
||||||
text = "CellBackground";
|
};
|
||||||
cursor = "CellForeground";
|
search = {
|
||||||
};
|
matches = {
|
||||||
vi_mode_cursor = {
|
foreground = "0x44475a";
|
||||||
text = "CellBackground";
|
background = "0x50fa7b";
|
||||||
cursor = "CellForeground";
|
};
|
||||||
};
|
focused_match = {
|
||||||
search = {
|
foreground = "0x44475a";
|
||||||
matches = {
|
background = "0xffb86c";
|
||||||
foreground = "0x44475a";
|
};
|
||||||
background = "0x50fa7b";
|
bar = {
|
||||||
};
|
background = "0x282a36";
|
||||||
focused_match = {
|
foreground = "0xf8f8f2";
|
||||||
foreground = "0x44475a";
|
};
|
||||||
background = "0xffb86c";
|
};
|
||||||
};
|
line_indicator = {
|
||||||
bar = {
|
foreground = "None";
|
||||||
background = "0x282a36";
|
background = "None";
|
||||||
foreground = "0xf8f8f2";
|
};
|
||||||
};
|
selection = {
|
||||||
};
|
text = "CellForeground";
|
||||||
line_indicator = {
|
background = "0x44475a";
|
||||||
foreground = "None";
|
};
|
||||||
background = "None";
|
normal = {
|
||||||
};
|
black = "0x000000";
|
||||||
selection = {
|
red = "0xff5555";
|
||||||
text = "CellForeground";
|
green = "0x50fa7b";
|
||||||
background = "0x44475a";
|
yellow = "0xf1fa8c";
|
||||||
};
|
blue = "0xbd93f9";
|
||||||
normal = {
|
magenta = "0xff79c6";
|
||||||
black = "0x000000";
|
cyan = "0x8be9fd";
|
||||||
red = "0xff5555";
|
white = "0xbfbfbf";
|
||||||
green = "0x50fa7b";
|
};
|
||||||
yellow = "0xf1fa8c";
|
bright = {
|
||||||
blue = "0xbd93f9";
|
black = "0x4d4d4d";
|
||||||
magenta = "0xff79c6";
|
red = "0xff6e67";
|
||||||
cyan = "0x8be9fd";
|
green = "0x5af78e";
|
||||||
white = "0xbfbfbf";
|
yellow = "0xf4f99d";
|
||||||
};
|
blue = "0xcaa9fa";
|
||||||
bright = {
|
magenta = "0xff92d0";
|
||||||
black = "0x4d4d4d";
|
cyan = "0x9aedfe";
|
||||||
red = "0xff6e67";
|
white = "0xe6e6e6";
|
||||||
green = "0x5af78e";
|
};
|
||||||
yellow = "0xf4f99d";
|
dim = {
|
||||||
blue = "0xcaa9fa";
|
black = "0x14151b";
|
||||||
magenta = "0xff92d0";
|
red = "0xff2222";
|
||||||
cyan = "0x9aedfe";
|
green = "0x1ef956";
|
||||||
white = "0xe6e6e6";
|
yellow = "0xebf85b";
|
||||||
};
|
blue = "0x4d5b86";
|
||||||
dim = {
|
magenta = "0xff46b0";
|
||||||
black = "0x14151b";
|
cyan = "0x59dffc";
|
||||||
red = "0xff2222";
|
white = "0xe6e6d1";
|
||||||
green = "0x1ef956";
|
};
|
||||||
yellow = "0xebf85b";
|
};
|
||||||
blue = "0x4d5b86";
|
};
|
||||||
magenta = "0xff46b0";
|
};
|
||||||
cyan = "0x59dffc";
|
|
||||||
white = "0xe6e6d1";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
{...}:
|
{...}: {
|
||||||
{
|
|
||||||
home.file.".config/helix" = {
|
home.file.".config/helix" = {
|
||||||
source = ./config;
|
source = ./config;
|
||||||
recursive = true;
|
recursive = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
|
|
||||||
{
|
|
||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
font = {
|
font = {
|
||||||
|
|||||||
@@ -1,31 +1,30 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
|
programs.neovim = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
{
|
plugins = with pkgs.vimPlugins; [
|
||||||
programs.neovim = {
|
(nvim-treesitter.withPlugins (
|
||||||
enable = true;
|
plugins:
|
||||||
|
with plugins; [
|
||||||
|
#tree-sitter-nix
|
||||||
|
tree-sitter-go
|
||||||
|
tree-sitter-c
|
||||||
|
tree-sitter-rust
|
||||||
|
tree-sitter-vim
|
||||||
|
tree-sitter-lua
|
||||||
|
tree-sitter-python
|
||||||
|
tree-sitter-html
|
||||||
|
tree-sitter-json
|
||||||
|
tree-sitter-markdown
|
||||||
|
tree-sitter-javascript
|
||||||
|
tree-sitter-typescript
|
||||||
|
]
|
||||||
|
))
|
||||||
|
vim-nix
|
||||||
|
|
||||||
plugins = with pkgs.vimPlugins; [
|
nvim-lspconfig
|
||||||
(nvim-treesitter.withPlugins (
|
];
|
||||||
plugins: with plugins; [
|
viAlias = true;
|
||||||
#tree-sitter-nix
|
vimAlias = true;
|
||||||
tree-sitter-go
|
};
|
||||||
tree-sitter-c
|
|
||||||
tree-sitter-rust
|
|
||||||
tree-sitter-vim
|
|
||||||
tree-sitter-lua
|
|
||||||
tree-sitter-python
|
|
||||||
tree-sitter-html
|
|
||||||
tree-sitter-json
|
|
||||||
tree-sitter-markdown
|
|
||||||
tree-sitter-javascript
|
|
||||||
tree-sitter-typescript
|
|
||||||
]
|
|
||||||
))
|
|
||||||
vim-nix
|
|
||||||
|
|
||||||
nvim-lspconfig
|
|
||||||
];
|
|
||||||
viAlias = true;
|
|
||||||
vimAlias = true;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,156 +1,157 @@
|
|||||||
{ pkgs, lib, fetchurl, hostname, headless, ... }:
|
|
||||||
let
|
|
||||||
cliPackages = with pkgs; [
|
|
||||||
aerc
|
|
||||||
entr
|
|
||||||
go_1_18
|
|
||||||
gomuks
|
|
||||||
gopls
|
|
||||||
oh-my-zsh
|
|
||||||
(
|
|
||||||
let
|
|
||||||
my-python-packages = python-packages: with python-packages; [
|
|
||||||
tkinter
|
|
||||||
requests
|
|
||||||
];
|
|
||||||
python-with-my-packages = python3.withPackages my-python-packages;
|
|
||||||
in
|
|
||||||
python-with-my-packages
|
|
||||||
)
|
|
||||||
ranger
|
|
||||||
restic
|
|
||||||
rust-analyzer
|
|
||||||
starship
|
|
||||||
];
|
|
||||||
|
|
||||||
guiPackages = with pkgs; [
|
|
||||||
_1password
|
|
||||||
_1password-gui
|
|
||||||
discord
|
|
||||||
feh
|
|
||||||
iosevka
|
|
||||||
jetbrains.goland
|
|
||||||
mpv
|
|
||||||
nerdfonts
|
|
||||||
pamixer
|
|
||||||
pavucontrol
|
|
||||||
playerctl
|
|
||||||
spotify
|
|
||||||
xclip
|
|
||||||
];
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
imports = [
|
pkgs,
|
||||||
|
lib,
|
||||||
|
fetchurl,
|
||||||
|
hostname,
|
||||||
|
headless,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
cliPackages = with pkgs; [
|
||||||
|
aerc
|
||||||
|
entr
|
||||||
|
go_1_18
|
||||||
|
gomuks
|
||||||
|
gopls
|
||||||
|
oh-my-zsh
|
||||||
|
(
|
||||||
|
let
|
||||||
|
my-python-packages = python-packages:
|
||||||
|
with python-packages; [
|
||||||
|
tkinter
|
||||||
|
requests
|
||||||
|
];
|
||||||
|
python-with-my-packages = python3.withPackages my-python-packages;
|
||||||
|
in
|
||||||
|
python-with-my-packages
|
||||||
|
)
|
||||||
|
ranger
|
||||||
|
restic
|
||||||
|
rust-analyzer
|
||||||
|
starship
|
||||||
|
];
|
||||||
|
|
||||||
./configs/system
|
guiPackages = with pkgs; [
|
||||||
|
_1password
|
||||||
|
_1password-gui
|
||||||
|
discord
|
||||||
|
feh
|
||||||
|
iosevka
|
||||||
|
jetbrains.goland
|
||||||
|
mpv
|
||||||
|
nerdfonts
|
||||||
|
pamixer
|
||||||
|
pavucontrol
|
||||||
|
playerctl
|
||||||
|
spotify
|
||||||
|
xclip
|
||||||
|
];
|
||||||
|
in {
|
||||||
|
imports =
|
||||||
|
[
|
||||||
|
./configs/system
|
||||||
|
]
|
||||||
|
++ lib.optionals (!headless) [
|
||||||
|
./configs/desktop
|
||||||
|
]
|
||||||
|
++ lib.optionals (builtins.pathExists ./host-specific/${hostname}) [
|
||||||
|
./host-specific/${hostname}
|
||||||
|
];
|
||||||
|
|
||||||
] ++ lib.optionals (!headless) [
|
home = {
|
||||||
|
username = "daniel";
|
||||||
|
homeDirectory = "/home/daniel";
|
||||||
|
sessionPath = [
|
||||||
|
"$HOME/go/bin"
|
||||||
|
];
|
||||||
|
|
||||||
./configs/desktop
|
file = {
|
||||||
|
".icons/default".source = "${pkgs.capitaine-cursors}/share/icons/capitaine-cursors";
|
||||||
|
|
||||||
] ++ lib.optionals (builtins.pathExists ./host-specific/${hostname}) [
|
"bin/update" = {
|
||||||
|
source = ../../scripts/update;
|
||||||
|
executable = true;
|
||||||
|
};
|
||||||
|
|
||||||
./host-specific/${hostname}
|
"bin/supdate" = {
|
||||||
|
source = ../../scripts/supdate;
|
||||||
|
executable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
];
|
packages = cliPackages ++ lib.optionals (!headless) guiPackages;
|
||||||
|
|
||||||
home = {
|
keyboard = {
|
||||||
username = "daniel";
|
layout = "gb";
|
||||||
homeDirectory = "/home/daniel";
|
options = [
|
||||||
sessionPath = [
|
"caps:escape"
|
||||||
"$HOME/go/bin"
|
];
|
||||||
];
|
};
|
||||||
|
|
||||||
file = {
|
stateVersion = "21.05";
|
||||||
".icons/default".source = "${pkgs.capitaine-cursors}/share/icons/capitaine-cursors";
|
};
|
||||||
|
|
||||||
"bin/update" = {
|
programs = {
|
||||||
source = ../../scripts/update;
|
# Let Home Manager install and manage itself.
|
||||||
executable = true;
|
home-manager.enable = true;
|
||||||
};
|
|
||||||
|
|
||||||
"bin/supdate" = {
|
fzf = {
|
||||||
source = ../../scripts/supdate;
|
enable = true;
|
||||||
executable = true;
|
enableZshIntegration = true;
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
packages = cliPackages ++ lib.optionals (!headless) guiPackages;
|
git = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.gitFull;
|
||||||
|
userName = "Daniel Patterson";
|
||||||
|
userEmail = "me@danielpatterson.dev";
|
||||||
|
extraConfig = {
|
||||||
|
pull.rebase = true;
|
||||||
|
init.defaultBranch = "main";
|
||||||
|
format.signOff = "yes";
|
||||||
|
sendemail = {
|
||||||
|
smtpUser = "me@danielpatterson.dev";
|
||||||
|
smtpServer = "smtp.fastmail.com";
|
||||||
|
smtpEncryption = "tls";
|
||||||
|
smtpServerPort = 587;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
keyboard = {
|
lazygit = {
|
||||||
layout = "gb";
|
enable = true;
|
||||||
options = [
|
settings = {
|
||||||
"caps:escape"
|
gui = {
|
||||||
];
|
showFileTree = false;
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
stateVersion = "21.05";
|
starship.enable = true;
|
||||||
};
|
|
||||||
|
|
||||||
programs = {
|
vscode.enable = true;
|
||||||
|
|
||||||
# Let Home Manager install and manage itself.
|
zsh = {
|
||||||
home-manager.enable = true;
|
enable = true;
|
||||||
|
enableAutosuggestions = true;
|
||||||
|
oh-my-zsh = {
|
||||||
|
enable = true;
|
||||||
|
plugins = ["git" "fzf"];
|
||||||
|
theme = "agnoster";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
fzf = {
|
services = {
|
||||||
enable = true;
|
dunst.enable = true;
|
||||||
enableZshIntegration = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
git = {
|
syncthing = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.gitFull;
|
};
|
||||||
userName = "Daniel Patterson";
|
|
||||||
userEmail = "me@danielpatterson.dev";
|
|
||||||
extraConfig = {
|
|
||||||
pull.rebase = true;
|
|
||||||
init.defaultBranch = "main";
|
|
||||||
format.signOff = "yes";
|
|
||||||
sendemail = {
|
|
||||||
smtpUser = "me@danielpatterson.dev";
|
|
||||||
smtpServer = "smtp.fastmail.com";
|
|
||||||
smtpEncryption = "tls";
|
|
||||||
smtpServerPort = 587;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
lazygit = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
gui = {
|
|
||||||
showFileTree = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
starship.enable = true;
|
|
||||||
|
|
||||||
vscode.enable = true;
|
|
||||||
|
|
||||||
zsh = {
|
|
||||||
enable = true;
|
|
||||||
enableAutosuggestions = true;
|
|
||||||
oh-my-zsh = {
|
|
||||||
enable = true;
|
|
||||||
plugins = [ "git" "fzf" ];
|
|
||||||
theme = "agnoster";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
services ={
|
|
||||||
dunst.enable = true;
|
|
||||||
|
|
||||||
syncthing = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
screen-locker = {
|
|
||||||
enable = true;
|
|
||||||
lockCmd = "${pkgs.i3lock}/bin/i3lock -i /home/daniel/wallpapers/lock.png";
|
|
||||||
inactiveInterval = 60;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
|
screen-locker = {
|
||||||
|
enable = true;
|
||||||
|
lockCmd = "${pkgs.i3lock}/bin/i3lock -i /home/daniel/wallpapers/lock.png";
|
||||||
|
inactiveInterval = 60;
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,15 @@
|
|||||||
{ config, lib, pkgs, ...}:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
home.file = {
|
config,
|
||||||
"wallpapers" = {
|
lib,
|
||||||
source = ./wallpapers;
|
pkgs,
|
||||||
};
|
...
|
||||||
};
|
}: {
|
||||||
|
home.file = {
|
||||||
|
"wallpapers" = {
|
||||||
|
source = ./wallpapers;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
programs.alacritty.settings.font.size = 13;
|
programs.alacritty.settings.font.size = 13;
|
||||||
programs.kitty.font.size = 22;
|
programs.kitty.font.size = 22;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,20 +1,23 @@
|
|||||||
{ config, lib, pkgs, ...}:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
services.picom = {
|
config,
|
||||||
enable = true;
|
lib,
|
||||||
vSync = true;
|
pkgs,
|
||||||
};
|
...
|
||||||
|
}: {
|
||||||
|
services.picom = {
|
||||||
|
enable = true;
|
||||||
|
vSync = true;
|
||||||
|
};
|
||||||
|
|
||||||
xsession.windowManager.i3.config.gaps.outer = 6;
|
xsession.windowManager.i3.config.gaps.outer = 6;
|
||||||
xsession.windowManager.i3.config.gaps.inner = 5;
|
xsession.windowManager.i3.config.gaps.inner = 5;
|
||||||
|
|
||||||
home.file = {
|
home.file = {
|
||||||
wallpapers = {
|
wallpapers = {
|
||||||
source = ./wallpapers;
|
source = ./wallpapers;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.alacritty.settings.font.size = 10;
|
programs.alacritty.settings.font.size = 10;
|
||||||
programs.kitty.font.size = 19;
|
programs.kitty.font.size = 19;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,18 +1,21 @@
|
|||||||
{ config, lib, pkgs, ...}:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
home = {
|
config,
|
||||||
file = {
|
lib,
|
||||||
"wallpapers" = {
|
pkgs,
|
||||||
source = ./wallpapers;
|
...
|
||||||
};
|
}: {
|
||||||
};
|
home = {
|
||||||
};
|
file = {
|
||||||
|
"wallpapers" = {
|
||||||
|
source = ./wallpapers;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
programs.kitty.font.size = 19;
|
programs.kitty.font.size = 19;
|
||||||
|
|
||||||
services.picom = {
|
services.picom = {
|
||||||
enable = true;
|
enable = true;
|
||||||
vSync = true;
|
vSync = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user