Refactoring!
This commit is contained in:
parent
d8f3613304
commit
372d2fb3c9
33 changed files with 14 additions and 1745 deletions
22
flake.lock
generated
22
flake.lock
generated
|
@ -23,43 +23,43 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1736373539,
|
"lastModified": 1748226808,
|
||||||
"narHash": "sha256-dinzAqCjenWDxuy+MqUQq0I4zUSfaCvN9rzuCmgMZJY=",
|
"narHash": "sha256-GaBRgxjWO1bAQa8P2+FDxG4ANBVhjnSjBms096qQdxo=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "bd65bc3cde04c16755955630b344bc9e35272c56",
|
"rev": "83665c39fa688bd6a1f7c43cf7997a70f6a109f9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"ref": "release-24.11",
|
"ref": "release-25.05",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1739055578,
|
"lastModified": 1748162331,
|
||||||
"narHash": "sha256-2MhC2Bgd06uI1A0vkdNUyDYsMD0SLNGKtD8600mZ69A=",
|
"narHash": "sha256-rqc2RKYTxP3tbjA+PB3VMRQNnjesrT0pEofXQTrMsS8=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "a45fa362d887f4d4a7157d95c28ca9ce2899b70e",
|
"rev": "7c43f080a7f28b2774f3b3f43234ca11661bf334",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-24.11",
|
"ref": "nixos-25.05",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1739020877,
|
"lastModified": 1748370509,
|
||||||
"narHash": "sha256-mIvECo/NNdJJ/bXjNqIh8yeoSjVLAuDuTUzAo7dzs8Y=",
|
"narHash": "sha256-QlL8slIgc16W5UaI3w7xHQEP+Qmv/6vSNTpoZrrSlbk=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "a79cfe0ebd24952b580b1cf08cd906354996d547",
|
"rev": "4faa5f5321320e49a78ae7848582f684d64783e9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
30
flake.nix
30
flake.nix
|
@ -93,13 +93,6 @@
|
||||||
./maskiner/work-desktop/configuration.nix
|
./maskiner/work-desktop/configuration.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
lillen = nixpkgs.lib.nixosSystem {
|
|
||||||
specialArgs = {
|
|
||||||
inherit inputs outputs;
|
|
||||||
myhostname = "lillen";
|
|
||||||
};
|
|
||||||
modules = [ ./maskiner/lillen/configuration.nix ];
|
|
||||||
};
|
|
||||||
macmini = nixpkgs.lib.nixosSystem {
|
macmini = nixpkgs.lib.nixosSystem {
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
inherit inputs outputs;
|
inherit inputs outputs;
|
||||||
|
@ -203,29 +196,6 @@
|
||||||
)
|
)
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
"fw@lillen" = home-manager.lib.homeManagerConfiguration {
|
|
||||||
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
|
||||||
extraSpecialArgs = {
|
|
||||||
inherit inputs outputs;
|
|
||||||
myhostname = "lillen";
|
|
||||||
};
|
|
||||||
# > Our main home-manager configuration file <
|
|
||||||
modules = [
|
|
||||||
./config/lill-home.nix
|
|
||||||
(
|
|
||||||
{ nixpkgs, ... }:
|
|
||||||
{
|
|
||||||
nixpkgs.overlays = [ overlay-unstable ];
|
|
||||||
}
|
|
||||||
)
|
|
||||||
(
|
|
||||||
{ nixpkgs, ... }:
|
|
||||||
{
|
|
||||||
nixpkgs.overlays = [ overlay-fw-pkgs ];
|
|
||||||
}
|
|
||||||
)
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,50 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
# TODO: Configure your system-wide user settings (groups, etc), add more users as needed.
|
|
||||||
users = {
|
|
||||||
defaultUserShell = pkgs.bash;
|
|
||||||
groups = {
|
|
||||||
ios = { };
|
|
||||||
};
|
|
||||||
users = {
|
|
||||||
fw = {
|
|
||||||
initialPassword = "password";
|
|
||||||
isNormalUser = true;
|
|
||||||
description = "Fredrik Wastring";
|
|
||||||
extraGroups = [
|
|
||||||
"networkmanager"
|
|
||||||
"wheel"
|
|
||||||
"audio"
|
|
||||||
"docker"
|
|
||||||
"input"
|
|
||||||
];
|
|
||||||
openssh.authorizedKeys = {
|
|
||||||
keys = [
|
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDALsdpwvC0w/Aj+1fWtzJyyWoUrGkdh8o2thVHeQQBNo0D7cmVberYmi4Cv9gWGX6PaElrnOl0KRdGyro2wxOYokSxgk2VgWW67BFITAQAbKyG2NhXXPbhb4jccDo7WH7TtOG8IofuJTPRu1Duda6k4RN0I0CkyAN6LGX+zy49cq0qKf9ijXYhCDYNih3+Fu/ig0aW/SYmsVoUl2VFTWdI5x5/wLvIjTEZhmAtYIeYADaLnom356cFrUysZa++FUujQAz3Ow236BvP95XZdTsqvfWNZFNIpC9VYF72JeIDCs5wDIr0GFmanF2On1nar+jJpoOE8SdHt357p5g/PqXV5TisN2xQRkqVwO9tWtMl4sF84jA4ULnY2gQWv9jErMxymUQ1IwuPUzDDlbRHCtfexAtkBy7wv6xslKAzG1QahvF/btNs5Caj3LN31rgAuxyooCbKGKTeBP3kHPKcz1iupgidfbO/QqVXBRQJTEdGyAKa8hVmLQZZPC/XUhxESAk= fw@fw-nix"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
max = {
|
|
||||||
initialPassword = "password";
|
|
||||||
isNormalUser = true;
|
|
||||||
description = "Max Huldin";
|
|
||||||
extraGroups = [
|
|
||||||
"audio"
|
|
||||||
"docker"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
runner = {
|
|
||||||
initialPassword = "password";
|
|
||||||
isNormalUser = true;
|
|
||||||
description = "github runner";
|
|
||||||
extraGroups = [
|
|
||||||
"docker"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,84 +0,0 @@
|
||||||
{ config
|
|
||||||
, pkgs
|
|
||||||
, ...
|
|
||||||
}: {
|
|
||||||
# TODO: Configure your system-wide user settings (groups, etc), add more users as needed.
|
|
||||||
users = {
|
|
||||||
defaultUserShell = pkgs.bash;
|
|
||||||
users = {
|
|
||||||
|
|
||||||
ifacts = {
|
|
||||||
isNormalUser = true;
|
|
||||||
description = "iFacts";
|
|
||||||
extraGroups = [ "networkmanager" "wheel" "docker" ];
|
|
||||||
packages = with pkgs; [];
|
|
||||||
};
|
|
||||||
|
|
||||||
docker = {
|
|
||||||
isNormalUser = true;
|
|
||||||
description = "Docker User";
|
|
||||||
extraGroups = [ "docker" ];
|
|
||||||
packages = with pkgs; [];
|
|
||||||
};
|
|
||||||
|
|
||||||
kube = {
|
|
||||||
isNormalUser = true;
|
|
||||||
description = "Kubernetes User";
|
|
||||||
extraGroups = [];
|
|
||||||
packages = with pkgs; [];
|
|
||||||
};
|
|
||||||
|
|
||||||
bastian = {
|
|
||||||
isNormalUser = true;
|
|
||||||
description = "Bastian Lemström";
|
|
||||||
extraGroups = [ "networkmanager" "wheel" "docker" ];
|
|
||||||
packages = with pkgs; [];
|
|
||||||
};
|
|
||||||
emilian = {
|
|
||||||
isNormalUser = true;
|
|
||||||
description = "Emilian Ionascu";
|
|
||||||
extraGroups = [ "networkmanager" "wheel" "docker" ];
|
|
||||||
packages = with pkgs; [];
|
|
||||||
};
|
|
||||||
bob = {
|
|
||||||
isNormalUser = true;
|
|
||||||
description = "Bob Haq";
|
|
||||||
extraGroups = [ "networkmanager" "wheel" "docker" ];
|
|
||||||
packages = with pkgs; [];
|
|
||||||
};
|
|
||||||
george = {
|
|
||||||
isNormalUser = true;
|
|
||||||
description = "George Caraus";
|
|
||||||
extraGroups = [ "networkmanager" "wheel" "docker" ];
|
|
||||||
packages = with pkgs; [];
|
|
||||||
};
|
|
||||||
max = {
|
|
||||||
isNormalUser = true;
|
|
||||||
description = "Max Huldin";
|
|
||||||
extraGroups = [ "networkmanager" "wheel" "docker" ];
|
|
||||||
packages = with pkgs; [];
|
|
||||||
};
|
|
||||||
sebnor = {
|
|
||||||
isNormalUser = true;
|
|
||||||
description = "Sebastian Nordin";
|
|
||||||
extraGroups = [ "networkmanager" "wheel" "docker" ];
|
|
||||||
packages = with pkgs; [];
|
|
||||||
};
|
|
||||||
|
|
||||||
fw = {
|
|
||||||
isNormalUser = true;
|
|
||||||
shell = pkgs.fish;
|
|
||||||
description = "Fredrik Wastring";
|
|
||||||
extraGroups = [ "networkmanager" "wheel" "docker" ];
|
|
||||||
packages = with pkgs; [
|
|
||||||
neovim
|
|
||||||
fastfetch
|
|
||||||
cmake
|
|
||||||
fzf
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
|
@ -25,37 +25,6 @@
|
||||||
|
|
||||||
networking.hostName = myhostname;
|
networking.hostName = myhostname;
|
||||||
|
|
||||||
# services.k3s = {
|
|
||||||
# enable = true;
|
|
||||||
# role = "server";
|
|
||||||
# token = "supersupersecretkey";
|
|
||||||
# clusterInit = true;
|
|
||||||
# };
|
|
||||||
|
|
||||||
# services = {
|
|
||||||
# syncthing = {
|
|
||||||
# enable = true;
|
|
||||||
# user = "fw";
|
|
||||||
# dataDir = "/home/fw/syncthing";
|
|
||||||
# configDir = "/home/fw/.config/syncthing";
|
|
||||||
# overrideDevices = true; # overrides any devices added or deleted through the WebUI
|
|
||||||
# overrideFolders = true; # overrides any folders added or deleted through the WebUI
|
|
||||||
# guiAddress = "0.0.0.0:8384";
|
|
||||||
# settings = {
|
|
||||||
# devices = {
|
|
||||||
# "desktop" = { id = "BGEQVAA-JZM7DQB-7NFEDQ6-K7Q3HQL-P6OSNJ2-TMA3N7B-E6RP3HQ-OAMWJQL"; };
|
|
||||||
# "laptop" = { id = "2VEN7O3-PB3G2MK-XJI7R5Z-6MHTNN2-WMXERIX-6G7QWSK-VKSWOSH-Q5WFDAI"; };
|
|
||||||
# };
|
|
||||||
# folders = {
|
|
||||||
# "Documents" = { # Name of folder in Syncthing, also the folder ID
|
|
||||||
# path = "/home/fw/docs"; # Which folder to add to Syncthing
|
|
||||||
# devices = [ "desktop" ]; # Which devices to share the folder with
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
|
|
||||||
services.xserver.dpi = 140;
|
services.xserver.dpi = 140;
|
||||||
|
|
||||||
system.stateVersion = "23.11";
|
system.stateVersion = "23.11";
|
||||||
|
|
|
@ -1,41 +0,0 @@
|
||||||
# This is your system's configuration file.
|
|
||||||
# Use this to configure your system environment (it replaces /etc/nixos/configuration.nix)
|
|
||||||
{
|
|
||||||
inputs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
myhostname,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
# You can import other NixOS modules here
|
|
||||||
imports = [
|
|
||||||
./hardware-configuration.nix
|
|
||||||
../../config/base.nix
|
|
||||||
../../config/users.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
networking.hostName = myhostname;
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
];
|
|
||||||
|
|
||||||
services.xserver.dpi = 140;
|
|
||||||
|
|
||||||
services = {
|
|
||||||
openssh = {
|
|
||||||
enable = true;
|
|
||||||
ports = [55504];
|
|
||||||
settings = {
|
|
||||||
PermitRootLogin = "no";
|
|
||||||
PasswordAuthentication = false;
|
|
||||||
X11Forwarding = true;
|
|
||||||
};
|
|
||||||
extraConfig = ''
|
|
||||||
AllowUsers fw
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
system.stateVersion = "23.11";
|
|
||||||
}
|
|
|
@ -1,100 +0,0 @@
|
||||||
# Edit this configuration file to define what should be installed on
|
|
||||||
# your system. Help is available in the configuration.nix(5) man page
|
|
||||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
|
||||||
|
|
||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports =
|
|
||||||
[ # Include the results of the hardware scan.
|
|
||||||
./hardware-configuration.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
# Bootloader.
|
|
||||||
boot.loader.systemd-boot.enable = true;
|
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
|
||||||
|
|
||||||
networking.hostName = "nixos"; # Define your hostname.
|
|
||||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
|
||||||
|
|
||||||
# Configure network proxy if necessary
|
|
||||||
# networking.proxy.default = "http://user:password@proxy:port/";
|
|
||||||
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
|
||||||
|
|
||||||
# Enable networking
|
|
||||||
networking.networkmanager.enable = true;
|
|
||||||
|
|
||||||
# Set your time zone.
|
|
||||||
time.timeZone = "Europe/Stockholm";
|
|
||||||
|
|
||||||
# Select internationalisation properties.
|
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
|
||||||
|
|
||||||
i18n.extraLocaleSettings = {
|
|
||||||
LC_ADDRESS = "sv_SE.UTF-8";
|
|
||||||
LC_IDENTIFICATION = "sv_SE.UTF-8";
|
|
||||||
LC_MEASUREMENT = "sv_SE.UTF-8";
|
|
||||||
LC_MONETARY = "sv_SE.UTF-8";
|
|
||||||
LC_NAME = "sv_SE.UTF-8";
|
|
||||||
LC_NUMERIC = "sv_SE.UTF-8";
|
|
||||||
LC_PAPER = "sv_SE.UTF-8";
|
|
||||||
LC_TELEPHONE = "sv_SE.UTF-8";
|
|
||||||
LC_TIME = "sv_SE.UTF-8";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Configure keymap in X11
|
|
||||||
services.xserver.xkb = {
|
|
||||||
layout = "se";
|
|
||||||
variant = "";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Configure console keymap
|
|
||||||
console.keyMap = "sv-latin1";
|
|
||||||
|
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
|
||||||
users.users.fw = {
|
|
||||||
isNormalUser = true;
|
|
||||||
description = "Fredrik Wastring";
|
|
||||||
extraGroups = [ "networkmanager" "wheel" ];
|
|
||||||
packages = with pkgs; [];
|
|
||||||
};
|
|
||||||
|
|
||||||
# Allow unfree packages
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
|
||||||
|
|
||||||
# List packages installed in system profile. To search, run:
|
|
||||||
# $ nix search wget
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
|
||||||
wget
|
|
||||||
git
|
|
||||||
];
|
|
||||||
|
|
||||||
# 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;
|
|
||||||
# };
|
|
||||||
|
|
||||||
# List services that you want to enable:
|
|
||||||
|
|
||||||
# Enable the OpenSSH daemon.
|
|
||||||
services.openssh.enable = true;
|
|
||||||
|
|
||||||
# Open ports in the firewall.
|
|
||||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
|
||||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
|
||||||
# Or disable the firewall altogether.
|
|
||||||
# networking.firewall.enable = false;
|
|
||||||
|
|
||||||
# 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 = "24.05"; # Did you read the comment?
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,41 +0,0 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
|
||||||
# and may be overwritten by future invocations. Please make changes
|
|
||||||
# to /etc/nixos/configuration.nix instead.
|
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports =
|
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usb_storage" "sd_mod" ];
|
|
||||||
boot.initrd.kernelModules = [ ];
|
|
||||||
boot.kernelModules = [ ];
|
|
||||||
boot.extraModulePackages = [ ];
|
|
||||||
|
|
||||||
fileSystems."/" =
|
|
||||||
{ device = "/dev/disk/by-uuid/e6dc4f13-d85c-44a0-89ae-d8bbe111bd5c";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/boot" =
|
|
||||||
{ device = "/dev/disk/by-uuid/AF48-6246";
|
|
||||||
fsType = "vfat";
|
|
||||||
options = [ "fmask=0077" "dmask=0077" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices =
|
|
||||||
[ { device = "/dev/disk/by-uuid/4eb1a6f5-2c5d-4bf1-82d0-797bf2839c52"; }
|
|
||||||
];
|
|
||||||
|
|
||||||
# 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
|
|
||||||
# still possible to use this option, but it's recommended to use it in conjunction
|
|
||||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
|
||||||
networking.useDHCP = lib.mkDefault true;
|
|
||||||
# networking.interfaces.enp4s0.useDHCP = lib.mkDefault true;
|
|
||||||
# networking.interfaces.wlp3s0.useDHCP = lib.mkDefault true;
|
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
|
||||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
|
||||||
}
|
|
|
@ -1,129 +0,0 @@
|
||||||
# This is your system's configuration file.
|
|
||||||
# Use this to configure your system environment (it replaces /etc/nixos/configuration.nix)
|
|
||||||
{
|
|
||||||
inputs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
myhostname,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
# You can import other NixOS modules here
|
|
||||||
imports = [
|
|
||||||
./hardware-configuration.nix
|
|
||||||
../../config/users.nix
|
|
||||||
../../shared/nginx.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
networking.hostName = myhostname;
|
|
||||||
nixpkgs = {
|
|
||||||
overlays = [
|
|
||||||
];
|
|
||||||
config = {
|
|
||||||
allowUnfree = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
mergerfs
|
|
||||||
unstable.lego
|
|
||||||
];
|
|
||||||
fileSystems."/data" = {
|
|
||||||
fsType = "fuse.mergerfs";
|
|
||||||
device = "/mnt/extern*";
|
|
||||||
options = ["cache.files=partial" "dropcacheonclose=true" "category.create=mfs"];
|
|
||||||
};
|
|
||||||
|
|
||||||
nix.registry = (lib.mapAttrs (_: flake: {inherit flake;})) ((lib.filterAttrs (_: lib.isType "flake")) inputs);
|
|
||||||
|
|
||||||
nix.nixPath = ["/etc/nix/path"];
|
|
||||||
environment.etc =
|
|
||||||
lib.mapAttrs'
|
|
||||||
(name: value: {
|
|
||||||
name = "nix/path/${name}";
|
|
||||||
value.source = value.flake;
|
|
||||||
})
|
|
||||||
config.nix.registry;
|
|
||||||
|
|
||||||
nix.settings = {
|
|
||||||
experimental-features = "nix-command flakes";
|
|
||||||
auto-optimise-store = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
virtualisation.docker = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
networking.networkmanager.enable = true;
|
|
||||||
|
|
||||||
environment.sessionVariables = {
|
|
||||||
EDITOR = "nvim";
|
|
||||||
TERM = "xterm-256color";
|
|
||||||
};
|
|
||||||
|
|
||||||
time.timeZone = "Europe/Stockholm";
|
|
||||||
|
|
||||||
fonts.packages = with pkgs; [
|
|
||||||
(nerdfonts.override {
|
|
||||||
fonts = [
|
|
||||||
"FiraCode"
|
|
||||||
"Iosevka"
|
|
||||||
"DroidSansMono"
|
|
||||||
];
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
|
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
|
||||||
i18n.extraLocaleSettings = {
|
|
||||||
LC_ADDRESS = "sv_SE.UTF-8";
|
|
||||||
LC_IDENTIFICATION = "sv_SE.UTF-8";
|
|
||||||
LC_MEASUREMENT = "sv_SE.UTF-8";
|
|
||||||
LC_MONETARY = "sv_SE.UTF-8";
|
|
||||||
LC_NAME = "sv_SE.UTF-8";
|
|
||||||
LC_NUMERIC = "sv_SE.UTF-8";
|
|
||||||
LC_PAPER = "sv_SE.UTF-8";
|
|
||||||
LC_TELEPHONE = "sv_SE.UTF-8";
|
|
||||||
LC_TIME = "sv_SE.UTF-8";
|
|
||||||
};
|
|
||||||
|
|
||||||
# boot.loader.grub = {
|
|
||||||
# enable = true;
|
|
||||||
# device = "/dev/sdc";
|
|
||||||
# useOSProber = true;
|
|
||||||
# };
|
|
||||||
|
|
||||||
console.keyMap = "sv-latin1";
|
|
||||||
programs.zsh.enable = true;
|
|
||||||
|
|
||||||
security.auditd.enable = true;
|
|
||||||
services = {
|
|
||||||
fail2ban = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
xserver = {
|
|
||||||
enable = true;
|
|
||||||
displayManager = {
|
|
||||||
startx.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
openssh = {
|
|
||||||
enable = true;
|
|
||||||
ports = [22];
|
|
||||||
settings = {
|
|
||||||
PermitRootLogin = "no";
|
|
||||||
PasswordAuthentication = false;
|
|
||||||
X11Forwarding = true;
|
|
||||||
};
|
|
||||||
extraConfig = ''
|
|
||||||
AllowUsers fw
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
locate = {
|
|
||||||
enable = true;
|
|
||||||
locate = pkgs.mlocate;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
system.stateVersion = "23.11";
|
|
||||||
}
|
|
|
@ -1,34 +0,0 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
|
||||||
# and may be overwritten by future invocations. Please make changes
|
|
||||||
# to /etc/nixos/configuration.nix instead.
|
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports =
|
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
|
|
||||||
boot.initrd.kernelModules = [ ];
|
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
|
||||||
boot.extraModulePackages = [ ];
|
|
||||||
|
|
||||||
fileSystems."/" =
|
|
||||||
{ device = "/dev/disk/by-uuid/220bde85-e58e-48ad-bf5c-e1d3907642c0";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices =
|
|
||||||
[ { device = "/dev/disk/by-uuid/f11bdce3-851b-427f-a3ab-9ebc9792269a"; }
|
|
||||||
];
|
|
||||||
|
|
||||||
# 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
|
|
||||||
# still possible to use this option, but it's recommended to use it in conjunction
|
|
||||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
|
||||||
networking.useDHCP = lib.mkDefault true;
|
|
||||||
# networking.interfaces.enp33s0.useDHCP = lib.mkDefault true;
|
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
|
||||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
|
||||||
}
|
|
|
@ -1,116 +0,0 @@
|
||||||
{ pkgs, lib, myhostname, ... }:
|
|
||||||
{
|
|
||||||
programs.alacritty = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
env = {
|
|
||||||
TERM = "alacritty";
|
|
||||||
};
|
|
||||||
font = {
|
|
||||||
normal = {
|
|
||||||
# family = "Agave Nerd Font Mono";
|
|
||||||
# family = "Victor Mono";
|
|
||||||
family = "FiraCode Nerd Font";
|
|
||||||
style = "SemiBold";
|
|
||||||
};
|
|
||||||
bold = {
|
|
||||||
# family = "Agave Nerd Font Mono";
|
|
||||||
# family = "Victor Mono";
|
|
||||||
family = "FiraCode Nerd Font";
|
|
||||||
style = "Bold";
|
|
||||||
};
|
|
||||||
italic = {
|
|
||||||
# family = "Agave Nerd Font Mono";
|
|
||||||
# family = "Victor Mono";
|
|
||||||
family = "FiraCode Nerd Font";
|
|
||||||
style = "Light";
|
|
||||||
};
|
|
||||||
bold_italic = {
|
|
||||||
# family = "Agave Nerd Font Mono";
|
|
||||||
# family = "Victor Mono";
|
|
||||||
family = "FiraCode Nerd Font";
|
|
||||||
style = "Regular";
|
|
||||||
};
|
|
||||||
size = 13;
|
|
||||||
};
|
|
||||||
colors = {
|
|
||||||
primary = {
|
|
||||||
background = "#1e1e2e";
|
|
||||||
foreground = "#cdd6f4";
|
|
||||||
dim_foreground = "#7f849c";
|
|
||||||
bright_foreground = "#cdd6f4";
|
|
||||||
};
|
|
||||||
cursor = {
|
|
||||||
text = "#1e1e2e";
|
|
||||||
cursor = "#f5e0dc";
|
|
||||||
};
|
|
||||||
vi_mode_cursor = {
|
|
||||||
text = "#1e1e2e";
|
|
||||||
cursor = "#b4befe";
|
|
||||||
};
|
|
||||||
search = {
|
|
||||||
matches = {
|
|
||||||
foreground = "#1e1e2e";
|
|
||||||
background = "#a6adc8";
|
|
||||||
};
|
|
||||||
focused_match = {
|
|
||||||
foreground = "#1e1e2e";
|
|
||||||
background = "#a6e3a1";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
footer_bar = {
|
|
||||||
foreground = "#1e1e2e";
|
|
||||||
background = "#a6adc8";
|
|
||||||
};
|
|
||||||
hints = {
|
|
||||||
start = {
|
|
||||||
foreground = "#1e1e2e";
|
|
||||||
background = "#f9e2af";
|
|
||||||
};
|
|
||||||
end = {
|
|
||||||
foreground = "#1e1e2e";
|
|
||||||
background = "#a6adc8";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
selection = {
|
|
||||||
text = "#1e1e2e";
|
|
||||||
background = "#f5e0dc";
|
|
||||||
};
|
|
||||||
normal = {
|
|
||||||
black = "#45475a";
|
|
||||||
red = "#f38ba8";
|
|
||||||
green = "#a6e3a1";
|
|
||||||
yellow = "#f9e2af";
|
|
||||||
blue = "#89b4fa";
|
|
||||||
magenta = "#f5c2e7";
|
|
||||||
cyan = "#94e2d5";
|
|
||||||
white = "#bac2de";
|
|
||||||
};
|
|
||||||
bright = {
|
|
||||||
black = "#585b70";
|
|
||||||
red = "#f38ba8";
|
|
||||||
green = "#a6e3a1";
|
|
||||||
yellow = "#f9e2af";
|
|
||||||
blue = "#89b4fa";
|
|
||||||
magenta = "#f5c2e7";
|
|
||||||
cyan = "#94e2d5";
|
|
||||||
white = "#a6adc8";
|
|
||||||
};
|
|
||||||
dim = {
|
|
||||||
black = "#45475a";
|
|
||||||
red = "#f38ba8";
|
|
||||||
green = "#a6e3a1";
|
|
||||||
yellow = "#f9e2af";
|
|
||||||
blue = "#89b4fa";
|
|
||||||
magenta = "#f5c2e7";
|
|
||||||
cyan = "#94e2d5";
|
|
||||||
white = "#bac2de";
|
|
||||||
};
|
|
||||||
indexed_colors = [
|
|
||||||
{ index = 16; color = "#fab387"; }
|
|
||||||
{ index = 17; color = "#f5e0dc"; }
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,26 +0,0 @@
|
||||||
{ pkgs, lib, ... }:
|
|
||||||
let
|
|
||||||
dwm = pkgs.dwm.overrideAttrs (old: {
|
|
||||||
src = builtins.fetchGit {
|
|
||||||
url = "https://github.com/FredzyW/dwm-conf.git";
|
|
||||||
rev = "99a1e812295bcf65625a4b5a0dc1022658977920";
|
|
||||||
};
|
|
||||||
nativeBuildInputs = with pkgs; [
|
|
||||||
xorg.libX11.dev
|
|
||||||
xorg.libXft
|
|
||||||
imlib2
|
|
||||||
xorg.libXinerama
|
|
||||||
];
|
|
||||||
});
|
|
||||||
dwmblocks = pkgs.dwmblocks.overrideAttrs (old: {
|
|
||||||
src = builtins.fetchGit {
|
|
||||||
url = "https://github.com/FredzyW/dwmblocks.git";
|
|
||||||
rev = "a334789ec7b9171a3c8e1fcac2ffe8463ee438dc";
|
|
||||||
|
|
||||||
};
|
|
||||||
});
|
|
||||||
in
|
|
||||||
{
|
|
||||||
home.packages = [ dwm dwmblocks ];
|
|
||||||
}
|
|
||||||
|
|
|
@ -34,19 +34,11 @@
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
shellAbbrs = {
|
shellAbbrs = {
|
||||||
homec = "nvim ~/nix/config/home.nix";
|
|
||||||
cat = "bat";
|
cat = "bat";
|
||||||
n = "eza -l --no-time --no-permissions --no-user";
|
|
||||||
ls = "eza -l --no-time --no-permissions --no-user";
|
ls = "eza -l --no-time --no-permissions --no-user";
|
||||||
dev = "nix develop --command fish";
|
|
||||||
k = "kubectl";
|
k = "kubectl";
|
||||||
ka = "kubectl apply -f";
|
ka = "kubectl apply -f";
|
||||||
spot = "steam-run ~/program/spotify_player";
|
|
||||||
sc = "sc-im";
|
|
||||||
e = "nvim";
|
e = "nvim";
|
||||||
c = "ssh";
|
|
||||||
home = "home-manager switch --flake $HM_DIR";
|
|
||||||
reb = "sudo nixos-rebuild switch --flake $SYSTEM_DIR";
|
|
||||||
cam = "jira issue create && jira issue assign && jira issue move";
|
cam = "jira issue create && jira issue assign && jira issue move";
|
||||||
latest = "git log | head -1 | awk '{print $2;}' | xsel -ib";
|
latest = "git log | head -1 | awk '{print $2;}' | xsel -ib";
|
||||||
vpnup = "nmcli con up 'iFacts VPN'";
|
vpnup = "nmcli con up 'iFacts VPN'";
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
{ pkgs, lib, ... }:
|
|
||||||
{
|
|
||||||
xsession.windowManager.i3 = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.i3-gaps;
|
|
||||||
config = {
|
|
||||||
modifier = "Mod4";
|
|
||||||
gaps = {
|
|
||||||
inner = 10;
|
|
||||||
outer = 5;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,40 +0,0 @@
|
||||||
{
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
myhostname,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
programs.kitty = {
|
|
||||||
enable = true;
|
|
||||||
font =
|
|
||||||
if myhostname == "laptop" then
|
|
||||||
{
|
|
||||||
# name = "Iosevka Nerd Font Bold";
|
|
||||||
name = "ComicShannsMono Nerd Font Bold";
|
|
||||||
# name = "Hack Nerd Font Mono Bold";
|
|
||||||
size = 17;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
# name = "Iosevka Nerd Font Bold";
|
|
||||||
name = "ComicShannsMono Nerd Font Bold";
|
|
||||||
# name = "Hack Nerd Font Mono Bold";
|
|
||||||
size = 12;
|
|
||||||
};
|
|
||||||
shellIntegration = {
|
|
||||||
mode = "no-cursor";
|
|
||||||
};
|
|
||||||
# themeFile = "Catppuccin-Mocha";
|
|
||||||
# themeFile = "Catppuccin-Latte";
|
|
||||||
themeFile = "Solarized_Light";
|
|
||||||
# themeFile = "rose-pine-dawn";
|
|
||||||
# themeFile = "Belafonte_Day";
|
|
||||||
settings = {
|
|
||||||
confirm_os_window_close = 2;
|
|
||||||
cursor_shape = "block";
|
|
||||||
cursor_blink_interval = 0;
|
|
||||||
enable_audio_bell = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,17 +0,0 @@
|
||||||
{ pkgs, lib, myhostname, ... }:
|
|
||||||
{
|
|
||||||
programs.mpv = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
scripts = with pkgs.mpvScripts; [
|
|
||||||
autoload
|
|
||||||
uosc
|
|
||||||
];
|
|
||||||
|
|
||||||
config = {
|
|
||||||
profile = "high-quality";
|
|
||||||
ytdl-format = "bestvideo+bestaudio";
|
|
||||||
volume = "70";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,86 +0,0 @@
|
||||||
vim.keymap.set('n', 'z', '<Plug>(leap)')
|
|
||||||
vim.keymap.set('n', 'Z', '<Plug>(leap-from-window)')
|
|
||||||
vim.keymap.set({ 'x', 'o' }, 'z', '<Plug>(leap-forward)')
|
|
||||||
vim.keymap.set({ 'x', 'o' }, 'Z', '<Plug>(leap-backward)')
|
|
||||||
|
|
||||||
-- Harpoon
|
|
||||||
vim.keymap.set('n', '<Space>ha', ':lua require("harpoon.mark").add_file()<CR>')
|
|
||||||
vim.keymap.set('n', '<Space>hf', ':Telescope harpoon marks<CR>')
|
|
||||||
vim.keymap.set('n', '<Space>he', ':lua require("harpoon.ui").toggle_quick_menu()<CR>')
|
|
||||||
vim.keymap.set('n', '<Space>hn', ':lua require("harpoon.ui").nav_next()<CR>')
|
|
||||||
vim.keymap.set('n', '<Space>hb', ':lua require("harpoon.ui").nav_prev()<CR>')
|
|
||||||
|
|
||||||
vim.cmd('highlight! HarpoonInactive guibg=NONE guifg=#63698c')
|
|
||||||
vim.cmd('highlight! HarpoonActive guibg=NONE guifg=white')
|
|
||||||
vim.cmd('highlight! HarpoonNumberActive guibg=NONE guifg=#7aa2f7')
|
|
||||||
vim.cmd('highlight! HarpoonNumberInactive guibg=NONE guifg=#7aa2f7')
|
|
||||||
vim.cmd('highlight! TabLineFill guibg=NONE guifg=white')
|
|
||||||
|
|
||||||
local opts = { noremap = true, silent = true }
|
|
||||||
|
|
||||||
-- Substitute
|
|
||||||
vim.keymap.set("n", "s", require('substitute').operator, { noremap = true })
|
|
||||||
vim.keymap.set("n", "ss", require('substitute').line, { noremap = true })
|
|
||||||
vim.keymap.set("n", "S", require('substitute').eol, { noremap = true })
|
|
||||||
vim.keymap.set("x", "s", require('substitute').visual, { noremap = true })
|
|
||||||
|
|
||||||
-- Move commands
|
|
||||||
vim.keymap.set('n', '<Super-j>', ':MoveLine(1)<CR>', opts)
|
|
||||||
vim.keymap.set('n', '<Super-k>', ':MoveLine(-1)<CR>', opts)
|
|
||||||
vim.keymap.set('v', '<Super-j>', ':MoveBlock(1)<CR>', opts)
|
|
||||||
vim.keymap.set('v', '<Super-k>', ':MoveBlock(-1)<CR>', opts)
|
|
||||||
|
|
||||||
-- Good navigation mappings for wrap
|
|
||||||
vim.api.nvim_set_keymap('n', 'j', 'gj', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', 'k', 'gk', { noremap = true, silent = true })
|
|
||||||
|
|
||||||
-- Buffer navigation
|
|
||||||
vim.api.nvim_set_keymap('n', '<Tab>', ':bnext<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<S-Tab>', ':bprevious<CR>', { noremap = true, silent = true })
|
|
||||||
|
|
||||||
-- Window navigation
|
|
||||||
vim.api.nvim_set_keymap('n', '<C-k>', ':wincmd k<CR>', { silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<C-j>', ':wincmd j<CR>', { silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<C-h>', ':wincmd h<CR>', { silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<C-l>', ':wincmd l<CR>', { silent = true })
|
|
||||||
|
|
||||||
vim.api.nvim_set_keymap('n', '<Space>c', ':bd<CR>', { silent = true })
|
|
||||||
|
|
||||||
-- Sniprun
|
|
||||||
vim.api.nvim_set_keymap('v', 'f', '<Plug>SnipRun', { silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>f', '<Plug>SnipRunOperator', { silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>ff', '<Plug>SnipRun', { silent = true })
|
|
||||||
|
|
||||||
-- Highlight yanked
|
|
||||||
vim.api.nvim_create_autocmd('TextYankPost', {
|
|
||||||
group = vim.api.nvim_create_augroup('highlight_yank', {}),
|
|
||||||
desc = 'Hightlight selection on yank',
|
|
||||||
pattern = '*',
|
|
||||||
callback = function()
|
|
||||||
vim.highlight.on_yank { higroup = 'IncSearch', timeout = 200 }
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
|
|
||||||
-- Telescope bindings
|
|
||||||
vim.keymap.set('n', '<Space>ff', builtin.find_files, {})
|
|
||||||
vim.keymap.set('n', '<Space>fg', builtin.live_grep, {})
|
|
||||||
vim.keymap.set('n', '<Space>fb', builtin.buffers, {})
|
|
||||||
vim.keymap.set('n', '<Space>fh', builtin.help_tags, {})
|
|
||||||
|
|
||||||
|
|
||||||
-- Bindings for save and quit
|
|
||||||
vim.api.nvim_set_keymap('n', '<Space>w', ':w<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<Space>q', ':q<CR>', {})
|
|
||||||
|
|
||||||
-- Neotree bindings
|
|
||||||
vim.api.nvim_set_keymap('n', '<Space>e', ':RnvimrToggle<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_var('rnvimr_enable_ex', 1)
|
|
||||||
vim.api.nvim_set_var('rnvimr_enable_picker', 1)
|
|
||||||
vim.api.nvim_set_var('rnvimr_edit_cmd', 'drop')
|
|
||||||
vim.api.nvim_set_var('rnvimr_draw_border', 0)
|
|
||||||
vim.api.nvim_set_var('rnvimr_hide_gitignore', 1)
|
|
||||||
vim.api.nvim_set_var('rnvimr_border_attr', {fg = 14, bg = -1})
|
|
||||||
vim.api.nvim_set_var('rnvimr_enable_bw', 1)
|
|
||||||
vim.api.nvim_set_var('rnvimr_shadow_winblend', 70)
|
|
||||||
vim.api.nvim_set_var('rnvimr_ranger_cmd', {'ranger', '--cmd=set draw_borders both'})
|
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
vim.opt.wrap = true
|
|
||||||
vim.opt.shiftwidth = 4
|
|
||||||
vim.opt.tabstop = 4
|
|
||||||
vim.o.termguicolors = true
|
|
||||||
vim.wo.relativenumber = true
|
|
||||||
vim.wo.number = true
|
|
||||||
vim.g.mapleader = ' '
|
|
||||||
|
|
||||||
vim.opt.termguicolors = true
|
|
||||||
|
|
|
@ -1,167 +0,0 @@
|
||||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
|
||||||
if not vim.loop.fs_stat(lazypath) then
|
|
||||||
vim.fn.system({
|
|
||||||
"git",
|
|
||||||
"clone",
|
|
||||||
"--filter=blob:none",
|
|
||||||
"https://github.com/folke/lazy.nvim.git",
|
|
||||||
"--branch=stable", -- latest stable release
|
|
||||||
lazypath,
|
|
||||||
})
|
|
||||||
end
|
|
||||||
vim.opt.rtp:prepend(lazypath)
|
|
||||||
|
|
||||||
|
|
||||||
require("lazy").setup({
|
|
||||||
{
|
|
||||||
'm4xshen/autoclose.nvim',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"BurntSushi/ripgrep",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'kevinhwang91/rnvimr',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'ThePrimeagen/harpoon',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'ggandor/leap.nvim',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'gfanto/fzf-lsp.nvim',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'junegunn/fzf.vim',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"junegunn/fzf",
|
|
||||||
name = "fzf",
|
|
||||||
dir = "~/.fzf",
|
|
||||||
build = "./install --all"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'RRethy/base16-nvim',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"folke/which-key.nvim",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"folke/neodev.nvim",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"mfussenegger/nvim-dap",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'neovim/nvim-lspconfig'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'hrsh7th/cmp-nvim-lsp'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'hrsh7th/nvim-cmp'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'nvim-focus/focus.nvim',
|
|
||||||
version = false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"folke/neoconf.nvim",
|
|
||||||
cmd = "Neoconf"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"lukas-reineke/indent-blankline.nvim",
|
|
||||||
main = "ibl",
|
|
||||||
opts = {}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'mrjones2014/legendary.nvim',
|
|
||||||
-- since legendary.nvim handles all your keymaps/commands,
|
|
||||||
-- its recommended to load legendary.nvim before other plugins
|
|
||||||
priority = 10000,
|
|
||||||
lazy = false,
|
|
||||||
-- sqlite is only needed if you want to use frecency sorting
|
|
||||||
-- dependencies = { 'kkharji/sqlite.lua' }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'VonHeikemen/lsp-zero.nvim',
|
|
||||||
branch = 'v3.x'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"catppuccin/nvim",
|
|
||||||
name = "catppuccin",
|
|
||||||
priority = 1000
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'kevinhwang91/nvim-bqf'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'akinsho/bufferline.nvim',
|
|
||||||
version = "*",
|
|
||||||
dependencies = 'nvim-tree/nvim-web-devicons'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'nvim-telescope/telescope-fzf-native.nvim',
|
|
||||||
build = 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"L3MON4D3/LuaSnip",
|
|
||||||
version = "v2.*",
|
|
||||||
build = "make install_jsregexp"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"gbprod/substitute.nvim",
|
|
||||||
opts = {}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nvim-treesitter/nvim-treesitter",
|
|
||||||
build = ":TSUpdate"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"michaelb/sniprun",
|
|
||||||
branch = "master",
|
|
||||||
build = "sh install.sh",
|
|
||||||
config = function()
|
|
||||||
require("sniprun").setup({})
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'nvim-telescope/telescope.nvim',
|
|
||||||
tag = '0.1.6',
|
|
||||||
dependencies = {
|
|
||||||
'nvim-lua/plenary.nvim'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'mrcjkb/haskell-tools.nvim',
|
|
||||||
version = '^3',
|
|
||||||
ft = { 'haskell', 'lhaskell', 'cabal', 'cabalproject' },
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"kdheepak/lazygit.nvim",
|
|
||||||
cmd = {
|
|
||||||
"LazyGit",
|
|
||||||
"LazyGitConfig",
|
|
||||||
"LazyGitCurrentFile",
|
|
||||||
"LazyGitFilter",
|
|
||||||
"LazyGitFilterCurrentFile",
|
|
||||||
},
|
|
||||||
dependencies = {
|
|
||||||
"nvim-lua/plenary.nvim",
|
|
||||||
},
|
|
||||||
keys = {
|
|
||||||
{ "<leader>gg", "<cmd>LazyGit<cr>", desc = "LazyGit" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'nvim-lualine/lualine.nvim',
|
|
||||||
dependencies = { 'nvim-tree/nvim-web-devicons' }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'numToStr/Comment.nvim',
|
|
||||||
opts = {},
|
|
||||||
lazy = false,
|
|
||||||
},
|
|
||||||
|
|
||||||
})
|
|
||||||
|
|
|
@ -1,230 +0,0 @@
|
||||||
-- Define a function to generate keybinds for navigating to files
|
|
||||||
local function setup_file_navigation_keybinds(start, stop)
|
|
||||||
for i = start, stop do
|
|
||||||
local keybind = string.format('<Space>h%d', i)
|
|
||||||
local command = string.format(':lua require("harpoon.ui").nav_file(%d)<CR>', i)
|
|
||||||
vim.keymap.set('n', keybind, command)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
setup_file_navigation_keybinds(1, 9)
|
|
||||||
|
|
||||||
require'fzf_lsp'.setup()
|
|
||||||
|
|
||||||
require("autoclose").setup({
|
|
||||||
keys = {
|
|
||||||
["$"] = { escape = true, close = true, pair = "$$", disabled_filetypes = { "haskell" } },
|
|
||||||
["'"] = { escape = true, close = true, pair = "''", disabled_filetypes = { "markdown" } },
|
|
||||||
["`"] = { escape = true, close = true, pair = "``", disabled_filetypes = { "markdown" } },
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
require('bqf').setup()
|
|
||||||
require("ibl").setup()
|
|
||||||
require("focus").setup()
|
|
||||||
require("bufferline").setup()
|
|
||||||
|
|
||||||
local wk = require("which-key")
|
|
||||||
wk.register(mappings, opts)
|
|
||||||
|
|
||||||
local parser_config = require "nvim-treesitter.parsers".get_parser_configs()
|
|
||||||
parser_config.csharp = {
|
|
||||||
install_info = {
|
|
||||||
url = "https://github.com/tree-sitter/tree-sitter-c-sharp", -- local path or git repo
|
|
||||||
files = {"src/parser.c"}, -- note that some parsers also require src/scanner.c or src/scanner.cc
|
|
||||||
branch = "master", -- default branch in case of git repo if different from master
|
|
||||||
generate_requires_npm = false, -- if stand-alone parser without npm dependencies
|
|
||||||
requires_generate_from_grammar = false, -- if folder contains pre-generated src/parser.c
|
|
||||||
},
|
|
||||||
filetype = "cs", -- if filetype does not match the parser name
|
|
||||||
}
|
|
||||||
|
|
||||||
require'nvim-treesitter.configs'.setup {
|
|
||||||
ensure_installed = { "c", "lua", "vim", "vimdoc", "query", "haskell", "python", "bash", "clojure", "nix", "dockerfile", "latex", "csharp", "markdown" },
|
|
||||||
sync_install = false,
|
|
||||||
auto_install = true,
|
|
||||||
ignore_install = { "javascript" },
|
|
||||||
|
|
||||||
highlight = {
|
|
||||||
enable = true,
|
|
||||||
|
|
||||||
disable = function(lang, buf)
|
|
||||||
local max_filesize = 100 * 1024 -- 100 KB
|
|
||||||
local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
|
|
||||||
if ok and stats and stats.size > max_filesize then
|
|
||||||
return true
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
additional_vim_regex_highlighting = false,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
local function lsp()
|
|
||||||
local clients = vim.lsp.buf_get_clients()
|
|
||||||
if next(clients) == nil then
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
for _, client in pairs(clients) do
|
|
||||||
return ("[" .. client.name .. "]")
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
require('lualine').setup {
|
|
||||||
options = {
|
|
||||||
icons_enabled = true,
|
|
||||||
theme = 'base16',
|
|
||||||
component_separators = { left = '|', right = '|' },
|
|
||||||
section_separators = { left = '', right = '' },
|
|
||||||
disabled_filetypes = {
|
|
||||||
statusline = { 'neo-tree' },
|
|
||||||
winbar = {},
|
|
||||||
},
|
|
||||||
ignore_focus = {},
|
|
||||||
always_divide_middle = true,
|
|
||||||
globalstatus = false,
|
|
||||||
refresh = {
|
|
||||||
statusline = 1000,
|
|
||||||
tabline = 1000,
|
|
||||||
winbar = 1000,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
sections = {
|
|
||||||
lualine_a = { 'mode' },
|
|
||||||
lualine_b = { 'branch', 'diff', 'diagnostics' },
|
|
||||||
lualine_c = { 'filename' },
|
|
||||||
lualine_x = { lsp },
|
|
||||||
lualine_y = { 'filetype' },
|
|
||||||
lualine_z = {}
|
|
||||||
},
|
|
||||||
inactive_sections = {
|
|
||||||
lualine_a = {},
|
|
||||||
lualine_b = {},
|
|
||||||
lualine_c = { 'filename' },
|
|
||||||
lualine_x = { 'location' },
|
|
||||||
lualine_y = {},
|
|
||||||
lualine_z = {}
|
|
||||||
},
|
|
||||||
tabline = {},
|
|
||||||
winbar = {},
|
|
||||||
inactive_winbar = {},
|
|
||||||
extensions = {}
|
|
||||||
}
|
|
||||||
|
|
||||||
require("telescope").load_extension('harpoon')
|
|
||||||
|
|
||||||
-- LSP Setup
|
|
||||||
local lsp_zero = require('lsp-zero')
|
|
||||||
|
|
||||||
lsp_zero.on_attach(function(client, bufnr)
|
|
||||||
lsp_zero.default_keymaps({ buffer = bufnr })
|
|
||||||
end)
|
|
||||||
require 'lspconfig'.hls.setup {}
|
|
||||||
require 'lspconfig'.omnisharp.setup {
|
|
||||||
cmd = { "/home/fw/.nix-profile/bin/dotnet", "/nix/store/jdp56g0j6mf7yjvqy9npw28y4pxcvgsw-omnisharp-roslyn-1.39.10/lib/omnisharp-roslyn/OmniSharp.dll" },
|
|
||||||
}
|
|
||||||
require 'lspconfig'.clojure_lsp.setup {}
|
|
||||||
require 'lspconfig'.nil_ls.setup {}
|
|
||||||
require 'lspconfig'.marksman.setup {}
|
|
||||||
require 'lspconfig'.pylsp.setup {}
|
|
||||||
require 'lspconfig'.bashls.setup {}
|
|
||||||
require 'lspconfig'.dockerls.setup {}
|
|
||||||
require 'lspconfig'.docker_compose_language_service.setup {}
|
|
||||||
require 'lspconfig'.ansiblels.setup {}
|
|
||||||
require 'lspconfig'.yamlls.setup {}
|
|
||||||
require 'lspconfig'.lua_ls.setup {
|
|
||||||
settings = {
|
|
||||||
Lua = {
|
|
||||||
diagnostics = {
|
|
||||||
globals = { 'vim' }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
require("catppuccin").setup({
|
|
||||||
flavour = "macchiato",
|
|
||||||
background = {
|
|
||||||
light = "latte",
|
|
||||||
dark = "mocha",
|
|
||||||
},
|
|
||||||
transparent_background = false,
|
|
||||||
show_end_of_buffer = false,
|
|
||||||
term_colors = false,
|
|
||||||
dim_inactive = {
|
|
||||||
enabled = false,
|
|
||||||
shade = "dark",
|
|
||||||
percentage = 0.15,
|
|
||||||
},
|
|
||||||
no_italic = false,
|
|
||||||
no_bold = false,
|
|
||||||
no_underline = false,
|
|
||||||
styles = {
|
|
||||||
comments = { "italic" },
|
|
||||||
conditionals = { "italic" },
|
|
||||||
loops = {},
|
|
||||||
functions = {},
|
|
||||||
keywords = {},
|
|
||||||
strings = {},
|
|
||||||
variables = {},
|
|
||||||
numbers = {},
|
|
||||||
booleans = {},
|
|
||||||
properties = {},
|
|
||||||
types = {},
|
|
||||||
operators = {},
|
|
||||||
},
|
|
||||||
color_overrides = {},
|
|
||||||
custom_highlights = {},
|
|
||||||
integrations = {
|
|
||||||
cmp = true,
|
|
||||||
gitsigns = true,
|
|
||||||
nvimtree = true,
|
|
||||||
treesitter = true,
|
|
||||||
notify = false,
|
|
||||||
mini = {
|
|
||||||
enabled = true,
|
|
||||||
indentscope_color = "",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.cmd('colorscheme base16-catppuccin-macchiato')
|
|
||||||
|
|
||||||
local cmp = require('cmp')
|
|
||||||
|
|
||||||
cmp.setup({
|
|
||||||
sources = {
|
|
||||||
{ name = 'nvim_lsp' },
|
|
||||||
},
|
|
||||||
mapping = {
|
|
||||||
['<CR>'] = cmp.mapping.confirm({ select = false }),
|
|
||||||
['<C-e>'] = cmp.mapping.abort(),
|
|
||||||
['<Up>'] = cmp.mapping.select_prev_item({ behavior = 'select' }),
|
|
||||||
['<Down>'] = cmp.mapping.select_next_item({ behavior = 'select' }),
|
|
||||||
['<Tab>'] = cmp.mapping.select_next_item({ behavior = 'select' }),
|
|
||||||
['<C-p>'] = cmp.mapping(function()
|
|
||||||
if cmp.visible() then
|
|
||||||
cmp.select_prev_item({ behavior = 'insert' })
|
|
||||||
else
|
|
||||||
cmp.complete()
|
|
||||||
end
|
|
||||||
end),
|
|
||||||
['<C-n>'] = cmp.mapping(function()
|
|
||||||
if cmp.visible() then
|
|
||||||
cmp.select_next_item({ behavior = 'insert' })
|
|
||||||
else
|
|
||||||
cmp.complete()
|
|
||||||
end
|
|
||||||
end),
|
|
||||||
},
|
|
||||||
snippet = {
|
|
||||||
expand = function(args)
|
|
||||||
require('luasnip').lsp_expand(args.body)
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
{
|
|
||||||
programs.nh = {
|
|
||||||
enable = true;
|
|
||||||
clean.enable = true;
|
|
||||||
clean.extraArgs = "--keep-since 4d --keep 3";
|
|
||||||
flake = "/home/user/my-nixos-config";
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,52 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
];
|
|
||||||
programs = {
|
|
||||||
neovim = {
|
|
||||||
plugins = [
|
|
||||||
## Treesitter
|
|
||||||
pkgs.vimPlugins.nvim-treesitter
|
|
||||||
pkgs.vimPlugins.nvim-lspconfig
|
|
||||||
|
|
||||||
pkgs.vimPlugins.plenary-nvim
|
|
||||||
pkgs.vimPlugins.telescope-nvim
|
|
||||||
pkgs.vimPlugins.telescope-fzf-native-nvim
|
|
||||||
|
|
||||||
## cmp
|
|
||||||
pkgs.vimPlugins.nvim-cmp
|
|
||||||
pkgs.vimPlugins.cmp-nvim-lsp
|
|
||||||
|
|
||||||
pkgs.vimPlugins.luasnip
|
|
||||||
pkgs.vimPlugins.cmp_luasnip
|
|
||||||
pkgs.vimPlugins.vim-surround
|
|
||||||
pkgs.vimPlugins.vim-obsession
|
|
||||||
pkgs.vimPlugins.neoformat
|
|
||||||
pkgs.vimPlugins.lazygit-nvim
|
|
||||||
pkgs.vimPlugins.gitsigns-nvim
|
|
||||||
pkgs.vimPlugins.lualine-nvim
|
|
||||||
pkgs.vimPlugins.nvim-web-devicons
|
|
||||||
pkgs.vimPlugins.leap-nvim
|
|
||||||
pkgs.vimPlugins.vim-repeat
|
|
||||||
|
|
||||||
## Debugging
|
|
||||||
pkgs.vimPlugins.nvim-dap
|
|
||||||
pkgs.vimPlugins.nvim-dap-ui
|
|
||||||
pkgs.vimPlugins.nvim-dap-virtual-text
|
|
||||||
];
|
|
||||||
|
|
||||||
extraConfig = ''
|
|
||||||
lua << EOF
|
|
||||||
${builtins.readFile config/mappings.lua}
|
|
||||||
${builtins.readFile config/options.lua}
|
|
||||||
${builtins.readFile config/setup.lua}
|
|
||||||
'';
|
|
||||||
enable = true;
|
|
||||||
viAlias = true;
|
|
||||||
vimAlias = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -22,8 +22,8 @@
|
||||||
"os"= "#ACB0BE";
|
"os"= "#ACB0BE";
|
||||||
"closer"= "p:os";
|
"closer"= "p:os";
|
||||||
"pink" = "#ea76cb";
|
"pink" = "#ea76cb";
|
||||||
"lavender"= "#B7BDF8";
|
"lavender" = "#7287FD";
|
||||||
"blue"= "#8aadf4";
|
"blue" = "#1e66f5";
|
||||||
"peach" = "#fe640b";
|
"peach" = "#fe640b";
|
||||||
"red" = "#d20f39";
|
"red" = "#d20f39";
|
||||||
"green" = "#40a02b";
|
"green" = "#40a02b";
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
{ pkgs, lib, ... }:
|
|
||||||
{
|
|
||||||
programs.firefox = {
|
|
||||||
enable = true;
|
|
||||||
extraConfig = ''
|
|
||||||
set colorscheme dracula
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,11 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
programs.rbw = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
email = "fredrik@wastring.com";
|
|
||||||
pinentry = pkgs.pinentry;
|
|
||||||
base_url = "https://pass.wastring.com";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
119
shared/rofi.nix
119
shared/rofi.nix
|
@ -1,119 +0,0 @@
|
||||||
{ config, pkgs, lib, ... }:
|
|
||||||
{
|
|
||||||
programs.rofi = {
|
|
||||||
enable = true;
|
|
||||||
# theme =
|
|
||||||
# let
|
|
||||||
# inherit (config.lib.formats.rasi) mkLiteral;
|
|
||||||
# in {
|
|
||||||
# "*" = {
|
|
||||||
# bg-col = mkLiteral "#1e1e2e";
|
|
||||||
# bg-col-light = mkLiteral "#1e1e2e";
|
|
||||||
# border-col = mkLiteral "#1e1e2e";
|
|
||||||
# selected-col = mkLiteral "#1e1e2e";
|
|
||||||
# blue = mkLiteral "#89b4fa";
|
|
||||||
# fg-col = mkLiteral "#cdd6f4";
|
|
||||||
# fg-col2 = mkLiteral "#f38ba8";
|
|
||||||
# grey = mkLiteral "#6c7086";
|
|
||||||
# };
|
|
||||||
#
|
|
||||||
# "element-text, element-icon, mode-switcher" = { # Combine selectors
|
|
||||||
# background-color = mkLiteral "inherit";
|
|
||||||
# text-color = mkLiteral "inherit";
|
|
||||||
# };
|
|
||||||
#
|
|
||||||
# "#window" = { # Use # for IDs
|
|
||||||
# height = mkLiteral "360px"; # Important: Use mkLiteral for dimensions and units
|
|
||||||
# border = mkLiteral "3px"; # Important: Use mkLiteral for dimensions and units
|
|
||||||
# border-color = mkLiteral "@border-col";
|
|
||||||
# background-color = mkLiteral "@bg-col";
|
|
||||||
# };
|
|
||||||
#
|
|
||||||
# "#mainbox" = {
|
|
||||||
# background-color = mkLiteral "@bg-col";
|
|
||||||
# };
|
|
||||||
#
|
|
||||||
# "#inputbar" = {
|
|
||||||
# children = map mkLiteral ["prompt" "entry"];
|
|
||||||
# background-color = mkLiteral "@bg-col";
|
|
||||||
# border-radius = mkLiteral "5px"; # Important: Use mkLiteral for dimensions and units
|
|
||||||
# padding = mkLiteral "2px"; # Important: Use mkLiteral for dimensions and units
|
|
||||||
# };
|
|
||||||
#
|
|
||||||
# "#prompt" = {
|
|
||||||
# background-color = mkLiteral "@blue";
|
|
||||||
# padding = mkLiteral "6px"; # Important: Use mkLiteral for dimensions and units
|
|
||||||
# text-color = mkLiteral "@bg-col";
|
|
||||||
# border-radius = mkLiteral "3px"; # Important: Use mkLiteral for dimensions and units
|
|
||||||
# margin = mkLiteral "20px 0px 0px 20px"; # Important: Use mkLiteral for dimensions and units
|
|
||||||
# };
|
|
||||||
#
|
|
||||||
# "#textbox-prompt-colon" = {
|
|
||||||
# expand = false;
|
|
||||||
# str = mkLiteral ":";
|
|
||||||
# };
|
|
||||||
#
|
|
||||||
# "#entry" = {
|
|
||||||
# padding = mkLiteral "6px"; # Important: Use mkLiteral for dimensions and units
|
|
||||||
# margin = mkLiteral "20px 0px 0px 10px"; # Important: Use mkLiteral for dimensions and units
|
|
||||||
# text-color = mkLiteral "@fg-col";
|
|
||||||
# background-color = mkLiteral "@bg-col";
|
|
||||||
# };
|
|
||||||
#
|
|
||||||
# "#listview" = {
|
|
||||||
# border = mkLiteral "0px 0px 0px"; # Important: Use mkLiteral for dimensions and units
|
|
||||||
# padding = mkLiteral "6px 0px 0px"; # Important: Use mkLiteral for dimensions and units
|
|
||||||
# margin = mkLiteral "10px 0px 0px 20px"; # Important: Use mkLiteral for dimensions and units
|
|
||||||
# columns = mkLiteral "2"; # Important: Use mkLiteral for dimensions and units
|
|
||||||
# lines = mkLiteral "5"; # Important: Use mkLiteral for dimensions and units
|
|
||||||
# background-color = mkLiteral "@bg-col";
|
|
||||||
# };
|
|
||||||
#
|
|
||||||
# "#element" = {
|
|
||||||
# padding = mkLiteral "5px"; # Important: Use mkLiteral for dimensions and units
|
|
||||||
# background-color = mkLiteral "@bg-col";
|
|
||||||
# text-color = mkLiteral "@fg-col";
|
|
||||||
# };
|
|
||||||
#
|
|
||||||
# "#element-icon" = {
|
|
||||||
# size = mkLiteral "25px"; # Important: Use mkLiteral for dimensions and units
|
|
||||||
# };
|
|
||||||
#
|
|
||||||
# "element.selected" = { # Use . for classes
|
|
||||||
# background-color = mkLiteral "@selected-col";
|
|
||||||
# text-color = mkLiteral "@fg-col2";
|
|
||||||
# };
|
|
||||||
#
|
|
||||||
# "#mode-switcher" = {
|
|
||||||
# spacing = mkLiteral "0";
|
|
||||||
# };
|
|
||||||
#
|
|
||||||
# "#button" = {
|
|
||||||
# padding = mkLiteral "10px"; # Important: Use mkLiteral for dimensions and units
|
|
||||||
# background-color = mkLiteral "@bg-col-light";
|
|
||||||
# text-color = mkLiteral "@grey";
|
|
||||||
# vertical-align = mkLiteral "0.5";
|
|
||||||
# horizontal-align = mkLiteral "0.5";
|
|
||||||
# };
|
|
||||||
#
|
|
||||||
# "button.selected" = { # Use . for classes
|
|
||||||
# background-color = mkLiteral "@bg-col";
|
|
||||||
# text-color = mkLiteral "@blue";
|
|
||||||
# };
|
|
||||||
#
|
|
||||||
# "#message" = {
|
|
||||||
# background-color = mkLiteral "@bg-col-light";
|
|
||||||
# margin = mkLiteral "2px"; # Important: Use mkLiteral for dimensions and units
|
|
||||||
# padding = mkLiteral "2px"; # Important: Use mkLiteral for dimensions and units
|
|
||||||
# border-radius = mkLiteral "5px"; # Important: Use mkLiteral for dimensions and units
|
|
||||||
# };
|
|
||||||
#
|
|
||||||
# "#textbox" = {
|
|
||||||
# padding = mkLiteral "6px"; # Important: Use mkLiteral for dimensions and units
|
|
||||||
# margin = mkLiteral "20px 0px 0px 20px"; # Important: Use mkLiteral for dimensions and units
|
|
||||||
# text-color = mkLiteral "@blue";
|
|
||||||
# background-color = mkLiteral "@bg-col-light";
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,11 +0,0 @@
|
||||||
{ pkgs, lib, myhostname, sops, ... }:
|
|
||||||
{
|
|
||||||
services.spotifyd = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
username = "fredzyw";
|
|
||||||
# password = sops.secrets.spotify_password;
|
|
||||||
device_name = myhostname;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,59 +0,0 @@
|
||||||
# This file is generated from "README.org"
|
|
||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
programs.starship =
|
|
||||||
let
|
|
||||||
flavour = "macchiato"; # One of `latte`, `frappe`, `macchiato`, or `mocha`
|
|
||||||
in
|
|
||||||
{
|
|
||||||
enable = true;
|
|
||||||
enableFishIntegration = true;
|
|
||||||
settings = {
|
|
||||||
# Other config here
|
|
||||||
# format = "$all"; # Remove this line to disable the default prompt format
|
|
||||||
palette = "catppuccin_${flavour}";
|
|
||||||
nix_shell = {
|
|
||||||
disabled = false;
|
|
||||||
symbol = " ";
|
|
||||||
};
|
|
||||||
} // builtins.fromTOML (builtins.readFile
|
|
||||||
(pkgs.fetchFromGitHub
|
|
||||||
{
|
|
||||||
owner = "catppuccin";
|
|
||||||
repo = "starship";
|
|
||||||
rev = "5629d2356f62a9f2f8efad3ff37476c19969bd4f"; # Replace with the latest commit hash
|
|
||||||
sha256 = "sha256-nsRuxQFKbQkyEI4TXgvAjcroVdG+heKX5Pauq/4Ota0=";
|
|
||||||
} + /palettes/${flavour}.toml));
|
|
||||||
};
|
|
||||||
# programs.starship = {
|
|
||||||
# enable = true;
|
|
||||||
# enableFishIntegration = true;
|
|
||||||
# package = pkgs.starship;
|
|
||||||
# settings = {
|
|
||||||
# # Other config here
|
|
||||||
# format = "$all"; # Remove this line to disable the default prompt format
|
|
||||||
# palette = "catppuccin_macchiato";
|
|
||||||
# add_newline = true;
|
|
||||||
# character = {
|
|
||||||
# success_symbol = "[𝝺](#c792ea)";
|
|
||||||
# vicmd_symbol = "[ ](bold green)";
|
|
||||||
# error_symbol = "[☓ ](bold red)";
|
|
||||||
# };
|
|
||||||
# directory = {
|
|
||||||
# style = "bold cyan";
|
|
||||||
# };
|
|
||||||
# nix_shell = {
|
|
||||||
# disabled = false;
|
|
||||||
# symbol = " ";
|
|
||||||
# };
|
|
||||||
# } // builtins.fromTOML (builtins.readFile
|
|
||||||
# (pkgs.fetchFromGitHub
|
|
||||||
# {
|
|
||||||
# owner = "catppuccin";
|
|
||||||
# repo = "starship";
|
|
||||||
# rev = ""; # Replace with the latest commit hash
|
|
||||||
# sha256 = "";
|
|
||||||
# } + /palettes/macchiato.toml));
|
|
||||||
# };
|
|
||||||
# }
|
|
||||||
}
|
|
|
@ -1,7 +0,0 @@
|
||||||
{ pkgs, ...}:
|
|
||||||
{
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
vial
|
|
||||||
via
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,35 +0,0 @@
|
||||||
{ pkgs, lib, ... }:
|
|
||||||
{
|
|
||||||
programs.vim = {
|
|
||||||
enable = true;
|
|
||||||
plugins = with pkgs.vimPlugins; [
|
|
||||||
vim-nix
|
|
||||||
vim-lastplace
|
|
||||||
vim-sensible
|
|
||||||
vim-commentary
|
|
||||||
vim-surround
|
|
||||||
vim-fugitive
|
|
||||||
auto-pairs
|
|
||||||
fzf-vim
|
|
||||||
catppuccin-vim
|
|
||||||
];
|
|
||||||
settings = { ignorecase = true; };
|
|
||||||
extraConfig = ''
|
|
||||||
nnoremap <Space>f :Files<Cr>
|
|
||||||
nnoremap <Space>w :w<Cr>
|
|
||||||
nnoremap <Space>q :q<Cr>
|
|
||||||
nnoremap <Space>o :RG<Cr>
|
|
||||||
nnoremap <Tab> :bnext<Cr>
|
|
||||||
nnoremap <S-Tab> :bprev<Cr>
|
|
||||||
|
|
||||||
set cmdheight=1
|
|
||||||
set relativenumber
|
|
||||||
set wrap
|
|
||||||
set shiftwidth=4
|
|
||||||
set tabstop=4
|
|
||||||
set termguicolors
|
|
||||||
|
|
||||||
colorscheme catppuccin_mocha
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,7 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
programs.vscode = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,66 +0,0 @@
|
||||||
{ pkgs, lib, ... }:
|
|
||||||
{
|
|
||||||
programs.zsh = {
|
|
||||||
enable = true;
|
|
||||||
initExtra = ''
|
|
||||||
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
|
|
||||||
export PATH=/home/fw/.local/bin:$PATH
|
|
||||||
'';
|
|
||||||
plugins = with pkgs; [
|
|
||||||
{
|
|
||||||
name = "zsh-z";
|
|
||||||
file = "zsh-z.plugin.zsh";
|
|
||||||
src = builtins.fetchGit {
|
|
||||||
url = "https://github.com/agkozak/zsh-z";
|
|
||||||
rev = "afaf2965b41fdc6ca66066e09382726aa0b6aa04";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "powerlevel10k";
|
|
||||||
src = pkgs.zsh-powerlevel10k;
|
|
||||||
file = "share/zsh-powerlevel10k/powerlevel10k.zsh-theme";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
shellAliases = {
|
|
||||||
ls="ls --color=auto";
|
|
||||||
ll="ls -al --color=auto";
|
|
||||||
ccr="gcc intopt.c && ./a.out";
|
|
||||||
homec="nvim ~/nix/config/home.nix";
|
|
||||||
nvimc="nvim ~/.config/nvim/init.lua";
|
|
||||||
sdg="sudo nix-collect-garbage -d";
|
|
||||||
udg="nix-collect-garbage -d";
|
|
||||||
df="df -h";
|
|
||||||
c="clear";
|
|
||||||
};
|
|
||||||
enableCompletion = true;
|
|
||||||
initExtraBeforeCompInit = ''
|
|
||||||
# Lines configured by zsh-newuser-install
|
|
||||||
home() {
|
|
||||||
cd ~/nix/ && home-manager switch --flake ".#fw@$(hostname)";
|
|
||||||
}
|
|
||||||
update() {
|
|
||||||
sudo nix-channel --update && sudo nixos-rebuild switch --upgrade --flake '.#$(hostname)'
|
|
||||||
}
|
|
||||||
reb() {
|
|
||||||
cd ~/nix/ && sudo nixos-rebuild switch --flake ".#$(hostname)"
|
|
||||||
}
|
|
||||||
|
|
||||||
HISTFILE=~/.histfile
|
|
||||||
HISTSIZE=1000
|
|
||||||
SAVEHIST=1000
|
|
||||||
setopt autocd extendedglob
|
|
||||||
bindkey -v
|
|
||||||
bindkey '^R' history-incremental-search-backward
|
|
||||||
bindkey '^[[1;5C' emacs-forward-word
|
|
||||||
bindkey '^[[1;5D' emacs-backward-word
|
|
||||||
# End of lines configured by zsh-newuser-install
|
|
||||||
# The following lines were added by compinstall
|
|
||||||
zstyle :compinstall filename '/home/fw/.zshrc'
|
|
||||||
|
|
||||||
# autoload -Uz compinit
|
|
||||||
autoload -U compinit; compinit
|
|
||||||
zstyle ':completion:*' menu select
|
|
||||||
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,92 +0,0 @@
|
||||||
{ pkgs, lib, ... }:
|
|
||||||
{
|
|
||||||
programs.zsh = {
|
|
||||||
enable = true;
|
|
||||||
initExtra = ''
|
|
||||||
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
|
|
||||||
export PATH=/home/fw/.local/bin:$PATH
|
|
||||||
'';
|
|
||||||
plugins = with pkgs; [
|
|
||||||
{
|
|
||||||
name = "zsh-z";
|
|
||||||
file = "zsh-z.plugin.zsh";
|
|
||||||
src = builtins.fetchGit {
|
|
||||||
url = "https://github.com/agkozak/zsh-z";
|
|
||||||
rev = "afaf2965b41fdc6ca66066e09382726aa0b6aa04";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "powerlevel10k";
|
|
||||||
src = pkgs.zsh-powerlevel10k;
|
|
||||||
file = "share/zsh-powerlevel10k/powerlevel10k.zsh-theme";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "fash-syntax-highlighting";
|
|
||||||
file = "fast-syntax-highlighting.plugin.zsh";
|
|
||||||
src = builtins.fetchGit {
|
|
||||||
url = "https://github.com/zdharma-continuum/fast-syntax-highlighting";
|
|
||||||
rev = "cf318e06a9b7c9f2219d78f41b46fa6e06011fd9";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "zsh-fzf-history-search";
|
|
||||||
file = "zsh-fzf-history-search.plugin.zsh";
|
|
||||||
src = builtins.fetchGit {
|
|
||||||
url = "https://github.com/joshskidmore/zsh-fzf-history-search";
|
|
||||||
rev = "741012388886e7ee39330fe3cdb6a4803012dc0b";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "zsh-autosuggestions";
|
|
||||||
src = pkgs.zsh-autosuggestions;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
profileExtra = "
|
|
||||||
if [[ -z $DISPLAY ]]; then
|
|
||||||
exec startx
|
|
||||||
fi
|
|
||||||
";
|
|
||||||
shellAliases = {
|
|
||||||
ls="eza";
|
|
||||||
ll="eza -al";
|
|
||||||
ccr="gcc intopt.c && ./a.out";
|
|
||||||
homec="nvim ~/nix/config/home.nix";
|
|
||||||
nvimc="nvim ~/.config/nvim/init.lua";
|
|
||||||
sdg="sudo nix-collect-garbage -d";
|
|
||||||
udg="nix-collect-garbage -d";
|
|
||||||
df="df -h";
|
|
||||||
c="clear";
|
|
||||||
};
|
|
||||||
enableCompletion = true;
|
|
||||||
initExtraBeforeCompInit = ''
|
|
||||||
# Lines configured by zsh-newuser-install
|
|
||||||
home() {
|
|
||||||
cd ~/nix/ && home-manager switch --flake ".#fw@$(hostname)";
|
|
||||||
}
|
|
||||||
update() {
|
|
||||||
sudo nix-channel --update && sudo nixos-rebuild switch --upgrade --flake '.#$(hostname)'
|
|
||||||
}
|
|
||||||
reb() {
|
|
||||||
cd ~/nix/ && sudo nixos-rebuild switch --flake ".#$(hostname)"
|
|
||||||
}
|
|
||||||
|
|
||||||
HISTFILE=~/.histfile
|
|
||||||
HISTSIZE=1000
|
|
||||||
SAVEHIST=1000
|
|
||||||
setopt autocd extendedglob
|
|
||||||
bindkey -v
|
|
||||||
bindkey '^R' history-incremental-search-backward
|
|
||||||
bindkey '^[[1;5C' emacs-forward-word
|
|
||||||
bindkey '^[[1;5D' emacs-backward-word
|
|
||||||
# End of lines configured by zsh-newuser-install
|
|
||||||
# The following lines were added by compinstall
|
|
||||||
zstyle :compinstall filename '/home/fw/.zshrc'
|
|
||||||
|
|
||||||
# autoload -Uz compinit
|
|
||||||
autoload -U compinit; compinit
|
|
||||||
zstyle ':completion:*' menu select
|
|
||||||
eval $(thefuck --alias)
|
|
||||||
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
Loading…
Add table
Add a link
Reference in a new issue