style: add alejandra and format
This commit is contained in:
parent
754404ace1
commit
59624111cf
5
Makefile
Normal file
5
Makefile
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
check:
|
||||||
|
alejandra --check ./**/*.nix
|
||||||
|
|
||||||
|
format:
|
||||||
|
alejandra ./**/*.nix
|
96
flake.nix
96
flake.nix
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
utils.url = "github:numtide/flake-utils";
|
utils.url = "github:numtide/flake-utils";
|
||||||
rust-overlay.url = "github:oxalica/rust-overlay";
|
rust-overlay.url = "github:oxalica/rust-overlay";
|
||||||
nix-vscode-extensions.url = "github:nix-community/nix-vscode-extensions";
|
nix-vscode-extensions.url = "github:nix-community/nix-vscode-extensions";
|
||||||
|
|
||||||
nixos-wsl = {
|
nixos-wsl = {
|
||||||
url = "github:nix-community/NixOS-WSL";
|
url = "github:nix-community/NixOS-WSL";
|
||||||
@ -16,10 +16,10 @@
|
|||||||
nixpkgs.follows = "nixpkgs";
|
nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
vscode-server = {
|
vscode-server = {
|
||||||
url = "github:nix-community/nixos-vscode-server";
|
url = "github:nix-community/nixos-vscode-server";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
darwin = {
|
darwin = {
|
||||||
url = "github:lnl7/nix-darwin/master";
|
url = "github:lnl7/nix-darwin/master";
|
||||||
@ -34,20 +34,32 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, unstable, nur, utils, rust-overlay, nix-vscode-extensions, nixos-wsl, vscode-server, darwin, home-manager, ... }@inputs: {
|
outputs = {
|
||||||
|
self,
|
||||||
|
nixpkgs,
|
||||||
|
unstable,
|
||||||
|
nur,
|
||||||
|
utils,
|
||||||
|
rust-overlay,
|
||||||
|
nix-vscode-extensions,
|
||||||
|
nixos-wsl,
|
||||||
|
vscode-server,
|
||||||
|
darwin,
|
||||||
|
home-manager,
|
||||||
|
...
|
||||||
|
} @ inputs: {
|
||||||
# This repo's overlay plus any other overlays you use
|
# This repo's overlay plus any other overlays you use
|
||||||
# If you want to use packages from flakes that are not nixpkgs (such as NUR), add their overlays here.\
|
# If you want to use packages from flakes that are not nixpkgs (such as NUR), add their overlays here.\
|
||||||
overlays = {
|
overlays = {
|
||||||
default = import ./overlays inputs;
|
default = import ./overlays inputs;
|
||||||
pkg-sets = (
|
pkg-sets = (
|
||||||
final: prev: {
|
final: prev: {
|
||||||
unstable = import inputs.unstable { system = final.system; };
|
unstable = import inputs.unstable {system = final.system;};
|
||||||
trunk = import inputs.trunk { system = final.system; };
|
trunk = import inputs.trunk {system = final.system;};
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
rust-overlay = rust-overlay.overlays.default;
|
rust-overlay = rust-overlay.overlays.default;
|
||||||
vscode-extensions = nix-vscode-extensions.overlays.default;
|
vscode-extensions = nix-vscode-extensions.overlays.default;
|
||||||
};
|
};
|
||||||
|
|
||||||
overlaysModule = {
|
overlaysModule = {
|
||||||
@ -55,7 +67,6 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
|
|
||||||
loft = nixpkgs.lib.nixosSystem {
|
loft = nixpkgs.lib.nixosSystem {
|
||||||
system = utils.lib.system.x86_64-linux;
|
system = utils.lib.system.x86_64-linux;
|
||||||
modules = [
|
modules = [
|
||||||
@ -66,7 +77,7 @@
|
|||||||
|
|
||||||
./machines/loft/configuration.nix
|
./machines/loft/configuration.nix
|
||||||
];
|
];
|
||||||
specialArgs = { inherit inputs; };
|
specialArgs = {inherit inputs;};
|
||||||
};
|
};
|
||||||
|
|
||||||
kitchen = nixpkgs.lib.nixosSystem {
|
kitchen = nixpkgs.lib.nixosSystem {
|
||||||
@ -79,7 +90,7 @@
|
|||||||
|
|
||||||
./machines/kitchen/configuration.nix
|
./machines/kitchen/configuration.nix
|
||||||
];
|
];
|
||||||
specialArgs = { inherit inputs; };
|
specialArgs = {inherit inputs;};
|
||||||
};
|
};
|
||||||
|
|
||||||
# WSL environment
|
# WSL environment
|
||||||
@ -88,21 +99,20 @@
|
|||||||
modules = [
|
modules = [
|
||||||
self.overlaysModule
|
self.overlaysModule
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
vscode-server.nixosModules.default
|
vscode-server.nixosModules.default
|
||||||
./modules/containers.nix
|
./modules/containers.nix
|
||||||
./modules/nix.nix
|
./modules/nix.nix
|
||||||
|
|
||||||
./machines/work/configuration.nix
|
./machines/work/configuration.nix
|
||||||
];
|
];
|
||||||
specialArgs = { inherit inputs; };
|
specialArgs = {inherit inputs;};
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
darwinConfigurations = {
|
darwinConfigurations = {
|
||||||
mac = darwin.lib.darwinSystem {
|
mac = darwin.lib.darwinSystem {
|
||||||
system = "aarch64-darwin";
|
system = "aarch64-darwin";
|
||||||
specialArgs = { inherit inputs; };
|
specialArgs = {inherit inputs;};
|
||||||
modules = [
|
modules = [
|
||||||
self.overlaysModule
|
self.overlaysModule
|
||||||
home-manager.darwinModules.home-manager
|
home-manager.darwinModules.home-manager
|
||||||
@ -123,14 +133,17 @@
|
|||||||
homeDirectory = "/home/michael";
|
homeDirectory = "/home/michael";
|
||||||
username = "michael";
|
username = "michael";
|
||||||
stateVersion = "21.05";
|
stateVersion = "21.05";
|
||||||
configuration = { config, pkgs, ... }:
|
configuration = {
|
||||||
{
|
config,
|
||||||
programs.home-manager.enable = true;
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
./user/environments/nixos/home.nix
|
./user/environments/nixos/home.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
wsl = inputs.home-manager.lib.homeManagerConfiguration {
|
wsl = inputs.home-manager.lib.homeManagerConfiguration {
|
||||||
@ -138,14 +151,17 @@
|
|||||||
homeDirectory = "/home/michael";
|
homeDirectory = "/home/michael";
|
||||||
username = "michael";
|
username = "michael";
|
||||||
stateVersion = "21.05";
|
stateVersion = "21.05";
|
||||||
configuration = { config, pkgs, ... }:
|
configuration = {
|
||||||
{
|
config,
|
||||||
programs.home-manager.enable = true;
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
./user/environments/wsl/home.nix
|
./user/environments/wsl/home.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
mac = inputs.home-manager.lib.homeManagerConfiguration {
|
mac = inputs.home-manager.lib.homeManagerConfiguration {
|
||||||
@ -153,17 +169,19 @@
|
|||||||
homeDirectory = "/Users/michael";
|
homeDirectory = "/Users/michael";
|
||||||
username = "michael";
|
username = "michael";
|
||||||
stateVersion = "22.05";
|
stateVersion = "22.05";
|
||||||
configuration = { config, pkgs, ... }:
|
configuration = {
|
||||||
{
|
config,
|
||||||
programs.home-manager.enable = true;
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
./user/environments/mac/home.nix
|
./user/environments/mac/home.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
# // utils.lib.eachSystem [ "aarch64-linux" "x86_64-darwin" "x86_64-linux" ] (system: {
|
# // utils.lib.eachSystem [ "aarch64-linux" "x86_64-darwin" "x86_64-linux" ] (system: {
|
||||||
# nixpkgs = import nixpkgs {
|
# nixpkgs = import nixpkgs {
|
||||||
|
@ -1,76 +1,76 @@
|
|||||||
# 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
|
...
|
||||||
];
|
}: {
|
||||||
|
imports = [
|
||||||
|
# Include the results of the hardware scan.
|
||||||
|
./hardware-configuration.nix
|
||||||
|
];
|
||||||
|
|
||||||
networking.hostName = "kitchen-nixos"; # Define your hostname.
|
networking.hostName = "kitchen-nixos"; # Define your hostname.
|
||||||
|
|
||||||
# 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
|
||||||
# replicates the default behaviour.
|
# replicates the default behaviour.
|
||||||
networking.useDHCP = false;
|
networking.useDHCP = false;
|
||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
# Set your time zone.
|
# Set your time zone.
|
||||||
time.timeZone = "America/New_York";
|
time.timeZone = "America/New_York";
|
||||||
|
|
||||||
# List packages installed in system profile. To search, run:
|
# List packages installed in system profile. To search, run:
|
||||||
# $ nix search wget
|
# $ nix search wget
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
wget
|
wget
|
||||||
micro
|
micro
|
||||||
gnome.gnome-tweaks
|
gnome.gnome-tweaks
|
||||||
];
|
];
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
users.michael = import ../../user/environments/nixos/home.nix pkgs;
|
users.michael = import ../../user/environments/nixos/home.nix pkgs;
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Some programs need SUID wrappers, can be configured further or are
|
# Some programs need SUID wrappers, can be configured further or are
|
||||||
# started in user sessions.
|
# started in user sessions.
|
||||||
# programs.mtr.enable = true;
|
# programs.mtr.enable = true;
|
||||||
# programs.gnupg.agent = {
|
# programs.gnupg.agent = {
|
||||||
# enable = true;
|
# enable = true;
|
||||||
# enableSSHSupport = true;
|
# enableSSHSupport = true;
|
||||||
# pinentryFlavor = "gnome3";
|
# pinentryFlavor = "gnome3";
|
||||||
# };
|
# };
|
||||||
|
|
||||||
# List services that you want to enable:
|
# List services that you want to enable:
|
||||||
# Enable the OpenSSH daemon.
|
# Enable the OpenSSH daemon.
|
||||||
# services.openssh.enable = true;
|
# services.openssh.enable = true;
|
||||||
|
|
||||||
# Open ports in the firewall.
|
# Open ports in the firewall.
|
||||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||||
# Or disable the firewall altogether.
|
# Or disable the firewall altogether.
|
||||||
# networking.firewall.enable = false;
|
# networking.firewall.enable = false;
|
||||||
|
|
||||||
programs.adb.enable = true;
|
programs.adb.enable = true;
|
||||||
|
|
||||||
programs.zsh.enable = true;
|
programs.zsh.enable = true;
|
||||||
|
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
users.users.michael = {
|
users.users.michael = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "Michael Thomas";
|
description = "Michael Thomas";
|
||||||
extraGroups = [ "wheel" "docker" "podman" "adbusers" "dialout" ];
|
extraGroups = ["wheel" "docker" "podman" "adbusers" "dialout"];
|
||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
};
|
};
|
||||||
|
|
||||||
# This value determines the NixOS release from which the default
|
# This value determines the NixOS release from which the default
|
||||||
# settings for stateful data, like file locations and database versions
|
# settings for stateful data, like file locations and database versions
|
||||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
# 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.
|
# this value at the release version of the first install of this system.
|
||||||
# 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 = "22.05"; # Did you read the comment?
|
system.stateVersion = "22.05"; # Did you read the comment?
|
||||||
|
}
|
||||||
}
|
|
||||||
|
@ -1,37 +1,41 @@
|
|||||||
# 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 = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [(modulesPath + "/installer/scan/not-detected.nix")];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
|
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod"];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
boot.kernelModules = ["kvm-amd"];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
boot.resumeDevice = "/dev/disk/by-uuid/9d98ce9b-236f-4a03-910a-84c5d5f12f03";
|
boot.resumeDevice = "/dev/disk/by-uuid/9d98ce9b-236f-4a03-910a-84c5d5f12f03";
|
||||||
boot.supportedFilesystems = [ "ntfs" ];
|
boot.supportedFilesystems = ["ntfs"];
|
||||||
|
|
||||||
fileSystems."/" = {
|
|
||||||
device = "/dev/disk/by-uuid/9d98ce9b-236f-4a03-910a-84c5d5f12f03";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/boot" = {
|
fileSystems."/" = {
|
||||||
device = "/dev/disk/by-uuid/D725-6983";
|
device = "/dev/disk/by-uuid/9d98ce9b-236f-4a03-910a-84c5d5f12f03";
|
||||||
fsType = "vfat";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [
|
fileSystems."/boot" = {
|
||||||
{
|
device = "/dev/disk/by-uuid/D725-6983";
|
||||||
device = "/swapfile";
|
fsType = "vfat";
|
||||||
priority = 0;
|
};
|
||||||
size = 2048;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
nix.settings.max-jobs = lib.mkDefault 12;
|
swapDevices = [
|
||||||
# High-DPI console
|
{
|
||||||
console.font = lib.mkDefault "${pkgs.terminus_font}/share/consolefonts/ter-u28n.psf.gz";
|
device = "/swapfile";
|
||||||
}
|
priority = 0;
|
||||||
|
size = 2048;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
nix.settings.max-jobs = lib.mkDefault 12;
|
||||||
|
# High-DPI console
|
||||||
|
console.font = lib.mkDefault "${pkgs.terminus_font}/share/consolefonts/ter-u28n.psf.gz";
|
||||||
|
}
|
||||||
|
@ -1,104 +1,105 @@
|
|||||||
# 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
|
...
|
||||||
];
|
}: {
|
||||||
|
imports = [
|
||||||
|
# Include the results of the hardware scan.
|
||||||
|
./hardware-configuration.nix
|
||||||
|
];
|
||||||
|
|
||||||
# Set your time zone.
|
# Set your time zone.
|
||||||
time.timeZone = "America/New_York";
|
time.timeZone = "America/New_York";
|
||||||
|
|
||||||
# Configure suspend to disk
|
# Configure suspend to disk
|
||||||
systemd.sleep.extraConfig = ''
|
systemd.sleep.extraConfig = ''
|
||||||
SuspendState=disk
|
SuspendState=disk
|
||||||
SuspendMode=suspend
|
SuspendMode=suspend
|
||||||
HibernateMode=platform shutdown
|
HibernateMode=platform shutdown
|
||||||
'';
|
'';
|
||||||
|
|
||||||
##############
|
##############
|
||||||
# NETWORKING #
|
# NETWORKING #
|
||||||
##############
|
##############
|
||||||
networking.useDHCP = false;
|
networking.useDHCP = false;
|
||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
networking.hostName = "loft"; # Define your hostname.
|
networking.hostName = "loft"; # Define your hostname.
|
||||||
networking.firewall.enable = false;
|
networking.firewall.enable = false;
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
users.michael = import ../../user/environments/nixos/home.nix pkgs;
|
users.michael = import ../../user/environments/nixos/home.nix pkgs;
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Configure network proxy if necessary
|
# Configure network proxy if necessary
|
||||||
# networking.proxy.default = "http://user:password@proxy:port/";
|
# networking.proxy.default = "http://user:password@proxy:port/";
|
||||||
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
||||||
|
|
||||||
# Select internationalisation properties.
|
# Select internationalisation properties.
|
||||||
# i18n.defaultLocale = "en_US.UTF-8";
|
# i18n.defaultLocale = "en_US.UTF-8";
|
||||||
# console = {
|
# console = {
|
||||||
# font = "Lat2-Terminus16";
|
# font = "Lat2-Terminus16";
|
||||||
# keyMap = "us";
|
# keyMap = "us";
|
||||||
# };
|
# };
|
||||||
|
|
||||||
# Configure keymap in X11
|
|
||||||
# services.xserver.layout = "us";
|
|
||||||
# services.xserver.xkbOptions = "eurosign:e";
|
|
||||||
|
|
||||||
# Enable touchpad support (enabled default in most desktopManager).
|
# Configure keymap in X11
|
||||||
# services.xserver.libinput.enable = true;
|
# services.xserver.layout = "us";
|
||||||
|
# services.xserver.xkbOptions = "eurosign:e";
|
||||||
|
|
||||||
programs.adb.enable = true;
|
# Enable touchpad support (enabled default in most desktopManager).
|
||||||
|
# services.xserver.libinput.enable = true;
|
||||||
|
|
||||||
programs.zsh.enable = true;
|
programs.adb.enable = true;
|
||||||
|
|
||||||
users.defaultUserShell = pkgs.zsh;
|
programs.zsh.enable = true;
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
|
||||||
users.users.michael = {
|
|
||||||
isNormalUser = true;
|
|
||||||
description = "Michael Thomas";
|
|
||||||
extraGroups = [ "wheel" "docker" "networkmanager" "adbusers" ]; # Enable ‘sudo’ for the user.
|
|
||||||
shell = pkgs.zsh;
|
|
||||||
};
|
|
||||||
|
|
||||||
# List packages installed in system profile. To search, run:
|
users.defaultUserShell = pkgs.zsh;
|
||||||
# $ nix search wget
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
environment.systemPackages = with pkgs; [
|
users.users.michael = {
|
||||||
wget micro
|
isNormalUser = true;
|
||||||
google-chrome
|
description = "Michael Thomas";
|
||||||
gnome3.gnome-tweaks
|
extraGroups = ["wheel" "docker" "networkmanager" "adbusers"]; # Enable ‘sudo’ for the user.
|
||||||
gnomeExtensions.gsconnect
|
shell = pkgs.zsh;
|
||||||
];
|
};
|
||||||
|
|
||||||
# Some programs need SUID wrappers, can be configured further or are
|
# List packages installed in system profile. To search, run:
|
||||||
# started in user sessions.
|
# $ nix search wget
|
||||||
# programs.mtr.enable = true;
|
environment.systemPackages = with pkgs; [
|
||||||
# programs.gnupg.agent = {
|
wget
|
||||||
# enable = true;
|
micro
|
||||||
# enableSSHSupport = true;
|
google-chrome
|
||||||
# };
|
gnome3.gnome-tweaks
|
||||||
|
gnomeExtensions.gsconnect
|
||||||
|
];
|
||||||
|
|
||||||
# List services that you want to enable:
|
# Some programs need SUID wrappers, can be configured further or are
|
||||||
|
# started in user sessions.
|
||||||
|
# programs.mtr.enable = true;
|
||||||
|
# programs.gnupg.agent = {
|
||||||
|
# enable = true;
|
||||||
|
# enableSSHSupport = true;
|
||||||
|
# };
|
||||||
|
|
||||||
# Enable the OpenSSH daemon.
|
# List services that you want to enable:
|
||||||
# services.openssh.enable = true;
|
|
||||||
|
|
||||||
# Open ports in the firewall.
|
# Enable the OpenSSH daemon.
|
||||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
# services.openssh.enable = true;
|
||||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
|
||||||
# Or disable the firewall altogether.
|
|
||||||
# networking.firewall.enable = false;
|
|
||||||
|
|
||||||
# This value determines the NixOS release from which the default
|
# Open ports in the firewall.
|
||||||
# settings for stateful data, like file locations and database versions
|
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||||
# this value at the release version of the first install of this system.
|
# Or disable the firewall altogether.
|
||||||
# Before changing this value read the documentation for this option
|
# networking.firewall.enable = false;
|
||||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
|
||||||
system.stateVersion = "20.09"; # Did you read the comment?
|
|
||||||
|
|
||||||
|
# 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 = "20.09"; # Did you read the comment?
|
||||||
}
|
}
|
||||||
|
@ -1,35 +1,39 @@
|
|||||||
# 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 = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [(modulesPath + "/installer/scan/not-detected.nix")];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
|
boot.initrd.availableKernelModules = ["xhci_pci" "ehci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" "rtsx_pci_sdmmc"];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = ["kvm-intel"];
|
||||||
boot.blacklistedKernelModules = [ "radeon" "amdgpu" ];
|
boot.blacklistedKernelModules = ["radeon" "amdgpu"];
|
||||||
# boot.kernelParams = [ "radeon.si_support=0" "radeon.cik_support=0" "amdgpu.si_support=1" "amdgpu.cik_support=1" ];
|
# boot.kernelParams = [ "radeon.si_support=0" "radeon.cik_support=0" "amdgpu.si_support=1" "amdgpu.cik_support=1" ];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems."/" = {
|
||||||
device = "/dev/disk/by-uuid/76737cbf-9b6b-4236-ac9d-7d0daa9c1bf2";
|
device = "/dev/disk/by-uuid/76737cbf-9b6b-4236-ac9d-7d0daa9c1bf2";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" = {
|
fileSystems."/boot" = {
|
||||||
device = "/dev/disk/by-uuid/BA82-2808";
|
device = "/dev/disk/by-uuid/BA82-2808";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [
|
swapDevices = [
|
||||||
{
|
{
|
||||||
device = "/dev/disk/by-uuid/9943357a-de4b-498b-b408-0b79b74435d1";
|
device = "/dev/disk/by-uuid/9943357a-de4b-498b-b408-0b79b74435d1";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
powerManagement.cpuFreqGovernor = lib.mkDefault "performance";
|
powerManagement.cpuFreqGovernor = lib.mkDefault "performance";
|
||||||
|
|
||||||
hardware.cpu.intel.updateMicrocode = true;
|
hardware.cpu.intel.updateMicrocode = true;
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
users.users.michael = {
|
users.users.michael = {
|
||||||
home = "/Users/michael";
|
home = "/Users/michael";
|
||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
@ -12,7 +14,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
environment = {
|
environment = {
|
||||||
shells = with pkgs; [ zsh ];
|
shells = with pkgs; [zsh];
|
||||||
variables = {
|
variables = {
|
||||||
EDITOR = "nvim";
|
EDITOR = "nvim";
|
||||||
VISUAL = "nvim";
|
VISUAL = "nvim";
|
||||||
@ -45,7 +47,7 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
security.pam.enableSudoTouchIdAuth = true;
|
security.pam.enableSudoTouchIdAuth = true;
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
nix-daemon.enable = true;
|
nix-daemon.enable = true;
|
||||||
|
@ -1,10 +1,13 @@
|
|||||||
{ lib, pkgs, modulesPath, inputs, ... }:
|
|
||||||
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
defaultUser = "michael";
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
defaultUser = "michael";
|
||||||
|
in {
|
||||||
imports = [
|
imports = [
|
||||||
"${modulesPath}/profiles/minimal.nix"
|
"${modulesPath}/profiles/minimal.nix"
|
||||||
|
|
||||||
@ -46,7 +49,7 @@ in
|
|||||||
|
|
||||||
users.users.${defaultUser} = {
|
users.users.${defaultUser} = {
|
||||||
uid = pkgs.lib.mkForce 1001;
|
uid = pkgs.lib.mkForce 1001;
|
||||||
extraGroups = [ "wheel" "docker" "podman" ];
|
extraGroups = ["wheel" "docker" "podman"];
|
||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
# Enable automatic updates
|
# Enable automatic updates
|
||||||
system.autoUpgrade.enable = true;
|
system.autoUpgrade.enable = true;
|
||||||
system.autoUpgrade.allowReboot = false;
|
system.autoUpgrade.allowReboot = false;
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
# Enable Avahi Network Discovery
|
# Enable Avahi Network Discovery
|
||||||
services.avahi = {
|
services.avahi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
nssmdns = true;
|
nssmdns = true;
|
||||||
publish.enable = true;
|
publish.enable = true;
|
||||||
publish.addresses = true;
|
publish.addresses = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
# Use the systemd-boot EFI boot loader.
|
# Use the systemd-boot EFI boot loader.
|
||||||
boot.loader.timeout = 0;
|
boot.loader.timeout = 0;
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot.loader.systemd-boot.enable = true;
|
||||||
boot.loader.efi.canTouchEfiVariables = false;
|
boot.loader.efi.canTouchEfiVariables = false;
|
||||||
boot.plymouth.enable = true;
|
boot.plymouth.enable = true;
|
||||||
}
|
}
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./auto-upgrades.nix
|
./auto-upgrades.nix
|
||||||
./avahi.nix
|
./avahi.nix
|
||||||
./bootloader.nix
|
./bootloader.nix
|
||||||
./cups.nix
|
./cups.nix
|
||||||
./flatpak.nix
|
./flatpak.nix
|
||||||
./fonts.nix
|
./fonts.nix
|
||||||
./gnome.nix
|
./gnome.nix
|
||||||
./nix.nix
|
./nix.nix
|
||||||
./sound.nix
|
./sound.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
@ -1,14 +1,13 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
# Enable Podman w/ docker compose compatibility
|
||||||
# Enable Podman w/ docker compose compatibility
|
virtualisation.podman = {
|
||||||
virtualisation.podman = {
|
enable = true;
|
||||||
enable = true;
|
dockerSocket.enable = true;
|
||||||
dockerSocket.enable = true;
|
defaultNetwork.settings.dns_enabled = true;
|
||||||
defaultNetwork.settings.dns_enabled = true;
|
};
|
||||||
};
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
docker-client
|
docker-client
|
||||||
docker-compose
|
docker-compose
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
# Enable CUPS to print documents.
|
||||||
# Enable CUPS to print documents.
|
services.printing = {
|
||||||
services.printing = {
|
enable = true;
|
||||||
enable = true;
|
drivers = [pkgs.epson-escpr2];
|
||||||
drivers = [ pkgs.epson-escpr2 ];
|
};
|
||||||
};
|
}
|
||||||
}
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
# Enable Flatpak support
|
# Enable Flatpak support
|
||||||
services.flatpak.enable = true;
|
services.flatpak.enable = true;
|
||||||
services.fwupd.enable = true;
|
services.fwupd.enable = true;
|
||||||
appstream.enable = true;
|
appstream.enable = true;
|
||||||
}
|
}
|
||||||
|
@ -1,24 +1,23 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
# Font Settings
|
||||||
# Font Settings
|
fonts = {
|
||||||
fonts = {
|
fonts = with pkgs; [
|
||||||
fonts = with pkgs; [
|
roboto
|
||||||
roboto
|
inter
|
||||||
inter
|
];
|
||||||
];
|
fontconfig = {
|
||||||
fontconfig = {
|
localConf = ''
|
||||||
localConf = ''
|
<alias>
|
||||||
<alias>
|
<family>system-ui</family>
|
||||||
<family>system-ui</family>
|
<prefer>
|
||||||
<prefer>
|
<family>Inter</family>
|
||||||
<family>Inter</family>
|
<family>Roboto</family>
|
||||||
<family>Roboto</family>
|
<family>Cantarell</family>
|
||||||
<family>Cantarell</family>
|
<family>Liberation Sans</family>
|
||||||
<family>Liberation Sans</family>
|
<family>DejaVu Sans</family>
|
||||||
<family>DejaVu Sans</family>
|
</prefer>
|
||||||
</prefer>
|
</alias>
|
||||||
</alias>
|
'';
|
||||||
'';
|
};
|
||||||
};
|
};
|
||||||
};
|
}
|
||||||
}
|
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
# Enable the GNOME Desktop Environment.
|
# Enable the GNOME Desktop Environment.
|
||||||
services.xserver.enable = true;
|
services.xserver.enable = true;
|
||||||
services.xserver.displayManager.gdm.enable = true;
|
services.xserver.displayManager.gdm.enable = true;
|
||||||
services.xserver.desktopManager.gnome.enable = true;
|
services.xserver.desktopManager.gnome.enable = true;
|
||||||
services.gnome.gnome-browser-connector.enable = true;
|
services.gnome.gnome-browser-connector.enable = true;
|
||||||
programs.dconf.enable = true;
|
programs.dconf.enable = true;
|
||||||
security.polkit.enable = true;
|
security.polkit.enable = true;
|
||||||
}
|
}
|
||||||
|
@ -1,21 +1,20 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
nix = {
|
||||||
nix = {
|
extraOptions = ''
|
||||||
extraOptions = ''
|
experimental-features = flakes nix-command
|
||||||
experimental-features = flakes nix-command
|
'';
|
||||||
'';
|
# this is required until nix 2.4 is released
|
||||||
# this is required until nix 2.4 is released
|
package = pkgs.nixFlakes;
|
||||||
package = pkgs.nixFlakes;
|
|
||||||
|
|
||||||
settings.auto-optimise-store = true;
|
settings.auto-optimise-store = true;
|
||||||
gc = {
|
gc = {
|
||||||
automatic = true;
|
automatic = true;
|
||||||
dates = "weekly";
|
dates = "weekly";
|
||||||
options = "--delete-older-than 30d";
|
options = "--delete-older-than 30d";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
nixpkgs.config = {
|
nixpkgs.config = {
|
||||||
allowUnfree = true;
|
allowUnfree = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
# Enable sound.
|
# Enable sound.
|
||||||
sound.enable = true;
|
sound.enable = true;
|
||||||
hardware.pulseaudio.enable = true;
|
hardware.pulseaudio.enable = true;
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,13 @@
|
|||||||
{ nixpkgs, unstable, ... }:
|
{
|
||||||
|
nixpkgs,
|
||||||
let
|
unstable,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
inherit (nixpkgs.lib) composeManyExtensions;
|
inherit (nixpkgs.lib) composeManyExtensions;
|
||||||
inherit (builtins) attrNames readDir;
|
inherit (builtins) attrNames readDir;
|
||||||
localOverlays = map
|
localOverlays =
|
||||||
|
map
|
||||||
(f: import (./default + "/${f}"))
|
(f: import (./default + "/${f}"))
|
||||||
(attrNames (readDir ./default));
|
(attrNames (readDir ./default));
|
||||||
in
|
in
|
||||||
composeManyExtensions (localOverlays)
|
composeManyExtensions localOverlays
|
||||||
|
@ -1,13 +1,15 @@
|
|||||||
self: super: {
|
self: super: {
|
||||||
gnomeExtensions = super.gnomeExtensions // {
|
gnomeExtensions =
|
||||||
paperwm = super.gnomeExtensions.paperwm.overrideDerivation (old: {
|
super.gnomeExtensions
|
||||||
version = "43.0";
|
// {
|
||||||
src = super.fetchFromGitHub {
|
paperwm = super.gnomeExtensions.paperwm.overrideDerivation (old: {
|
||||||
owner = "paperwm";
|
version = "43.0";
|
||||||
repo = "PaperWM";
|
src = super.fetchFromGitHub {
|
||||||
rev = "64960df6cde10bcf47c33ce56a2d35e99d8d02bf";
|
owner = "paperwm";
|
||||||
sha256 = "sha256-ejyWIa4HX1lEIHc9qax8jgrgi992W6rkTK60FGzKI/E=";
|
repo = "PaperWM";
|
||||||
};
|
rev = "64960df6cde10bcf47c33ce56a2d35e99d8d02bf";
|
||||||
});
|
sha256 = "sha256-ejyWIa4HX1lEIHc9qax8jgrgi992W6rkTK60FGzKI/E=";
|
||||||
};
|
};
|
||||||
|
});
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
self: super: {
|
self: super: {
|
||||||
iptables = super.iptables.override {
|
iptables = super.iptables.override {
|
||||||
nftablesCompat = false;
|
nftablesCompat = false;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
{
|
{
|
||||||
allowUnfree = true;
|
allowUnfree = true;
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,11 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
../../modules/zsh.nix
|
../../modules/zsh.nix
|
||||||
../../modules/dev.nix
|
../../modules/dev.nix
|
||||||
../../modules/git.nix
|
../../modules/git.nix
|
||||||
../../modules/fonts.nix
|
../../modules/fonts.nix
|
||||||
../../modules/nvim.nix
|
../../modules/nvim.nix
|
||||||
../../modules/vscode.nix
|
../../modules/vscode.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
@ -16,8 +15,8 @@
|
|||||||
# Add homebrew applications to path
|
# Add homebrew applications to path
|
||||||
programs.zsh = {
|
programs.zsh = {
|
||||||
profileExtra = ''
|
profileExtra = ''
|
||||||
PATH=/opt/homebrew/bin:$PATH
|
PATH=/opt/homebrew/bin:$PATH
|
||||||
'';
|
'';
|
||||||
prezto.pmodules = [
|
prezto.pmodules = [
|
||||||
"osx"
|
"osx"
|
||||||
];
|
];
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
{
|
{
|
||||||
allowUnfree = true;
|
allowUnfree = true;
|
||||||
}
|
}
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../../modules/dev.nix
|
../../modules/dev.nix
|
||||||
../../modules/firefox.nix
|
../../modules/firefox.nix
|
||||||
../../modules/fonts.nix
|
../../modules/fonts.nix
|
||||||
../../modules/git.nix
|
../../modules/git.nix
|
||||||
../../modules/git_nixos.nix
|
../../modules/git_nixos.nix
|
||||||
../../modules/gnome.nix
|
../../modules/gnome.nix
|
||||||
../../modules/vscode.nix
|
../../modules/vscode.nix
|
||||||
../../modules/zsh.nix
|
../../modules/zsh.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
home.stateVersion = "21.05";
|
home.stateVersion = "21.05";
|
||||||
}
|
}
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
{
|
{
|
||||||
allowUnfree = true;
|
allowUnfree = true;
|
||||||
}
|
}
|
||||||
|
@ -1,28 +1,27 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
imports = [
|
||||||
imports = [
|
../../modules/dev.nix
|
||||||
../../modules/dev.nix
|
../../modules/git.nix
|
||||||
../../modules/git.nix
|
../../modules/nvim.nix
|
||||||
../../modules/nvim.nix
|
../../modules/zsh.nix
|
||||||
../../modules/zsh.nix
|
];
|
||||||
];
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
neofetch
|
neofetch
|
||||||
pfetch
|
pfetch
|
||||||
fortune
|
fortune
|
||||||
micro
|
micro
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.git.extraConfig = {
|
programs.git.extraConfig = {
|
||||||
safe.directory = "*";
|
safe.directory = "*";
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.zsh = {
|
programs.zsh = {
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
code = "/mnt/c/Program\\ Files/Microsoft\\ VS\\ Code/Code.exe";
|
code = "/mnt/c/Program\\ Files/Microsoft\\ VS\\ Code/Code.exe";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
home.stateVersion = "22.05";
|
home.stateVersion = "22.05";
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
# devbox
|
# devbox
|
||||||
unstable.devbox
|
unstable.devbox
|
||||||
@ -18,10 +17,10 @@
|
|||||||
kubernetes-helm
|
kubernetes-helm
|
||||||
# Nix
|
# Nix
|
||||||
nil
|
nil
|
||||||
nixpkgs-fmt
|
alejandra
|
||||||
# Rust
|
# Rust
|
||||||
(rust-bin.stable.latest.default.override {
|
(rust-bin.stable.latest.default.override {
|
||||||
extensions = [ "rust-src" ];
|
extensions = ["rust-src"];
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
home.file.npmrc = {
|
home.file.npmrc = {
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
# Add Firefox GNOME theme directory
|
# Add Firefox GNOME theme directory
|
||||||
home.file."firefox-gnome-theme" = {
|
home.file."firefox-gnome-theme" = {
|
||||||
target = ".mozilla/firefox/default/chrome/firefox-gnome-theme";
|
target = ".mozilla/firefox/default/chrome/firefox-gnome-theme";
|
||||||
@ -23,7 +22,7 @@
|
|||||||
};
|
};
|
||||||
userChrome = ''
|
userChrome = ''
|
||||||
@import "firefox-gnome-theme/userChrome.css";
|
@import "firefox-gnome-theme/userChrome.css";
|
||||||
@import "firefox-gnome-theme/theme/colors/dark.css";
|
@import "firefox-gnome-theme/theme/colors/dark.css";
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
home.packages = with pkgs; [
|
||||||
home.packages = with pkgs; [
|
(nerdfonts.override {fonts = ["FiraCode"];})
|
||||||
(nerdfonts.override { fonts = [ "FiraCode" ]; })
|
google-fonts
|
||||||
google-fonts
|
inter
|
||||||
inter
|
cascadia-code
|
||||||
cascadia-code
|
];
|
||||||
];
|
|
||||||
|
|
||||||
# fonts.fontconfig.enable = true;
|
# fonts.fontconfig.enable = true;
|
||||||
}
|
}
|
||||||
|
@ -1,18 +1,21 @@
|
|||||||
{ pkgs, lib, ... }:
|
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
pkgs,
|
||||||
git-lfs
|
lib,
|
||||||
];
|
...
|
||||||
|
}: {
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
git-lfs
|
||||||
|
];
|
||||||
|
|
||||||
# Use pkgs.gitAndTools.gitFull in order to get libsecret support
|
# Use pkgs.gitAndTools.gitFull in order to get libsecret support
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
userEmail = "michaelhthomas@outlook.com";
|
userEmail = "michaelhthomas@outlook.com";
|
||||||
userName = "Michael Thomas";
|
userName = "Michael Thomas";
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
credential.helper = lib.mkDefault "store";
|
credential.helper = lib.mkDefault "store";
|
||||||
pull.rebase = "false";
|
pull.rebase = "false";
|
||||||
init.defaultBranch = "main";
|
init.defaultBranch = "main";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
# Use pkgs.gitAndTools.gitFull in order to get libsecret support
|
||||||
# Use pkgs.gitAndTools.gitFull in order to get libsecret support
|
programs.git = {
|
||||||
programs.git = {
|
package = pkgs.gitAndTools.gitFull;
|
||||||
package = pkgs.gitAndTools.gitFull;
|
extraConfig = {
|
||||||
extraConfig = {
|
credential.helper = "libsecret";
|
||||||
credential.helper = "libsecret";
|
};
|
||||||
};
|
};
|
||||||
};
|
}
|
||||||
}
|
|
||||||
|
@ -1,35 +1,34 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
home.packages = with pkgs; [
|
||||||
home.packages = with pkgs; [
|
gnomeExtensions.caffeine
|
||||||
gnomeExtensions.caffeine
|
unstable.gnomeExtensions.paperwm
|
||||||
unstable.gnomeExtensions.paperwm
|
gnomeExtensions.cleaner-overview
|
||||||
gnomeExtensions.cleaner-overview
|
unstable.gnomeExtensions.vertical-overview
|
||||||
unstable.gnomeExtensions.vertical-overview
|
gnomeExtensions.disable-workspace-switch-animation-for-gnome-40
|
||||||
gnomeExtensions.disable-workspace-switch-animation-for-gnome-40
|
gnomeExtensions.blur-my-shell
|
||||||
gnomeExtensions.blur-my-shell
|
];
|
||||||
];
|
|
||||||
|
|
||||||
gtk = {
|
gtk = {
|
||||||
enable = true;
|
enable = true;
|
||||||
theme = {
|
theme = {
|
||||||
name = "Adwaita-dark";
|
name = "Adwaita-dark";
|
||||||
# package = pkgs.arc-theme;
|
# package = pkgs.arc-theme;
|
||||||
};
|
};
|
||||||
font.name = "Inter 11";
|
font.name = "Inter 11";
|
||||||
iconTheme = {
|
iconTheme = {
|
||||||
name = "Papirus";
|
name = "Papirus";
|
||||||
package = pkgs.papirus-icon-theme;
|
package = pkgs.papirus-icon-theme;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.gnome-terminal = {
|
programs.gnome-terminal = {
|
||||||
enable = true;
|
enable = true;
|
||||||
profile = {
|
profile = {
|
||||||
"5ddfe964-7ee6-4131-b449-26bdd97518f7" = {
|
"5ddfe964-7ee6-4131-b449-26bdd97518f7" = {
|
||||||
default = true;
|
default = true;
|
||||||
visibleName = "Michael";
|
visibleName = "Michael";
|
||||||
font = "FiraCode Nerd Font 12";
|
font = "FiraCode Nerd Font 12";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,19 +1,19 @@
|
|||||||
{
|
{
|
||||||
# Let Home Manager install and manage itself.
|
# Let Home Manager install and manage itself.
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
|
|
||||||
# Home Manager needs a bit of information about you and the
|
# Home Manager needs a bit of information about you and the
|
||||||
# paths it should manage.
|
# paths it should manage.
|
||||||
home.username = builtins.getEnv "USER";
|
home.username = builtins.getEnv "USER";
|
||||||
home.homeDirectory = builtins.getEnv "HOME";
|
home.homeDirectory = builtins.getEnv "HOME";
|
||||||
|
|
||||||
# This value determines the Home Manager release that your
|
# This value determines the Home Manager release that your
|
||||||
# configuration is compatible with. This helps avoid breakage
|
# configuration is compatible with. This helps avoid breakage
|
||||||
# when a new Home Manager release introduces backwards
|
# when a new Home Manager release introduces backwards
|
||||||
# incompatible changes.
|
# incompatible changes.
|
||||||
#
|
#
|
||||||
# You can update Home Manager without changing this value. See
|
# You can update Home Manager without changing this value. See
|
||||||
# the Home Manager release notes for a list of state version
|
# the Home Manager release notes for a list of state version
|
||||||
# changes in each release.
|
# changes in each release.
|
||||||
home.stateVersion = "21.03";
|
home.stateVersion = "21.03";
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
{ pkgs, config, ... }:
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs.neovim = {
|
programs.neovim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
@ -9,12 +12,13 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
# Copy Neovim config
|
# Copy Neovim config
|
||||||
xdg.configFile.nvim.source = config.lib.file.mkOutOfStoreSymlink
|
xdg.configFile.nvim.source =
|
||||||
|
config.lib.file.mkOutOfStoreSymlink
|
||||||
"${config.home.homeDirectory}/Projects/nix-dots/user/modules/nvim";
|
"${config.home.homeDirectory}/Projects/nix-dots/user/modules/nvim";
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
ripgrep
|
ripgrep
|
||||||
gnumake
|
gnumake
|
||||||
gcc
|
gcc
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
@ -42,4 +42,14 @@ return {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"stevearc/conform.nvim",
|
||||||
|
---@class ConformOpts
|
||||||
|
opts = {
|
||||||
|
---@type table<string, conform.FormatterUnit[]>
|
||||||
|
formatters_by_ft = {
|
||||||
|
nix = { "alejandra" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
@ -1,68 +1,75 @@
|
|||||||
{ config, pkgs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
package = pkgs.vscodium;
|
||||||
|
|
||||||
let
|
vscodePname = package.pname;
|
||||||
package = pkgs.vscodium;
|
|
||||||
|
|
||||||
vscodePname = package.pname;
|
configDir =
|
||||||
|
{
|
||||||
|
"vscode" = "Code";
|
||||||
|
"vscode-insiders" = "Code - Insiders";
|
||||||
|
"vscodium" = "VSCodium";
|
||||||
|
}
|
||||||
|
.${vscodePname};
|
||||||
|
|
||||||
configDir = {
|
userDir =
|
||||||
"vscode" = "Code";
|
if pkgs.stdenv.hostPlatform.isDarwin
|
||||||
"vscode-insiders" = "Code - Insiders";
|
then "Library/Application Support/${configDir}/User"
|
||||||
"vscodium" = "VSCodium";
|
else "${config.xdg.configHome}/${configDir}/User";
|
||||||
}.${vscodePname};
|
|
||||||
|
|
||||||
userDir = if pkgs.stdenv.hostPlatform.isDarwin then
|
|
||||||
"Library/Application Support/${configDir}/User"
|
|
||||||
else
|
|
||||||
"${config.xdg.configHome}/${configDir}/User";
|
|
||||||
|
|
||||||
configFilePath = "${userDir}/settings.json";
|
configFilePath = "${userDir}/settings.json";
|
||||||
keybindingsFilePath = "${userDir}/keybindings.json";
|
keybindingsFilePath = "${userDir}/keybindings.json";
|
||||||
in {
|
in {
|
||||||
xdg.configFile."${config.home.homeDirectory}/${configFilePath}".source =
|
xdg.configFile."${config.home.homeDirectory}/${configFilePath}".source =
|
||||||
config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/Projects/nix-dots/user/modules/vscode/settings.json";
|
config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/Projects/nix-dots/user/modules/vscode/settings.json";
|
||||||
|
|
||||||
xdg.configFile."${config.home.homeDirectory}/${keybindingsFilePath}".source =
|
xdg.configFile."${config.home.homeDirectory}/${keybindingsFilePath}".source =
|
||||||
config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/Projects/nix-dots/user/modules/vscode/keybindings.json";
|
config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/Projects/nix-dots/user/modules/vscode/keybindings.json";
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
vscode = {
|
vscode = {
|
||||||
enable = true;
|
enable = true;
|
||||||
inherit package;
|
inherit package;
|
||||||
extensions = with pkgs.open-vsx; [
|
extensions = with pkgs.open-vsx; [
|
||||||
# Editor
|
# Editor
|
||||||
vscodevim.vim
|
vscodevim.vim
|
||||||
pkgs.vscode-marketplace.miguelsolorio.min-theme
|
pkgs.vscode-marketplace.miguelsolorio.min-theme
|
||||||
streetsidesoftware.code-spell-checker
|
streetsidesoftware.code-spell-checker
|
||||||
|
|
||||||
# Git
|
# Git
|
||||||
mhutchie.git-graph
|
mhutchie.git-graph
|
||||||
waderyan.gitblame
|
waderyan.gitblame
|
||||||
|
|
||||||
# Web Development
|
|
||||||
astro-build.astro-vscode
|
|
||||||
redwan-hossain.auto-rename-tag-clone
|
|
||||||
bradlc.vscode-tailwindcss
|
|
||||||
johnsoncodehk.volar
|
|
||||||
svelte.svelte-vscode
|
|
||||||
dbaeumer.vscode-eslint
|
|
||||||
esbenp.prettier-vscode
|
|
||||||
antfu.iconify
|
|
||||||
csstools.postcss
|
|
||||||
|
|
||||||
# Dart / Flutter
|
# Web Development
|
||||||
dart-code.dart-code
|
astro-build.astro-vscode
|
||||||
|
redwan-hossain.auto-rename-tag-clone
|
||||||
|
bradlc.vscode-tailwindcss
|
||||||
|
johnsoncodehk.volar
|
||||||
|
svelte.svelte-vscode
|
||||||
|
dbaeumer.vscode-eslint
|
||||||
|
esbenp.prettier-vscode
|
||||||
|
antfu.iconify
|
||||||
|
csstools.postcss
|
||||||
|
ms-playwright.playwright
|
||||||
|
|
||||||
# Java
|
# Dart / Flutter
|
||||||
redhat.java
|
dart-code.dart-code
|
||||||
vscjava.vscode-java-debug
|
|
||||||
vscjava.vscode-java-test
|
|
||||||
vscjava.vscode-maven
|
|
||||||
vscjava.vscode-java-dependency
|
|
||||||
|
|
||||||
# Nix
|
# Java
|
||||||
jnoortheen.nix-ide
|
redhat.java
|
||||||
];
|
vscjava.vscode-java-debug
|
||||||
};
|
vscjava.vscode-java-test
|
||||||
};
|
vscjava.vscode-maven
|
||||||
|
vscjava.vscode-java-dependency
|
||||||
|
|
||||||
|
# Nix
|
||||||
|
jnoortheen.nix-ide
|
||||||
|
kamadorueda.alejandra
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,47 +1,46 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
programs.zsh = {
|
||||||
programs.zsh = {
|
enable = true;
|
||||||
enable = true;
|
plugins = [
|
||||||
plugins = [
|
{
|
||||||
{
|
name = "zsh-nix-shell";
|
||||||
name = "zsh-nix-shell";
|
file = "nix-shell.plugin.zsh";
|
||||||
file = "nix-shell.plugin.zsh";
|
src = pkgs.fetchFromGitHub {
|
||||||
src = pkgs.fetchFromGitHub {
|
owner = "chisui";
|
||||||
owner = "chisui";
|
repo = "zsh-nix-shell";
|
||||||
repo = "zsh-nix-shell";
|
rev = "v0.1.0";
|
||||||
rev = "v0.1.0";
|
sha256 = "0snhch9hfy83d4amkyxx33izvkhbwmindy0zjjk28hih1a9l2jmx";
|
||||||
sha256 = "0snhch9hfy83d4amkyxx33izvkhbwmindy0zjjk28hih1a9l2jmx";
|
};
|
||||||
};
|
}
|
||||||
}
|
];
|
||||||
];
|
prezto = {
|
||||||
prezto = {
|
enable = true;
|
||||||
enable = true;
|
pmodules = [
|
||||||
pmodules = [
|
"archive"
|
||||||
"archive"
|
"docker"
|
||||||
"docker"
|
"environment"
|
||||||
"environment"
|
"git"
|
||||||
"git"
|
"terminal"
|
||||||
"terminal"
|
"editor"
|
||||||
"editor"
|
"history"
|
||||||
"history"
|
"directory"
|
||||||
"directory"
|
"spectrum"
|
||||||
"spectrum"
|
"utility"
|
||||||
"utility"
|
"completion"
|
||||||
"completion"
|
"command-not-found"
|
||||||
"command-not-found"
|
"syntax-highlighting"
|
||||||
"syntax-highlighting"
|
"history-substring-search"
|
||||||
"history-substring-search"
|
"autosuggestions"
|
||||||
"autosuggestions"
|
"prompt"
|
||||||
"prompt"
|
];
|
||||||
];
|
};
|
||||||
};
|
};
|
||||||
};
|
programs.starship = {
|
||||||
programs.starship = {
|
enable = true;
|
||||||
enable = true;
|
enableZshIntegration = true;
|
||||||
enableZshIntegration = true;
|
settings = {
|
||||||
settings = {
|
character.success_symbol = "[➜](green)";
|
||||||
character.success_symbol = "[➜](green)";
|
character.error_symbol = "[➜](red)";
|
||||||
character.error_symbol = "[➜](red)";
|
};
|
||||||
};
|
};
|
||||||
};
|
}
|
||||||
}
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user