Compare commits
2 Commits
116e757499
...
5a9eafc05c
Author | SHA1 | Date | |
---|---|---|---|
5a9eafc05c | |||
f3e9f9e031 |
14
flake.nix
14
flake.nix
@ -19,25 +19,29 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs@{ self, nixpkgs, home-manager, nix-darwin, nixos-hardware, nixvim, ... }: {
|
outputs = inputs @ {
|
||||||
|
nixpkgs,
|
||||||
|
nix-darwin,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
desktop = nixpkgs.lib.nixosSystem {
|
desktop = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
specialArgs = { inherit inputs; };
|
specialArgs = {inherit inputs;};
|
||||||
modules = [
|
modules = [
|
||||||
./hosts/desktop/configuration.nix
|
./hosts/desktop/configuration.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
thinkpad = nixpkgs.lib.nixosSystem {
|
thinkpad = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
specialArgs = { inherit inputs; };
|
specialArgs = {inherit inputs;};
|
||||||
modules = [
|
modules = [
|
||||||
./hosts/thinkpad/configuration.nix
|
./hosts/thinkpad/configuration.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
dell = nixpkgs.lib.nixosSystem {
|
dell = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
specialArgs = { inherit inputs; };
|
specialArgs = {inherit inputs;};
|
||||||
modules = [
|
modules = [
|
||||||
./hosts/dell/configuration.nix
|
./hosts/dell/configuration.nix
|
||||||
];
|
];
|
||||||
@ -46,7 +50,7 @@
|
|||||||
|
|
||||||
darwinConfigurations = {
|
darwinConfigurations = {
|
||||||
macbook = nix-darwin.lib.darwinSystem {
|
macbook = nix-darwin.lib.darwinSystem {
|
||||||
specialArgs = { inherit inputs; };
|
specialArgs = {inherit inputs;};
|
||||||
modules = [
|
modules = [
|
||||||
./hosts/macbook/configuration.nix
|
./hosts/macbook/configuration.nix
|
||||||
];
|
];
|
||||||
|
@ -1,23 +1,25 @@
|
|||||||
{ config, pkgs, inputs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[
|
pkgs,
|
||||||
./hardware-configuration.nix
|
inputs,
|
||||||
inputs.home-manager.nixosModules.default
|
...
|
||||||
inputs.nixos-hardware.nixosModules.dell-xps-15-9560
|
}: {
|
||||||
../../modules/nixos/bootloader.nix
|
imports = [
|
||||||
../../modules/nixos/user.nix
|
./hardware-configuration.nix
|
||||||
../../modules/nixos/i3.nix
|
inputs.home-manager.nixosModules.default
|
||||||
../../modules/nixos/nvidia.nix
|
inputs.nixos-hardware.nixosModules.dell-xps-15-9560
|
||||||
../../modules/nixos/nm.nix
|
../../modules/nixos/bootloader.nix
|
||||||
../../modules/nixos/sound.nix
|
../../modules/nixos/user.nix
|
||||||
../../modules/nixos/env.nix
|
../../modules/nixos/i3.nix
|
||||||
../../modules/nixos/1password.nix
|
../../modules/nixos/nvidia.nix
|
||||||
];
|
../../modules/nixos/nm.nix
|
||||||
|
../../modules/nixos/sound.nix
|
||||||
|
../../modules/nixos/env.nix
|
||||||
|
../../modules/nixos/1password.nix
|
||||||
|
];
|
||||||
|
|
||||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||||
boot.kernelParams = [ "psmouse.synaptics_intertouch=0" ];
|
boot.kernelParams = ["psmouse.synaptics_intertouch=0"];
|
||||||
|
|
||||||
networking.hostName = "dell";
|
networking.hostName = "dell";
|
||||||
|
|
||||||
@ -27,17 +29,16 @@
|
|||||||
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
nix.settings.experimental-features = ["nix-command" "flakes"];
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
neovim
|
|
||||||
wget
|
wget
|
||||||
git
|
git
|
||||||
curl
|
curl
|
||||||
];
|
];
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
extraSpecialArgs = { inherit inputs; };
|
extraSpecialArgs = {inherit inputs;};
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
users = {
|
users = {
|
||||||
@ -46,5 +47,4 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
system.stateVersion = "23.11";
|
system.stateVersion = "23.11";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,31 +1,35 @@
|
|||||||
# 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" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
|
boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc"];
|
||||||
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/b0a1038d-556d-46e9-9289-fc5544d911c7";
|
device = "/dev/disk/by-uuid/b0a1038d-556d-46e9-9289-fc5544d911c7";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/disk/by-uuid/32F4-C54C";
|
device = "/dev/disk/by-uuid/32F4-C54C";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices =
|
swapDevices = [
|
||||||
[ { device = "/dev/disk/by-uuid/68b82471-92a3-4f6a-99a8-1dd5ae4f3f8b"; }
|
{device = "/dev/disk/by-uuid/68b82471-92a3-4f6a-99a8-1dd5ae4f3f8b";}
|
||||||
];
|
];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
../../modules/home-manager/i3
|
../../modules/home-manager/i3
|
||||||
../../modules/home-manager/ssh
|
../../modules/home-manager/ssh
|
||||||
../../modules/home-manager/git
|
../../modules/home-manager/git
|
||||||
../../modules/home-manager/neovim
|
../../modules/home-manager/nixvim
|
||||||
../../modules/home-manager/wezterm
|
../../modules/home-manager/wezterm
|
||||||
../../modules/home-manager/zsh
|
../../modules/home-manager/zsh
|
||||||
../../modules/home-manager/tmux
|
../../modules/home-manager/tmux
|
||||||
@ -34,7 +36,7 @@
|
|||||||
lutris
|
lutris
|
||||||
pavucontrol
|
pavucontrol
|
||||||
pasystray
|
pasystray
|
||||||
networkmanagerapplet
|
networkmanagerapplet
|
||||||
upower
|
upower
|
||||||
acpi
|
acpi
|
||||||
];
|
];
|
||||||
|
@ -1,24 +1,26 @@
|
|||||||
{ config, pkgs, inputs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[
|
pkgs,
|
||||||
./hardware-configuration.nix
|
inputs,
|
||||||
inputs.home-manager.nixosModules.default
|
...
|
||||||
../../modules/nixos/bootloader.nix
|
}: {
|
||||||
../../modules/nixos/user.nix
|
imports = [
|
||||||
../../modules/nixos/ssh.nix
|
./hardware-configuration.nix
|
||||||
../../modules/nixos/bluetooth.nix
|
inputs.home-manager.nixosModules.default
|
||||||
../../modules/nixos/nvidia.nix
|
../../modules/nixos/bootloader.nix
|
||||||
../../modules/nixos/i3.nix
|
../../modules/nixos/user.nix
|
||||||
../../modules/nixos/nm.nix
|
../../modules/nixos/ssh.nix
|
||||||
../../modules/nixos/sound.nix
|
../../modules/nixos/bluetooth.nix
|
||||||
../../modules/nixos/steam.nix
|
../../modules/nixos/nvidia.nix
|
||||||
../../modules/nixos/env.nix
|
../../modules/nixos/i3.nix
|
||||||
../../modules/nixos/1password.nix
|
../../modules/nixos/nm.nix
|
||||||
../../modules/nixos/postgres.nix
|
../../modules/nixos/sound.nix
|
||||||
../../modules/nixos/docker.nix
|
../../modules/nixos/steam.nix
|
||||||
];
|
../../modules/nixos/env.nix
|
||||||
|
../../modules/nixos/1password.nix
|
||||||
|
../../modules/nixos/postgres.nix
|
||||||
|
../../modules/nixos/docker.nix
|
||||||
|
];
|
||||||
|
|
||||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||||
|
|
||||||
@ -30,10 +32,9 @@
|
|||||||
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
nix.settings.experimental-features = ["nix-command" "flakes"];
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
neovim
|
|
||||||
wget
|
wget
|
||||||
git
|
git
|
||||||
curl
|
curl
|
||||||
@ -41,7 +42,7 @@
|
|||||||
];
|
];
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
extraSpecialArgs = { inherit inputs; };
|
extraSpecialArgs = {inherit inputs;};
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
users = {
|
users = {
|
||||||
@ -50,5 +51,4 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
system.stateVersion = "23.11";
|
system.stateVersion = "23.11";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,30 +1,34 @@
|
|||||||
# 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 = [ "nvme" "ahci" "xhci_pci" "usbhid" "usb_storage" "sd_mod" ];
|
boot.initrd.availableKernelModules = ["nvme" "ahci" "xhci_pci" "usbhid" "usb_storage" "sd_mod"];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
boot.kernelModules = ["kvm-amd"];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-uuid/f8d20844-226c-4375-9856-6ee29e08019c";
|
device = "/dev/disk/by-uuid/f8d20844-226c-4375-9856-6ee29e08019c";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/disk/by-uuid/FDF5-4C02";
|
device = "/dev/disk/by-uuid/FDF5-4C02";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = [ "fmask=0022" "dmask=0022" ];
|
options = ["fmask=0022" "dmask=0022"];
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [ ];
|
swapDevices = [];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
../../modules/home-manager/i3
|
../../modules/home-manager/i3
|
||||||
../../modules/home-manager/ssh
|
../../modules/home-manager/ssh
|
||||||
../../modules/home-manager/git
|
../../modules/home-manager/git
|
||||||
../../modules/home-manager/neovim
|
../../modules/home-manager/nixvim
|
||||||
../../modules/home-manager/wezterm
|
../../modules/home-manager/wezterm
|
||||||
../../modules/home-manager/zsh
|
../../modules/home-manager/zsh
|
||||||
../../modules/home-manager/tmux
|
../../modules/home-manager/tmux
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
{ config, pkgs, inputs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[
|
pkgs,
|
||||||
inputs.home-manager.darwinModules.default
|
inputs,
|
||||||
];
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
inputs.home-manager.darwinModules.default
|
||||||
|
];
|
||||||
|
|
||||||
nixpkgs.hostPlatform = "aarch64-darwin";
|
nixpkgs.hostPlatform = "aarch64-darwin";
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
@ -29,7 +31,7 @@
|
|||||||
home = "/Users/mthomson";
|
home = "/Users/mthomson";
|
||||||
};
|
};
|
||||||
|
|
||||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
nix.settings.experimental-features = ["nix-command" "flakes"];
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
man-pages
|
man-pages
|
||||||
@ -46,7 +48,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
extraSpecialArgs = { inherit inputs; };
|
extraSpecialArgs = {inherit inputs;};
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
users = {
|
users = {
|
||||||
@ -54,8 +56,6 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# programs.zsh.enable = true;
|
|
||||||
|
|
||||||
system.stateVersion = 5;
|
system.stateVersion = 5;
|
||||||
|
|
||||||
# Auto upgrade nix package and the daemon service.
|
# Auto upgrade nix package and the daemon service.
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
../../modules/home-manager/git
|
../../modules/home-manager/git
|
||||||
../../modules/home-manager/nixvim
|
../../modules/home-manager/nixvim
|
||||||
@ -19,17 +21,15 @@
|
|||||||
|
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
EDITOR = "nvim";
|
EDITOR = "nvim";
|
||||||
|
ZK_NOTEBOOK_DIR = "\${HOME}/zk";
|
||||||
};
|
};
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
direnv = {
|
direnv = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableZshIntegration = true; # see note on other shells below
|
enableZshIntegration = true;
|
||||||
nix-direnv.enable = true;
|
nix-direnv.enable = true;
|
||||||
};
|
};
|
||||||
java = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
zk = {
|
zk = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
@ -38,10 +38,9 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
go = {
|
||||||
|
enable = true;
|
||||||
home.sessionVariables = {
|
};
|
||||||
ZK_NOTEBOOK_DIR = "\${HOME}/zk";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
@ -67,7 +66,6 @@
|
|||||||
glow
|
glow
|
||||||
gcc
|
gcc
|
||||||
nchat
|
nchat
|
||||||
go
|
|
||||||
emanote
|
emanote
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -1,22 +1,24 @@
|
|||||||
# 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, inputs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ # Include the results of the hardware scan.
|
pkgs,
|
||||||
./hardware-configuration.nix
|
inputs,
|
||||||
inputs.home-manager.nixosModules.default
|
...
|
||||||
inputs.nixos-hardware.nixosModules.lenovo-thinkpad-x220
|
}: {
|
||||||
../../modules/nixos/user.nix
|
imports = [
|
||||||
../../modules/nixos/i3.nix
|
# Include the results of the hardware scan.
|
||||||
../../modules/nixos/nm.nix
|
./hardware-configuration.nix
|
||||||
../../modules/nixos/sound.nix
|
inputs.home-manager.nixosModules.default
|
||||||
../../modules/nixos/env.nix
|
inputs.nixos-hardware.nixosModules.lenovo-thinkpad-x220
|
||||||
../../modules/nixos/1password.nix
|
../../modules/nixos/user.nix
|
||||||
];
|
../../modules/nixos/i3.nix
|
||||||
|
../../modules/nixos/nm.nix
|
||||||
|
../../modules/nixos/sound.nix
|
||||||
|
../../modules/nixos/env.nix
|
||||||
|
../../modules/nixos/1password.nix
|
||||||
|
];
|
||||||
|
|
||||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||||
|
|
||||||
@ -32,17 +34,16 @@
|
|||||||
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
nix.settings.experimental-features = ["nix-command" "flakes"];
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
neovim
|
|
||||||
wget
|
wget
|
||||||
git
|
git
|
||||||
curl
|
curl
|
||||||
];
|
];
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
extraSpecialArgs = { inherit inputs; };
|
extraSpecialArgs = {inherit inputs;};
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
users = {
|
users = {
|
||||||
|
@ -1,26 +1,30 @@
|
|||||||
# 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 = [ "ehci_pci" "ahci" "usb_storage" "sd_mod" "sdhci_pci" ];
|
boot.initrd.availableKernelModules = ["ehci_pci" "ahci" "usb_storage" "sd_mod" "sdhci_pci"];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = [ ];
|
boot.kernelModules = [];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-uuid/08ecde1d-02ae-4308-a6d1-93ec9361a2fc";
|
device = "/dev/disk/by-uuid/08ecde1d-02ae-4308-a6d1-93ec9361a2fc";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices =
|
swapDevices = [
|
||||||
[ { device = "/dev/disk/by-uuid/add2134a-831a-42bd-8822-8a4f0702aa06"; }
|
{device = "/dev/disk/by-uuid/add2134a-831a-42bd-8822-8a4f0702aa06";}
|
||||||
];
|
];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
../../modules/home-manager/i3
|
../../modules/home-manager/i3
|
||||||
../../modules/home-manager/ssh
|
../../modules/home-manager/ssh
|
||||||
../../modules/home-manager/git
|
../../modules/home-manager/git
|
||||||
../../modules/home-manager/neovim
|
../../modules/home-manager/nixvim
|
||||||
../../modules/home-manager/wezterm
|
../../modules/home-manager/wezterm
|
||||||
../../modules/home-manager/zsh
|
../../modules/home-manager/zsh
|
||||||
../../modules/home-manager/tmux
|
../../modules/home-manager/tmux
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
{ pkgs, config, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
w3m
|
w3m
|
||||||
];
|
];
|
||||||
@ -114,11 +116,11 @@
|
|||||||
vdirsyncer = {
|
vdirsyncer = {
|
||||||
enable = true;
|
enable = true;
|
||||||
auth = "basic";
|
auth = "basic";
|
||||||
collections = [ "default" "shared" ];
|
collections = ["default" "shared"];
|
||||||
};
|
};
|
||||||
khal = {
|
khal = {
|
||||||
enable = true;
|
enable = true;
|
||||||
addresses = [ "michael@michaelthomson.dev" ];
|
addresses = ["michael@michaelthomson.dev"];
|
||||||
type = "discover";
|
type = "discover";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -142,16 +144,12 @@
|
|||||||
vdirsyncer = {
|
vdirsyncer = {
|
||||||
enable = true;
|
enable = true;
|
||||||
auth = "basic";
|
auth = "basic";
|
||||||
collections = [ "default" ];
|
collections = ["default"];
|
||||||
};
|
};
|
||||||
khal = {
|
khal = {
|
||||||
enable = true;
|
enable = true;
|
||||||
addresses = [ "michael@michaelthomson.dev" ];
|
addresses = ["michael@michaelthomson.dev"];
|
||||||
collections = [ "default" ];
|
collections = ["default"];
|
||||||
};
|
|
||||||
khard = {
|
|
||||||
enable = true;
|
|
||||||
defaultCollection = "default";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
{ pkgs, config, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
userName = "Michael Thomson";
|
userName = "Michael Thomson";
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
{ pkgs, config, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
home.file.".config/i3/config".source = ./config;
|
home.file.".config/i3/config".source = ./config;
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
{ pkgs, config, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
font = {
|
font = {
|
||||||
|
@ -1,23 +0,0 @@
|
|||||||
{ inputs, pkgs, config, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
fzf
|
|
||||||
ripgrep
|
|
||||||
luarocks
|
|
||||||
luajit
|
|
||||||
lua-language-server
|
|
||||||
nil
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.neovim = {
|
|
||||||
enable = true;
|
|
||||||
package = inputs.neovim-nightly-overlay.packages.${pkgs.system}.default;
|
|
||||||
};
|
|
||||||
|
|
||||||
home.file.".config/nvim/" = {
|
|
||||||
source = ./nvim;
|
|
||||||
recursive = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
@ -1,76 +0,0 @@
|
|||||||
# My Neovim Config
|
|
||||||
<a href="https://dotfyle.com/michaelthomson0797/nvim"><img src="https://dotfyle.com/michaelthomson0797/nvim/badges/plugins?style=flat" /></a>
|
|
||||||
<a href="https://dotfyle.com/michaelthomson0797/nvim"><img src="https://dotfyle.com/michaelthomson0797/nvim/badges/leaderkey?style=flat" /></a>
|
|
||||||
<a href="https://dotfyle.com/michaelthomson0797/nvim"><img src="https://dotfyle.com/michaelthomson0797/nvim/badges/plugin-manager?style=flat" /></a>
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
<!--toc:start-->
|
|
||||||
- [My Neovim Config](#my-neovim-config)
|
|
||||||
- [Prerequisites](#prerequisites)
|
|
||||||
- [Installation](#installation)
|
|
||||||
- [Plugins used](#plugins-used)
|
|
||||||
- [Basic Keybinds](#basic-keybinds)
|
|
||||||
- [Project Navigation](#project-navigation)
|
|
||||||
- [File Navigation](#file-navigation)
|
|
||||||
- [LSP Commands](#lsp-commands)
|
|
||||||
<!--toc:end-->
|
|
||||||
|
|
||||||
An okay config
|
|
||||||
|
|
||||||
## Prerequisites
|
|
||||||
- `neovim`
|
|
||||||
- `git`
|
|
||||||
- `fzf`
|
|
||||||
- `ripgrep`
|
|
||||||
|
|
||||||
## Installation
|
|
||||||
Clone this folder, or copy all the contents to `~/.config/nvim/`
|
|
||||||
|
|
||||||
## Plugins used
|
|
||||||
- `lazy.nvim`: Package manager that manages installed plugins
|
|
||||||
- `lsp-zero`: Basic configurations for providing language server support like autocompletion, intellisense, diagnostics, etc.
|
|
||||||
- `alpha-nvim`: Splash screen when starting neovim
|
|
||||||
- `fidget.nvim`: LSP status indicator
|
|
||||||
- `gitsigns.nvim`: File change indicators in the buffer gutter
|
|
||||||
- `harpoon`: Project-specific file bookmarking and rapid navigation
|
|
||||||
- `leap.nvim`: Fast file navigation by jumping to characters in the buffer
|
|
||||||
- `lspsaga.nvim`: UI replacement for many LSP function (rename, documentation hover, etc.)
|
|
||||||
- `lualine.nvim`: Status with nice styling
|
|
||||||
- `mini.nvim`: A collection of utilities
|
|
||||||
- `mini.comment`: Apply language sensitive comments
|
|
||||||
- `mini.pairs`: automatically pair parens, quotes, etc.
|
|
||||||
- `mini.surround`: Quickly add, edit, delete surroundings (parens, quotes, etc.)
|
|
||||||
- `mini.splitjoin`: quickly split or join a list
|
|
||||||
- `mini.jump`: enhanced f/F/t/T movement
|
|
||||||
- `neo-tree.nvim`: File tree explorer and editor
|
|
||||||
- `noice.nvim`: Fancy UI replacements
|
|
||||||
- `nvim-ts-autotag`: Automatic pairing of HTML tags in `.html`, `.jsx`, `.tsx`
|
|
||||||
- `telescope.nvim`: Fuzzy file and text finder
|
|
||||||
- `toggleterm.nvim`: Quickly toggle integrated terminal on and off
|
|
||||||
- `nvim-treesitter`: Syntax tree parsing
|
|
||||||
- `trouble.nvim`: Diagnostics listing
|
|
||||||
- `undotree`: Show file undo/redo history as a tree and traverse it
|
|
||||||
|
|
||||||
## Basic Keybinds
|
|
||||||
### Project Navigation
|
|
||||||
- `<leader>fe`: open file explorer
|
|
||||||
- `<leader>ff`: fuzzy find files in project
|
|
||||||
- `<leader>fg`: fuzzy find text in project
|
|
||||||
- `<leader>fg`: fuzzy find text in project
|
|
||||||
|
|
||||||
### File Navigation
|
|
||||||
- `s{c1}{c2}`: searches the active buffer for the two provided characters and provides prompts to press to instantly navigate to that pair
|
|
||||||
|
|
||||||
### LSP Commands
|
|
||||||
- `gd`: Go to definition
|
|
||||||
- `gr`: Go to references
|
|
||||||
- `<leader>rn`: Rename symbol
|
|
||||||
- `<leader>ca`: Code actions
|
|
||||||
- `<leader>ds`: Fuzzy find document symbols
|
|
||||||
- `<leader>ws`: Fuzzy find workspace symbols
|
|
||||||
- `[d`/`]d`: Jump to next/prev diagnostic
|
|
||||||
- `K`: Show symbol documentation
|
|
||||||
- `<leader>o`: show outline
|
|
||||||
|
|
||||||
|
|
@ -1,71 +0,0 @@
|
|||||||
local opt = vim.opt
|
|
||||||
|
|
||||||
-- Bootstrap lazy.nvim
|
|
||||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
|
||||||
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
|
||||||
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
|
||||||
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
|
|
||||||
if vim.v.shell_error ~= 0 then
|
|
||||||
vim.api.nvim_echo({
|
|
||||||
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
|
|
||||||
{ out, "WarningMsg" },
|
|
||||||
{ "\nPress any key to exit..." },
|
|
||||||
}, true, {})
|
|
||||||
vim.fn.getchar()
|
|
||||||
os.exit(1)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
vim.opt.rtp:prepend(lazypath)
|
|
||||||
|
|
||||||
vim.api.nvim_set_keymap("", "<Space>", "<Nop>", { noremap = true, silent = true })
|
|
||||||
vim.g.mapleader = " "
|
|
||||||
vim.g.maplocalleader = " "
|
|
||||||
|
|
||||||
-- Setup lazy.nvim
|
|
||||||
require("lazy").setup({
|
|
||||||
spec = {
|
|
||||||
{ import = "plugins" },
|
|
||||||
},
|
|
||||||
install = { colorscheme = { "habamax" } },
|
|
||||||
checker = { enabled = true },
|
|
||||||
})
|
|
||||||
|
|
||||||
-- Load core settings
|
|
||||||
opt.hlsearch = false -- turn off highlight on search
|
|
||||||
opt.relativenumber = true --Make relative number default
|
|
||||||
opt.updatetime = 50 --Decrease update time
|
|
||||||
opt.clipboard = 'unnamedplus' -- Access system clipboard
|
|
||||||
opt.laststatus = 3 -- Global status line
|
|
||||||
opt.swapfile = false
|
|
||||||
vim.opt_local.conceallevel = 2
|
|
||||||
vim.opt.inccommand = 'split'
|
|
||||||
|
|
||||||
vim.opt.conceallevel = 2;
|
|
||||||
|
|
||||||
-- Time in milliseconds to wait for a mapped sequence to complete.
|
|
||||||
opt.timeoutlen = 300
|
|
||||||
|
|
||||||
opt.scrolloff = 10 -- Lines of context
|
|
||||||
opt.expandtab = true
|
|
||||||
opt.smarttab = true
|
|
||||||
opt.textwidth = 0
|
|
||||||
opt.autoindent = true
|
|
||||||
opt.shiftwidth = 2
|
|
||||||
opt.tabstop = 2
|
|
||||||
opt.softtabstop = 2
|
|
||||||
opt.guifont = "Iosevka Nerd Font Mono"
|
|
||||||
|
|
||||||
vim.keymap.set("n", "<C-d>", "<C-d>zz")
|
|
||||||
vim.keymap.set("n", "<C-u>", "<C-u>zz")
|
|
||||||
vim.keymap.set("n", "n", "nzzzv")
|
|
||||||
vim.keymap.set("n", "N", "Nzzzv")
|
|
||||||
|
|
||||||
vim.keymap.set("x", "<leader>p", [["_dP]])
|
|
||||||
vim.keymap.set({"n", "v"}, "<leader>y", [["+y]])
|
|
||||||
vim.keymap.set("n", "<leader>Y", [["+Y]])
|
|
||||||
vim.keymap.set({"n", "v"}, "<leader>d", [["_d]])
|
|
||||||
|
|
||||||
vim.keymap.set("n", "Q", "<nop>")
|
|
||||||
vim.keymap.set("n", "<c-f>", "<nop>")
|
|
||||||
|
|
||||||
vim.keymap.set("i", "jk", "<Esc>")
|
|
@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
"diagnostics.globals": [
|
|
||||||
"vim"
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,6 +0,0 @@
|
|||||||
return {
|
|
||||||
'zSnails/NeoNeedsKey',
|
|
||||||
config = function ()
|
|
||||||
require("NeoNeedsKey").setup()
|
|
||||||
end
|
|
||||||
}
|
|
@ -1,9 +0,0 @@
|
|||||||
return {
|
|
||||||
'theprimeagen/harpoon',
|
|
||||||
keys = {
|
|
||||||
{ "<leader>a", function() require('harpoon.mark').add_file() end },
|
|
||||||
{ "<leader>e", function() require('harpoon.ui').toggle_quick_menu() end },
|
|
||||||
{ "<leader>k", function() require('harpoon.ui').nav_next() end },
|
|
||||||
{ "<leader>j", function() require('harpoon.ui').nav_prev() end },
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,6 +0,0 @@
|
|||||||
return {
|
|
||||||
"rebelot/kanagawa.nvim",
|
|
||||||
config = function ()
|
|
||||||
vim.cmd.colorscheme "kanagawa"
|
|
||||||
end
|
|
||||||
}
|
|
@ -1,191 +0,0 @@
|
|||||||
return {
|
|
||||||
{
|
|
||||||
'folke/lazydev.nvim',
|
|
||||||
ft = 'lua',
|
|
||||||
opts = {
|
|
||||||
library = {
|
|
||||||
{ path = 'luvit-meta/library', words = { 'vim%.uv' } },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{ 'Bilal2453/luvit-meta', lazy = true },
|
|
||||||
{
|
|
||||||
'neovim/nvim-lspconfig',
|
|
||||||
cmd = 'LspInfo',
|
|
||||||
event = {'BufReadPre', 'BufNewFile'},
|
|
||||||
config = function()
|
|
||||||
vim.api.nvim_create_autocmd('LspAttach', {
|
|
||||||
group = vim.api.nvim_create_augroup('lsp-attach', { clear = true }),
|
|
||||||
callback = function(event)
|
|
||||||
local map = function(keys, func, desc, mode)
|
|
||||||
mode = mode or 'n'
|
|
||||||
vim.keymap.set(mode, keys, func, { buffer = event.buf, desc = "LSP: " .. desc })
|
|
||||||
end
|
|
||||||
|
|
||||||
map("gd", function() vim.lsp.buf.definition() end, 'goto defintion')
|
|
||||||
map("gr", function() vim.lsp.buf.references() end, 'goto references')
|
|
||||||
map("K", function() vim.lsp.buf.hover() end, 'hover')
|
|
||||||
map("<leader>ws", function() vim.lsp.buf.workspace_symbol() end, 'workspace symbols')
|
|
||||||
map("<leader>d", function() vim.diagnostic.open_float() end, 'diagnostic float')
|
|
||||||
map("[d", function() vim.diagnostic.jump({ count = 1, float = true }) end, 'next diagnostic')
|
|
||||||
map("]d", function() vim.diagnostic.jump({ count = -1, float = true }) end, 'prev diagnostic')
|
|
||||||
map("<leader>ca", function() vim.lsp.buf.code_action() end, 'code actions')
|
|
||||||
map("<leader>rn", function() vim.lsp.buf.rename() end, 'rename')
|
|
||||||
map("<C-h>", function() vim.lsp.buf.signature_help() end, 'signature help', "i")
|
|
||||||
end
|
|
||||||
})
|
|
||||||
|
|
||||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
|
||||||
capabilities = vim.tbl_deep_extend('force', capabilities, require('cmp_nvim_lsp').default_capabilities())
|
|
||||||
|
|
||||||
-- Server configs
|
|
||||||
local lsp = require('lspconfig')
|
|
||||||
|
|
||||||
-- vue
|
|
||||||
lsp.volar.setup({
|
|
||||||
capabilities = capabilities,
|
|
||||||
})
|
|
||||||
|
|
||||||
-- typescript / javascript
|
|
||||||
require'lspconfig'.ts_ls.setup{
|
|
||||||
capabilities = capabilities,
|
|
||||||
init_options = {
|
|
||||||
plugins = {
|
|
||||||
{
|
|
||||||
name = "@vue/typescript-plugin",
|
|
||||||
location = "",
|
|
||||||
languages = {"javascript", "typescript", "vue"},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
filetypes = { "javascript", "javascriptreact", "javascript.jsx", "typescript", "typescriptreact", "typescript.tsx", "vue" }
|
|
||||||
}
|
|
||||||
|
|
||||||
-- eslint
|
|
||||||
lsp.eslint.setup({
|
|
||||||
capabilities = capabilities,
|
|
||||||
})
|
|
||||||
|
|
||||||
-- tailwind
|
|
||||||
lsp.tailwindcss.setup({
|
|
||||||
capabilities = capabilities,
|
|
||||||
root_dir = lsp.util.root_pattern('tailwind.config.js', 'tailwind.config.cjs', 'tailwind.config.mjs', 'tailwind.config.ts')
|
|
||||||
})
|
|
||||||
|
|
||||||
-- html
|
|
||||||
lsp.html.setup({
|
|
||||||
capabilities = capabilities,
|
|
||||||
})
|
|
||||||
|
|
||||||
-- go
|
|
||||||
lsp.gopls.setup({
|
|
||||||
capabilities = capabilities,
|
|
||||||
})
|
|
||||||
lsp.golangci_lint_ls.setup({
|
|
||||||
capabilities = capabilities,
|
|
||||||
})
|
|
||||||
|
|
||||||
-- templ
|
|
||||||
vim.filetype.add({ extension = { templ = "templ" } })
|
|
||||||
lsp.templ.setup({
|
|
||||||
capabilities = capabilities,
|
|
||||||
})
|
|
||||||
|
|
||||||
lsp.lua_ls.setup({
|
|
||||||
capabilities = capabilities,
|
|
||||||
})
|
|
||||||
|
|
||||||
lsp.nil_ls.setup({
|
|
||||||
capabilities = capabilities,
|
|
||||||
})
|
|
||||||
|
|
||||||
lsp.ccls.setup({
|
|
||||||
capabilities = capabilities,
|
|
||||||
})
|
|
||||||
lsp.astro.setup({
|
|
||||||
capabilities = capabilities,
|
|
||||||
})
|
|
||||||
lsp.cssls.setup({
|
|
||||||
capabilities = capabilities,
|
|
||||||
})
|
|
||||||
lsp.jdtls.setup({
|
|
||||||
capabilities = capabilities,
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'hrsh7th/nvim-cmp',
|
|
||||||
event = 'InsertEnter',
|
|
||||||
dependencies = {
|
|
||||||
{
|
|
||||||
'L3MON4D3/LuaSnip',
|
|
||||||
build = (function()
|
|
||||||
-- Build Step is needed for regex support in snippets.
|
|
||||||
-- This step is not supported in many windows environments.
|
|
||||||
-- Remove the below condition to re-enable on windows.
|
|
||||||
if vim.fn.has 'win32' == 1 or vim.fn.executable 'make' == 0 then
|
|
||||||
return
|
|
||||||
end
|
|
||||||
return 'make install_jsregexp'
|
|
||||||
end)(),
|
|
||||||
dependencies = {
|
|
||||||
{
|
|
||||||
'rafamadriz/friendly-snippets',
|
|
||||||
config = function()
|
|
||||||
require('luasnip.loaders.from_vscode').lazy_load()
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
'saadparwaiz1/cmp_luasnip',
|
|
||||||
'hrsh7th/cmp-nvim-lsp',
|
|
||||||
'hrsh7th/cmp-path',
|
|
||||||
},
|
|
||||||
config = function()
|
|
||||||
-- See `:help cmp`
|
|
||||||
local cmp = require 'cmp'
|
|
||||||
local luasnip = require 'luasnip'
|
|
||||||
luasnip.config.setup {}
|
|
||||||
|
|
||||||
cmp.setup {
|
|
||||||
snippet = {
|
|
||||||
expand = function(args)
|
|
||||||
luasnip.lsp_expand(args.body)
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
completion = { completeopt = 'menu,menuone,noinsert' },
|
|
||||||
mapping = cmp.mapping.preset.insert {
|
|
||||||
['<C-n>'] = cmp.mapping.select_next_item(),
|
|
||||||
['<C-p>'] = cmp.mapping.select_prev_item(),
|
|
||||||
['<C-b>'] = cmp.mapping.scroll_docs(-4),
|
|
||||||
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
|
||||||
['<C-y>'] = cmp.mapping.confirm { select = true },
|
|
||||||
['<C-Space>'] = cmp.mapping.complete {},
|
|
||||||
['<C-l>'] = cmp.mapping(function()
|
|
||||||
if luasnip.expand_or_locally_jumpable() then
|
|
||||||
luasnip.expand_or_jump()
|
|
||||||
end
|
|
||||||
end, { 'i', 's' }),
|
|
||||||
['<C-h>'] = cmp.mapping(function()
|
|
||||||
if luasnip.locally_jumpable(-1) then
|
|
||||||
luasnip.jump(-1)
|
|
||||||
end
|
|
||||||
end, { 'i', 's' }),
|
|
||||||
},
|
|
||||||
sources = {
|
|
||||||
{
|
|
||||||
name = 'lazydev',
|
|
||||||
-- set group index to 0 to skip loading LuaLS completions as lazydev recommends it
|
|
||||||
group_index = 0,
|
|
||||||
},
|
|
||||||
{ name = 'nvim_lsp' },
|
|
||||||
{ name = 'luasnip' },
|
|
||||||
{ name = 'path' },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'nvim-tree/nvim-web-devicons',
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,114 +0,0 @@
|
|||||||
return { -- Collection of various small independent plugins/modules
|
|
||||||
'echasnovski/mini.nvim',
|
|
||||||
version = false,
|
|
||||||
config = function()
|
|
||||||
local keymap = vim.keymap.set
|
|
||||||
|
|
||||||
require('mini.ai').setup { n_lines = 500 }
|
|
||||||
|
|
||||||
require('mini.surround').setup()
|
|
||||||
|
|
||||||
-- Simple and easy statusline.
|
|
||||||
local statusline = require 'mini.statusline'
|
|
||||||
statusline.setup { use_icons = true }
|
|
||||||
statusline.section_location = function()
|
|
||||||
return '%2l:%-2v'
|
|
||||||
end
|
|
||||||
|
|
||||||
require('mini.basics').setup({
|
|
||||||
options = {
|
|
||||||
extra_ui = true,
|
|
||||||
win_borders = "bold"
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
require('mini.comment').setup()
|
|
||||||
|
|
||||||
local icons = require('mini.icons')
|
|
||||||
icons.setup()
|
|
||||||
icons.tweak_lsp_kind()
|
|
||||||
|
|
||||||
require('mini.indentscope').setup({
|
|
||||||
draw = {
|
|
||||||
delay = 0,
|
|
||||||
animation = require('mini.indentscope').gen_animation.none()
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
require('mini.diff').setup()
|
|
||||||
|
|
||||||
require('mini.extra').setup()
|
|
||||||
|
|
||||||
require('mini.jump').setup()
|
|
||||||
|
|
||||||
-- require('mini.jump2d').setup()
|
|
||||||
|
|
||||||
local files = require('mini.files')
|
|
||||||
files.setup()
|
|
||||||
keymap("n", "<leader>fe", function() files.open(vim.api.nvim_buf_get_name(0)) end, { noremap = true, silent = true })
|
|
||||||
|
|
||||||
require('mini.git').setup()
|
|
||||||
|
|
||||||
local hipatterns = require('mini.hipatterns')
|
|
||||||
hipatterns.setup({
|
|
||||||
highlighters = {
|
|
||||||
-- Highlight standalone 'FIXME', 'HACK', 'TODO', 'NOTE'
|
|
||||||
fixme = { pattern = '%f[%w]()FIXME()%f[%W]', group = 'MiniHipatternsFixme' },
|
|
||||||
hack = { pattern = '%f[%w]()HACK()%f[%W]', group = 'MiniHipatternsHack' },
|
|
||||||
todo = { pattern = '%f[%w]()TODO()%f[%W]', group = 'MiniHipatternsTodo' },
|
|
||||||
note = { pattern = '%f[%w]()NOTE()%f[%W]', group = 'MiniHipatternsNote' },
|
|
||||||
|
|
||||||
-- Highlight hex color strings (`#rrggbb`) using that color
|
|
||||||
hex_color = hipatterns.gen_highlighter.hex_color(),
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
require('mini.move').setup()
|
|
||||||
|
|
||||||
require('mini.notify').setup()
|
|
||||||
|
|
||||||
require('mini.pairs').setup()
|
|
||||||
|
|
||||||
local pick = require('mini.pick')
|
|
||||||
pick.setup()
|
|
||||||
keymap("n", "<leader>ff", pick.builtin.files, { noremap = true, silent = true })
|
|
||||||
keymap("n", "<leader>fg", pick.builtin.grep_live, { noremap = true, silent = true })
|
|
||||||
keymap("n", "<leader>fwg", function()
|
|
||||||
local wrd = vim.fn.expand("<cword>")
|
|
||||||
pick.builtin.grep({ pattern = wrd })
|
|
||||||
end, { noremap = true, silent = true })
|
|
||||||
|
|
||||||
-- require('mini.base16').setup({
|
|
||||||
-- palette = {
|
|
||||||
-- base00 = "#303446",
|
|
||||||
-- base01 = "#292c3c",
|
|
||||||
-- base02 = "#414559",
|
|
||||||
-- base03 = "#51576d",
|
|
||||||
-- base04 = "#626880",
|
|
||||||
-- base05 = "#c6d0f5",
|
|
||||||
-- base06 = "#f2d5cf",
|
|
||||||
-- base07 = "#babbf1",
|
|
||||||
-- base08 = "#e78284",
|
|
||||||
-- base09 = "#ef9f76",
|
|
||||||
-- base0A = "#e5c890",
|
|
||||||
-- base0B = "#a6d189",
|
|
||||||
-- base0C = "#81c8be",
|
|
||||||
-- base0D = "#8caaee",
|
|
||||||
-- base0E = "#ca9ee6",
|
|
||||||
-- base0F = "#eebebe",
|
|
||||||
-- }
|
|
||||||
-- })
|
|
||||||
--
|
|
||||||
-- require('mini.hues').setup({
|
|
||||||
-- foreground = '#ffffff',
|
|
||||||
-- background = '#000000',
|
|
||||||
-- n_hues = 0,
|
|
||||||
-- accent = 'orange',
|
|
||||||
-- saturation = 'high'
|
|
||||||
-- })
|
|
||||||
|
|
||||||
require('mini.splitjoin').setup()
|
|
||||||
|
|
||||||
require('mini.trailspace').setup()
|
|
||||||
end,
|
|
||||||
}
|
|
@ -1,29 +0,0 @@
|
|||||||
return {
|
|
||||||
"nvim-neotest/neotest",
|
|
||||||
lazy = false,
|
|
||||||
dependencies = {
|
|
||||||
"nvim-neotest/nvim-nio",
|
|
||||||
"nvim-lua/plenary.nvim",
|
|
||||||
"antoinemadec/FixCursorHold.nvim",
|
|
||||||
"nvim-treesitter/nvim-treesitter",
|
|
||||||
"marilari88/neotest-vitest",
|
|
||||||
},
|
|
||||||
config = function()
|
|
||||||
require("neotest").setup({
|
|
||||||
adapters = {
|
|
||||||
require("neotest-vitest") {
|
|
||||||
-- Filter directories when searching for test files. Useful in large projects (see Filter directories notes).
|
|
||||||
filter_dir = function(name, rel_path, root)
|
|
||||||
return name ~= "node_modules" and name ~=".direnv"
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader>tt", function() require("neotest").run.run() end)
|
|
||||||
vim.keymap.set("n", "<leader>tf", function() require("neotest").run.run(vim.fn.expand("%")) end)
|
|
||||||
vim.keymap.set("n", "<leader>ts", function() require("neotest").summary.toggle() end)
|
|
||||||
vim.keymap.set("n", "<leader>to", function() require("neotest").output.open({ enter = true }) end)
|
|
||||||
vim.keymap.set("n", "<leader>tp", function() require("neotest").output_panel.toggle() end)
|
|
||||||
end,
|
|
||||||
}
|
|
@ -1,19 +0,0 @@
|
|||||||
return {
|
|
||||||
"christoomey/vim-tmux-navigator",
|
|
||||||
cmd = {
|
|
||||||
"TmuxNavigateLeft",
|
|
||||||
"TmuxNavigateDown",
|
|
||||||
"TmuxNavigateUp",
|
|
||||||
"TmuxNavigateRight",
|
|
||||||
"TmuxNavigatePrevious",
|
|
||||||
},
|
|
||||||
keys = {
|
|
||||||
{ "<c-h>", "<cmd><C-U>TmuxNavigateLeft<cr>" },
|
|
||||||
{ "<c-j>", "<cmd><C-U>TmuxNavigateDown<cr>" },
|
|
||||||
{ "<c-k>", "<cmd><C-U>TmuxNavigateUp<cr>" },
|
|
||||||
{ "<c-l>", "<cmd><C-U>TmuxNavigateRight<cr>" },
|
|
||||||
{ "<c-\\>", "<cmd><C-U>TmuxNavigatePrevious<cr>" },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
|||||||
return {
|
|
||||||
'MeanderingProgrammer/render-markdown.nvim',
|
|
||||||
dependencies = { 'nvim-treesitter/nvim-treesitter', 'echasnovski/mini.nvim' }, -- if you use the mini.nvim suite
|
|
||||||
-- dependencies = { 'nvim-treesitter/nvim-treesitter', 'echasnovski/mini.icons' }, -- if you use standalone mini plugins
|
|
||||||
-- dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-tree/nvim-web-devicons' }, -- if you prefer nvim-web-devicons
|
|
||||||
---@module 'render-markdown'
|
|
||||||
---@type render.md.UserConfig
|
|
||||||
opts = {
|
|
||||||
-- heading = {
|
|
||||||
-- position = 'inline',
|
|
||||||
-- },
|
|
||||||
sign = {
|
|
||||||
enabled = false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
@ -1,4 +0,0 @@
|
|||||||
return {
|
|
||||||
'xiyaowong/transparent.nvim',
|
|
||||||
lazy = false,
|
|
||||||
}
|
|
@ -1,71 +0,0 @@
|
|||||||
return {
|
|
||||||
{
|
|
||||||
'nvim-treesitter/nvim-treesitter',
|
|
||||||
config = function()
|
|
||||||
require('nvim-treesitter.configs').setup({
|
|
||||||
sync_install = false,
|
|
||||||
auto_install = true,
|
|
||||||
indent = { enable = true },
|
|
||||||
highlight = { enable = true },
|
|
||||||
autotag = { enable = true },
|
|
||||||
|
|
||||||
-- text object selection
|
|
||||||
textobjects = {
|
|
||||||
select = {
|
|
||||||
enable = true,
|
|
||||||
|
|
||||||
-- Automatically jump forward to textobj, similar to targets.vim
|
|
||||||
lookahead = true,
|
|
||||||
|
|
||||||
keymaps = {
|
|
||||||
-- You can use the capture groups defined in textobjects.scm
|
|
||||||
["af"] = "@function.outer",
|
|
||||||
["if"] = "@function.inner",
|
|
||||||
["ac"] = "@class.outer",
|
|
||||||
["ic"] = "@class.inner",
|
|
||||||
-- You can also use captures from other query groups like `locals.scm`
|
|
||||||
["as"] = { query = "@scope", query_group = "locals", desc = "Select language scope" },
|
|
||||||
},
|
|
||||||
-- You can choose the select mode (default is charwise 'v')
|
|
||||||
--
|
|
||||||
-- Can also be a function which gets passed a table with the keys
|
|
||||||
-- * query_string: eg '@function.inner'
|
|
||||||
-- * method: eg 'v' or 'o'
|
|
||||||
-- and should return the mode ('v', 'V', or '<c-v>') or a table
|
|
||||||
-- mapping query_strings to modes.
|
|
||||||
selection_modes = {
|
|
||||||
['@parameter.outer'] = 'v', -- charwise
|
|
||||||
['@function.outer'] = 'V', -- linewise
|
|
||||||
['@class.outer'] = '<c-v>', -- blockwise
|
|
||||||
},
|
|
||||||
-- If you set this to `true` (default is `false`) then any textobject is
|
|
||||||
-- extended to include preceding or succeeding whitespace. Succeeding
|
|
||||||
-- whitespace has priority in order to act similarly to eg the built-in
|
|
||||||
-- `ap`.
|
|
||||||
--
|
|
||||||
-- Can also be a function which gets passed a table with the keys
|
|
||||||
-- * query_string: eg '@function.inner'
|
|
||||||
-- * selection_mode: eg 'v'
|
|
||||||
-- and should return true of false
|
|
||||||
include_surrounding_whitespace = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
})
|
|
||||||
vim.wo.foldmethod = 'expr'
|
|
||||||
vim.wo.foldexpr = 'v:lua.vim.treesitter.foldexpr()'
|
|
||||||
|
|
||||||
function _G.MyFoldText()
|
|
||||||
local line = vim.fn.getline(vim.v.foldstart)
|
|
||||||
return line .. " "
|
|
||||||
end
|
|
||||||
|
|
||||||
vim.opt.foldtext = 'v:lua.MyFoldText()'
|
|
||||||
vim.opt.fillchars:append(',fold: ')
|
|
||||||
vim.opt.foldlevel = 99;
|
|
||||||
end
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'nvim-treesitter/nvim-treesitter-textobjects'
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
|||||||
return {
|
|
||||||
'mbbill/undotree',
|
|
||||||
keys = {
|
|
||||||
{ "<leader>u", vim.cmd.UndotreeToggle, desc = "Undotree" },
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,6 +0,0 @@
|
|||||||
return {
|
|
||||||
'lervag/wiki.vim',
|
|
||||||
config = function()
|
|
||||||
vim.g.wiki_root = '~/wiki'
|
|
||||||
end
|
|
||||||
}
|
|
@ -1,8 +0,0 @@
|
|||||||
return {
|
|
||||||
"folke/zen-mode.nvim",
|
|
||||||
opts = {
|
|
||||||
window = {
|
|
||||||
width = 80,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
@ -1,10 +1,17 @@
|
|||||||
{ inputs, pkgs, config, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
inputs.nixvim.homeManagerModules.nixvim
|
inputs.nixvim.homeManagerModules.nixvim
|
||||||
];
|
];
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
alejandra
|
||||||
|
];
|
||||||
|
|
||||||
programs.nixvim = {
|
programs.nixvim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
defaultEditor = true;
|
defaultEditor = true;
|
||||||
@ -181,18 +188,18 @@
|
|||||||
"<C-y>" = "cmp.mapping.confirm { select = true }";
|
"<C-y>" = "cmp.mapping.confirm { select = true }";
|
||||||
"<C-Space>" = "cmp.mapping.complete {}";
|
"<C-Space>" = "cmp.mapping.complete {}";
|
||||||
"<C-l>" = ''
|
"<C-l>" = ''
|
||||||
cmp.mapping(function()
|
cmp.mapping(function()
|
||||||
if luasnip.expand_or_locally_jumpable() then
|
if luasnip.expand_or_locally_jumpable() then
|
||||||
luasnip.expand_or_jump()
|
luasnip.expand_or_jump()
|
||||||
end
|
end
|
||||||
end, { 'i', 's' })
|
end, { 'i', 's' })
|
||||||
'';
|
'';
|
||||||
"<C-h>" = ''
|
"<C-h>" = ''
|
||||||
cmp.mapping(function()
|
cmp.mapping(function()
|
||||||
if luasnip.locally_jumpable(-1) then
|
if luasnip.locally_jumpable(-1) then
|
||||||
luasnip.jump(-1)
|
luasnip.jump(-1)
|
||||||
end
|
end
|
||||||
end, { 'i', 's' })
|
end, { 'i', 's' })
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
sources = [
|
sources = [
|
||||||
@ -228,6 +235,19 @@
|
|||||||
servers = {
|
servers = {
|
||||||
nixd = {
|
nixd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
formatting = {
|
||||||
|
command = ["alejandra"];
|
||||||
|
};
|
||||||
|
options = {
|
||||||
|
nix-darwin = {
|
||||||
|
expr = "(builtins.getFlake (\"git+file://\" + toString ./.)).darwinConfigurations.macbook.options";
|
||||||
|
};
|
||||||
|
home-manager = {
|
||||||
|
expr = "(import <home-manager/modules> { configuration = ~/.config/home-manager/home.nix; pkgs = import <nixpkgs> {}; }).options";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
ts_ls = {
|
ts_ls = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
{ pkgs, config, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
pinentry-curses
|
pinentry-curses
|
||||||
];
|
];
|
||||||
@ -11,7 +13,7 @@
|
|||||||
};
|
};
|
||||||
password-store = {
|
password-store = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.pass.withExtensions (exts: [ exts.pass-otp exts.pass-file exts.pass-import ]);
|
package = pkgs.pass.withExtensions (exts: [exts.pass-otp exts.pass-file exts.pass-import]);
|
||||||
settings = {
|
settings = {
|
||||||
PASSWORD_STORE_DIR = "\${HOME}/.password-store";
|
PASSWORD_STORE_DIR = "\${HOME}/.password-store";
|
||||||
};
|
};
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
{ pkgs, config, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs.ssh = {
|
programs.ssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
{ pkgs, config, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
services = {
|
services = {
|
||||||
syncthing = {
|
syncthing = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
{ pkgs, config, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs = {
|
programs = {
|
||||||
taskwarrior = {
|
taskwarrior = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
{ pkgs, config, ... }:
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
# TODO: Remove the default shell and default-command once tmux sensibleOnTop fixes their shit
|
# TODO: Remove the default shell and default-command once tmux sensibleOnTop fixes their shit
|
||||||
# ref: https://github.com/nix-community/home-manager/issues/5952
|
# ref: https://github.com/nix-community/home-manager/issues/5952
|
||||||
|
|
||||||
{
|
{
|
||||||
programs = {
|
programs = {
|
||||||
tmux = {
|
tmux = {
|
||||||
@ -16,28 +18,28 @@
|
|||||||
tmuxPlugins.vim-tmux-navigator
|
tmuxPlugins.vim-tmux-navigator
|
||||||
];
|
];
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
bind '"' split-window -c "#{pane_current_path}"
|
bind '"' split-window -c "#{pane_current_path}"
|
||||||
bind % split-window -h -c "#{pane_current_path}"
|
bind % split-window -h -c "#{pane_current_path}"
|
||||||
set-option -sa terminal-overrides ",xterm*:Tc"
|
set-option -sa terminal-overrides ",xterm*:Tc"
|
||||||
set -s escape-time 0
|
set -s escape-time 0
|
||||||
set -g status-left-length 30 # could be any number
|
set -g status-left-length 30 # could be any number
|
||||||
fg="#CBCCC6"
|
fg="#CBCCC6"
|
||||||
bg="#212732"
|
bg="#212732"
|
||||||
status_bg="#34455A"
|
status_bg="#34455A"
|
||||||
border_fg="#70748C"
|
border_fg="#70748C"
|
||||||
border_active_fg="#FECB6E"
|
border_active_fg="#FECB6E"
|
||||||
status_left_bg="#FFA759"
|
status_left_bg="#FFA759"
|
||||||
|
|
||||||
set -g status-style "bg=$status_bg,fg=$fg"
|
set -g status-style "bg=$status_bg,fg=$fg"
|
||||||
|
|
||||||
set -g pane-border-style "bg=$bg,fg=$border_fg"
|
set -g pane-border-style "bg=$bg,fg=$border_fg"
|
||||||
set -g pane-active-border-style "bg=$bg,fg=$border_active_fg"
|
set -g pane-active-border-style "bg=$bg,fg=$border_active_fg"
|
||||||
|
|
||||||
set -g window-status-current-style "fg=$border_active_fg"
|
set -g window-status-current-style "fg=$border_active_fg"
|
||||||
set -g window-status-style "fg=$fg"
|
set -g window-status-style "fg=$fg"
|
||||||
|
|
||||||
set -gu default-command
|
set -gu default-command
|
||||||
set -g default-shell "$SHELL"
|
set -g default-shell "$SHELL"
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -1,55 +1,57 @@
|
|||||||
{ pkgs, config, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs.wezterm = {
|
programs.wezterm = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
return {
|
return {
|
||||||
-- color_scheme = 'Ayu Dark (Gogh)',
|
-- color_scheme = 'Ayu Dark (Gogh)',
|
||||||
font = wezterm.font('JetBrainsMono Nerd Font'),
|
font = wezterm.font('JetBrainsMono Nerd Font'),
|
||||||
font_size = 16,
|
font_size = 16,
|
||||||
use_fancy_tab_bar = false,
|
use_fancy_tab_bar = false,
|
||||||
native_macos_fullscreen_mode = false,
|
native_macos_fullscreen_mode = false,
|
||||||
enable_scroll_bar = false,
|
enable_scroll_bar = false,
|
||||||
window_decorations = "RESIZE",
|
window_decorations = "RESIZE",
|
||||||
enable_kitty_graphics = true,
|
enable_kitty_graphics = true,
|
||||||
hide_tab_bar_if_only_one_tab = true,
|
hide_tab_bar_if_only_one_tab = true,
|
||||||
keys = {
|
keys = {
|
||||||
{
|
{
|
||||||
key = 'n',
|
key = 'n',
|
||||||
mods = 'CMD|SHIFT',
|
mods = 'CMD|SHIFT',
|
||||||
action = wezterm.action.ToggleFullScreen,
|
action = wezterm.action.ToggleFullScreen,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
window_padding = {
|
||||||
window_padding = {
|
left = 0,
|
||||||
left = 0,
|
right = 0,
|
||||||
right = 0,
|
top = 0,
|
||||||
top = 0,
|
bottom = 0,
|
||||||
bottom = 0,
|
},
|
||||||
},
|
window_background_opacity = 1,
|
||||||
window_background_opacity = 1,
|
macos_window_background_blur = 0,
|
||||||
macos_window_background_blur = 0,
|
front_end = "WebGpu",
|
||||||
front_end = "WebGpu",
|
force_reverse_video_cursor = true,
|
||||||
force_reverse_video_cursor = true,
|
colors = {
|
||||||
colors = {
|
foreground = "#dcd7ba",
|
||||||
foreground = "#dcd7ba",
|
background = "#1f1f28",
|
||||||
background = "#1f1f28",
|
|
||||||
|
|
||||||
cursor_bg = "#c8c093",
|
cursor_bg = "#c8c093",
|
||||||
cursor_fg = "#c8c093",
|
cursor_fg = "#c8c093",
|
||||||
cursor_border = "#c8c093",
|
cursor_border = "#c8c093",
|
||||||
|
|
||||||
selection_fg = "#c8c093",
|
selection_fg = "#c8c093",
|
||||||
selection_bg = "#2d4f67",
|
selection_bg = "#2d4f67",
|
||||||
|
|
||||||
scrollbar_thumb = "#16161d",
|
scrollbar_thumb = "#16161d",
|
||||||
split = "#16161d",
|
split = "#16161d",
|
||||||
|
|
||||||
ansi = { "#090618", "#c34043", "#76946a", "#c0a36e", "#7e9cd8", "#957fb8", "#6a9589", "#c8c093" },
|
ansi = { "#090618", "#c34043", "#76946a", "#c0a36e", "#7e9cd8", "#957fb8", "#6a9589", "#c8c093" },
|
||||||
brights = { "#727169", "#e82424", "#98bb6c", "#e6c384", "#7fb4ca", "#938aa9", "#7aa89f", "#dcd7ba" },
|
brights = { "#727169", "#e82424", "#98bb6c", "#e6c384", "#7fb4ca", "#938aa9", "#7aa89f", "#dcd7ba" },
|
||||||
indexed = { [16] = "#ffa066", [17] = "#ff5d62" },
|
indexed = { [16] = "#ffa066", [17] = "#ff5d62" },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
{ pkgs, config, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs = {
|
programs = {
|
||||||
zathura = {
|
zathura = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
{ pkgs, config, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs = {
|
programs = {
|
||||||
zoxide = {
|
zoxide = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
{ pkgs, config, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs = {
|
programs = {
|
||||||
fzf = {
|
fzf = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
_1password.enable = true;
|
_1password.enable = true;
|
||||||
_1password-gui = {
|
_1password-gui = {
|
||||||
enable = true;
|
enable = true;
|
||||||
polkitPolicyOwners = [ "mthomson" ];
|
polkitPolicyOwners = ["mthomson"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -3,4 +3,3 @@
|
|||||||
hardware.bluetooth.powerOnBoot = true; # powers up the default Bluetooth controller on boot
|
hardware.bluetooth.powerOnBoot = true; # powers up the default Bluetooth controller on boot
|
||||||
services.blueman.enable = true;
|
services.blueman.enable = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
|
environment.pathsToLink = ["/libexec"];
|
||||||
{
|
|
||||||
environment.pathsToLink = [ "/libexec" ];
|
|
||||||
services.xserver = {
|
services.xserver = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
@ -19,11 +17,11 @@
|
|||||||
package = pkgs.i3-gaps;
|
package = pkgs.i3-gaps;
|
||||||
extraPackages = with pkgs; [
|
extraPackages = with pkgs; [
|
||||||
dmenu
|
dmenu
|
||||||
i3status
|
i3status
|
||||||
i3lock
|
i3lock
|
||||||
i3blocks
|
i3blocks
|
||||||
feh
|
feh
|
||||||
arandr
|
arandr
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,6 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
|
|
||||||
{
|
|
||||||
programs.nix-ld.enable = true;
|
programs.nix-ld.enable = true;
|
||||||
programs.nix-ld.libraries = with pkgs; [];
|
programs.nix-ld.libraries = with pkgs; [];
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
{ pkgs, config, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
hardware.opengl = {
|
hardware.opengl = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
@ -10,5 +12,5 @@
|
|||||||
hardware.nvidia.open = false;
|
hardware.nvidia.open = false;
|
||||||
hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.beta;
|
hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.beta;
|
||||||
|
|
||||||
services.xserver.videoDrivers = [ "nvidia" ];
|
services.xserver.videoDrivers = ["nvidia"];
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,7 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
|
|
||||||
{
|
|
||||||
services.postgresql = {
|
services.postgresql = {
|
||||||
enable = true;
|
enable = true;
|
||||||
ensureDatabases = [ "mydatabase" ];
|
ensureDatabases = ["mydatabase"];
|
||||||
enableTCPIP = true;
|
enableTCPIP = true;
|
||||||
port = 5432;
|
port = 5432;
|
||||||
authentication = pkgs.lib.mkOverride 10 ''
|
authentication = pkgs.lib.mkOverride 10 ''
|
||||||
|
@ -1,6 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
|
|
||||||
{
|
|
||||||
programs.zsh.enable = true;
|
programs.zsh.enable = true;
|
||||||
|
|
||||||
nix.settings = {
|
nix.settings = {
|
||||||
@ -16,12 +14,11 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
users.users.mthomson = {
|
users.users.mthomson = {
|
||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "Michael Thomson";
|
description = "Michael Thomson";
|
||||||
extraGroups = [ "networkmanager" "wheel" ];
|
extraGroups = ["networkmanager" "wheel"];
|
||||||
packages = with pkgs; [];
|
packages = with pkgs; [];
|
||||||
openssh.authorizedKeys.keys = [
|
openssh.authorizedKeys.keys = [
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCqLd5MRSD5GdVmFOgKGRq8t/I8I9xjH2gRMmNHSqtSPYWFx8xT8uOfwyHx1um73tMg99jb4LCs+OpTaTdEyitFygxF/UdSYvAwzP+Lg4p7n6vLljmt0V1i5Zbct3oPM5CKXsUaRZkNyJxB5gJEXe/wKQ3+xj59HV3+m6uw9MO72sI5PKSFIKQFA2LTCYkA2NfO+/VtrLwopcZ+fvIutdUgmaltA3ESWCglocQ+EDXFsdO/h2KUFN6sereT+EBVPC0ePbxWpT9gHZlpeHyPPDnDuj1lUYQisTVKiaRnyFk6FyLYyxquqk+kHX0vSGD/+tBQ/+NoE/ckp2XvjrM48M3+LqtTcOi5RnTHZFuP9NgKxUQyCGOntocNVJ50puLWgr1joFUdHABo3Xjaik0np0FL5QsfYFbNxY6x94OWUxYFUu+/ZRLMWhA3qab6+FcYo4nYB+VszNYv0kE0Lo0jk9EjACoDc/omS0i5P38wvMekwkE2k54U8CkkE+zB3gXtCATE+kN9/ueOy5W4xHhvnoRmMpFza2xO3LPIVB8mVTUiBRfwgz2+psb/AHQwsmORS9BzfA8QdaM1kbbmZo1F1iw8+m1ZCatos2xkcWgMwKfiT2224hZ7DsM+DAZ4IYQzxT7OBYknh7lX3kQeeficqF3Dlg2QLuAlOdnDqb2xyCSDyQ== mthomson"
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCqLd5MRSD5GdVmFOgKGRq8t/I8I9xjH2gRMmNHSqtSPYWFx8xT8uOfwyHx1um73tMg99jb4LCs+OpTaTdEyitFygxF/UdSYvAwzP+Lg4p7n6vLljmt0V1i5Zbct3oPM5CKXsUaRZkNyJxB5gJEXe/wKQ3+xj59HV3+m6uw9MO72sI5PKSFIKQFA2LTCYkA2NfO+/VtrLwopcZ+fvIutdUgmaltA3ESWCglocQ+EDXFsdO/h2KUFN6sereT+EBVPC0ePbxWpT9gHZlpeHyPPDnDuj1lUYQisTVKiaRnyFk6FyLYyxquqk+kHX0vSGD/+tBQ/+NoE/ckp2XvjrM48M3+LqtTcOi5RnTHZFuP9NgKxUQyCGOntocNVJ50puLWgr1joFUdHABo3Xjaik0np0FL5QsfYFbNxY6x94OWUxYFUu+/ZRLMWhA3qab6+FcYo4nYB+VszNYv0kE0Lo0jk9EjACoDc/omS0i5P38wvMekwkE2k54U8CkkE+zB3gXtCATE+kN9/ueOy5W4xHhvnoRmMpFza2xO3LPIVB8mVTUiBRfwgz2+psb/AHQwsmORS9BzfA8QdaM1kbbmZo1F1iw8+m1ZCatos2xkcWgMwKfiT2224hZ7DsM+DAZ4IYQzxT7OBYknh7lX3kQeeficqF3Dlg2QLuAlOdnDqb2xyCSDyQ== mthomson"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user