From 9cb89b9aebc467011db4e205e47a5fca4603c2b0 Mon Sep 17 00:00:00 2001 From: Lily Anderson Date: Sun, 12 Oct 2025 11:44:48 -0500 Subject: [PATCH] Added a vim config and put everything in my prefered indentation style. --- flake.lock | 146 ++++++++++++++++- flake.nix | 53 ++++--- hosts/desktop/configuration.nix | 189 ++++++++++++----------- hosts/desktop/hardware-configuration.nix | 56 +++---- hosts/desktop/home.nix | 130 ++++++++-------- modules/home/vim.nix | 87 +++++++++++ modules/nixos/ai/index.nix | 10 +- modules/nixos/ai/ollama.nix | 2 +- modules/nixos/ai/open-webui.nix | 6 +- modules/nixos/ai/sillytavern.nix | 16 +- modules/nixos/gnome/gnome.nix | 40 ++--- modules/nixos/localization.nix | 44 +++--- 12 files changed, 509 insertions(+), 270 deletions(-) create mode 100755 modules/home/vim.nix diff --git a/flake.lock b/flake.lock index a158983..12785af 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,44 @@ { "nodes": { + "flake-parts": { + "inputs": { + "nixpkgs-lib": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1759362264, + "narHash": "sha256-wfG0S7pltlYyZTM+qqlhJ7GMw2fTF4mLKCIVhLii/4M=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "758cf7296bee11f1706a574c77d072b8a7baa881", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -20,6 +59,34 @@ "type": "github" } }, + "ixx": { + "inputs": { + "flake-utils": [ + "nixvim", + "nuschtosSearch", + "flake-utils" + ], + "nixpkgs": [ + "nixvim", + "nuschtosSearch", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1754860581, + "narHash": "sha256-EM0IE63OHxXCOpDHXaTyHIOk2cNvMCGPqLt/IdtVxgk=", + "owner": "NuschtOS", + "repo": "ixx", + "rev": "babfe85a876162c4acc9ab6fb4483df88fa1f281", + "type": "github" + }, + "original": { + "owner": "NuschtOS", + "ref": "v0.1.1", + "repo": "ixx", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1759831965, @@ -36,10 +103,87 @@ "type": "github" } }, + "nixvim": { + "inputs": { + "flake-parts": "flake-parts", + "nixpkgs": [ + "nixpkgs" + ], + "nuschtosSearch": "nuschtosSearch", + "systems": "systems_2" + }, + "locked": { + "lastModified": 1760245579, + "narHash": "sha256-VnWatwwsLHkgWO6R3N71nQiacOKhpmEBPbasGdr3Ogk=", + "owner": "nix-community", + "repo": "nixvim", + "rev": "dc8dea66e8b02fcee6711ec0c72932bf4a033069", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixvim", + "type": "github" + } + }, + "nuschtosSearch": { + "inputs": { + "flake-utils": "flake-utils", + "ixx": "ixx", + "nixpkgs": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1758662783, + "narHash": "sha256-igrxT+/MnmcftPOHEb+XDwAMq3Xg1Xy7kVYQaHhPlAg=", + "owner": "NuschtOS", + "repo": "search", + "rev": "7d4c0fc4ffe3bd64e5630417162e9e04e64b27a4", + "type": "github" + }, + "original": { + "owner": "NuschtOS", + "repo": "search", + "type": "github" + } + }, "root": { "inputs": { "home-manager": "home-manager", - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs", + "nixvim": "nixvim" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" } } }, diff --git a/flake.nix b/flake.nix index e4c79d8..258c005 100644 --- a/flake.nix +++ b/flake.nix @@ -1,29 +1,34 @@ { - description = "Lily's NixOS Flake. LiNix"; + description = "Lily's NixOS Flake. LiNix"; - inputs = { - nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; - home-manager = { - url = "github:nix-community/home-manager"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - }; - - outputs = { self, nixpkgs, home-manager }@inputs: { - - packages.x86_64-linux.hello = nixpkgs.legacyPackages.x86_64-linux.hello; - - packages.x86_64-linux.default = self.packages.x86_64-linux.hello; - - nixosConfigurations = { - lily-desktop = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - modules = [ - ./hosts/desktop/configuration.nix - inputs.home-manager.nixosModules.default - ]; - specialArgs = { inherit inputs; }; + inputs = { + nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; + home-manager = { + url = "github:nix-community/home-manager"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + nixvim = { + url = "github:nix-community/nixvim"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + }; + + outputs = { self, nixpkgs, home-manager, nixvim }@inputs: { + + packages.x86_64-linux.hello = nixpkgs.legacyPackages.x86_64-linux.hello; + + packages.x86_64-linux.default = self.packages.x86_64-linux.hello; + + nixosConfigurations = { + lily-desktop = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + modules = [ + ./hosts/desktop/configuration.nix + inputs.home-manager.nixosModules.default + inputs.nixvim.nixosModules.nixvim + ]; + specialArgs = { inherit inputs; }; + }; }; }; - }; } diff --git a/hosts/desktop/configuration.nix b/hosts/desktop/configuration.nix index a15b805..6e35ad5 100644 --- a/hosts/desktop/configuration.nix +++ b/hosts/desktop/configuration.nix @@ -1,61 +1,62 @@ { config, pkgs, inputs, ... }: { - imports = - [ # Include the results of the hardware scan. - ./hardware-configuration.nix - ../../modules/nixos/localization.nix - ../../modules/nixos/ai/index.nix - ../../modules/nixos/gnome/gnome.nix - inputs.home-manager.nixosModules.default - ]; + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ../../modules/nixos/localization.nix + ../../modules/nixos/ai/index.nix + ../../modules/nixos/gnome/gnome.nix + ../../modules/home/vim.nix + inputs.home-manager.nixosModules.default + ]; - # Bootloader. - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; +# Bootloader. + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; - networking.hostName = "lily-desktop"; # Define your hostname. - # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. + networking.hostName = "lily-desktop"; # 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"; +# 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; +# Enable networking + networking.networkmanager.enable = true; - # Enable the X11 windowing system. - services.xserver.enable = true; - # Enable CUPS to print documents. - services.printing.enable = true; +# Enable the X11 windowing system. + services.xserver.enable = true; +# Enable CUPS to print documents. + services.printing.enable = true; - # Enable sound with pipewire. - services.pulseaudio.enable = false; - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - # If you want to use JACK applications, uncomment this - #jack.enable = true; +# Enable sound with pipewire. + services.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; +# If you want to use JACK applications, uncomment this +#jack.enable = true; - # use the example session manager (no others are packaged yet so this is enabled by default, - # no need to redefine it in your config for now) - #media-session.enable = true; - }; +# use the example session manager (no others are packaged yet so this is enabled by default, +# no need to redefine it in your config for now) +#media-session.enable = true; + }; - # Enable touchpad support (enabled default in most desktopManager). - # services.xserver.libinput.enable = true; +# Enable touchpad support (enabled default in most desktopManager). +# services.xserver.libinput.enable = true; - # Define a user account. Don't forget to set a password with ‘passwd’. - users.users.lily = { - isNormalUser = true; - description = "Lily Iliana Luna Ylva Anderson Appleseed Grigaitis"; - extraGroups = [ "networkmanager" "wheel" ]; - packages = with pkgs; [ - # thunderbird - ]; - }; +# Define a user account. Don't forget to set a password with ‘passwd’. + users.users.lily = { + isNormalUser = true; + description = "Lily Iliana Luna Ylva Anderson Appleseed Grigaitis"; + extraGroups = [ "networkmanager" "wheel" ]; + packages = with pkgs; [ +# thunderbird + ]; + }; home-manager = { extraSpecialArgs = { inherit inputs; }; @@ -64,67 +65,67 @@ }; }; -programs.nh = { - enable = true; - flake = "/home/lily/Programming/New LiNix"; -}; + programs.nh = { + enable = true; + flake = "/home/lily/Programming/New LiNix"; + }; -nix.settings.experimental-features = [ "nix-command" "flakes" ]; + nix.settings.experimental-features = [ "nix-command" "flakes" ]; - # Install firefox. - programs.firefox.enable = true; +# Install firefox. + programs.firefox.enable = true; - # Allow unfree packages - nixpkgs.config.allowUnfree = true; +# 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 +# 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 -tree -htop -nvtopPackages.full -libreoffice-fresh -hunspell -hunspellDicts.en_US -hunspellDicts.en_US-large + tree + htop + nvtopPackages.full + libreoffice-fresh + hunspell + hunspellDicts.en_US + hunspellDicts.en_US-large -nh + nh -steam-run + steam-run -git - ]; + 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; - # }; +# 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: +# List services that you want to enable: - # Enable the OpenSSH daemon. - services.openssh.enable = true; +# Enable the OpenSSH daemon. + services.openssh.enable = true; - # Open ports in the firewall. - networking.firewall.allowedTCPPorts = [ 22 ]; - # networking.firewall.allowedUDPPorts = [ ... ]; - # Or disable the firewall altogether. - # networking.firewall.enable = false; +# Open ports in the firewall. + networking.firewall.allowedTCPPorts = [ 22 ]; +# 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 = "25.05"; # Did you read the comment? +# This value determines the NixOS release from which the default +# settings for stateful data, like file locations and database versions +# on your system were taken. It‘s perfectly fine and recommended to leave +# this value at the release version of the first install of this system. +# Before changing this value read the documentation for this option +# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). + system.stateVersion = "25.05"; # Did you read the comment? } diff --git a/hosts/desktop/hardware-configuration.nix b/hosts/desktop/hardware-configuration.nix index d26009a..7fd7366 100644 --- a/hosts/desktop/hardware-configuration.nix +++ b/hosts/desktop/hardware-configuration.nix @@ -4,17 +4,17 @@ { config, lib, pkgs, modulesPath, ... }: { - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; - boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "usbhid" "sd_mod" ]; + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "usbhid" "sd_mod" ]; boot.initrd.kernelModules = [ "nvidia" ]; - boot.kernelModules = [ "kvm-amd" ]; - boot.extraModulePackages = [ + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ config.boot.kernelPackages.nvidiaPackages.stable -]; + ]; -hardware.graphics = { + hardware.graphics = { enable = true; enable32Bit = true; }; @@ -29,29 +29,29 @@ hardware.graphics = { - fileSystems."/" = - { device = "/dev/disk/by-uuid/8279665b-b695-4747-9206-9cc06b7fe303"; - fsType = "btrfs"; - options = [ "subvol=@" ]; - }; + fileSystems."/" = + { device = "/dev/disk/by-uuid/8279665b-b695-4747-9206-9cc06b7fe303"; + fsType = "btrfs"; + options = [ "subvol=@" ]; + }; - boot.initrd.luks.devices."luks-8573b24b-461f-40bf-b16b-9de1207c0696".device = "/dev/disk/by-uuid/8573b24b-461f-40bf-b16b-9de1207c0696"; + boot.initrd.luks.devices."luks-8573b24b-461f-40bf-b16b-9de1207c0696".device = "/dev/disk/by-uuid/8573b24b-461f-40bf-b16b-9de1207c0696"; - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/383D-97DA"; - fsType = "vfat"; - options = [ "fmask=0077" "dmask=0077" ]; - }; + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/383D-97DA"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; - swapDevices = [ ]; + swapDevices = [ ]; - # 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..useDHCP`. - networking.useDHCP = lib.mkDefault true; - # networking.interfaces.enp42s0.useDHCP = lib.mkDefault true; +# 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..useDHCP`. + networking.useDHCP = lib.mkDefault true; +# networking.interfaces.enp42s0.useDHCP = lib.mkDefault true; - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; } diff --git a/hosts/desktop/home.nix b/hosts/desktop/home.nix index b6ec8e5..00f4559 100644 --- a/hosts/desktop/home.nix +++ b/hosts/desktop/home.nix @@ -1,76 +1,78 @@ { config, pkgs, ... }: { - # Home Manager needs a bit of information about you and the paths it should - # manage. - home.username = "lily"; - home.homeDirectory = "/home/lily"; + imports = [ /*../../modules/home/vim.nix*/ ]; - # This value determines the Home Manager release that your configuration is - # compatible with. This helps avoid breakage when a new Home Manager release - # introduces backwards incompatible changes. - # - # You should not change this value, even if you update Home Manager. If you do - # want to update the value, then make sure to first check the Home Manager - # release notes. - home.stateVersion = "25.05"; # Please read the comment before changing. +# Home Manager needs a bit of information about you and the paths it should +# manage. + home.username = "lily"; + home.homeDirectory = "/home/lily"; - # The home.packages option allows you to install Nix packages into your - # environment. - home.packages = [ - # # Adds the 'hello' command to your environment. It prints a friendly - # # "Hello, world!" when run. - # pkgs.hello +# This value determines the Home Manager release that your configuration is +# compatible with. This helps avoid breakage when a new Home Manager release +# introduces backwards incompatible changes. +# +# You should not change this value, even if you update Home Manager. If you do +# want to update the value, then make sure to first check the Home Manager +# release notes. + home.stateVersion = "25.05"; # Please read the comment before changing. - # # It is sometimes useful to fine-tune packages, for example, by applying - # # overrides. You can do that directly here, just don't forget the - # # parentheses. Maybe you want to install Nerd Fonts with a limited number of - # # fonts? - # (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; }) +# The home.packages option allows you to install Nix packages into your +# environment. + home.packages = [ +# # Adds the 'hello' command to your environment. It prints a friendly +# # "Hello, world!" when run. +# pkgs.hello - # # You can also create simple shell scripts directly inside your - # # configuration. For example, this adds a command 'my-hello' to your - # # environment: - # (pkgs.writeShellScriptBin "my-hello" '' - # echo "Hello, ${config.home.username}!" - # '') - ]; +# # It is sometimes useful to fine-tune packages, for example, by applying +# # overrides. You can do that directly here, just don't forget the +# # parentheses. Maybe you want to install Nerd Fonts with a limited number of +# # fonts? +# (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; }) - # Home Manager is pretty good at managing dotfiles. The primary way to manage - # plain files is through 'home.file'. - home.file = { - # # Building this configuration will create a copy of 'dotfiles/screenrc' in - # # the Nix store. Activating the configuration will then make '~/.screenrc' a - # # symlink to the Nix store copy. - # ".screenrc".source = dotfiles/screenrc; +# # You can also create simple shell scripts directly inside your +# # configuration. For example, this adds a command 'my-hello' to your +# # environment: +# (pkgs.writeShellScriptBin "my-hello" '' +# echo "Hello, ${config.home.username}!" +# '') + ]; - # # You can also set the file content immediately. - # ".gradle/gradle.properties".text = '' - # org.gradle.console=verbose - # org.gradle.daemon.idletimeout=3600000 - # ''; - }; +# Home Manager is pretty good at managing dotfiles. The primary way to manage +# plain files is through 'home.file'. + home.file = { +# # Building this configuration will create a copy of 'dotfiles/screenrc' in +# # the Nix store. Activating the configuration will then make '~/.screenrc' a +# # symlink to the Nix store copy. +# ".screenrc".source = dotfiles/screenrc; - # Home Manager can also manage your environment variables through - # 'home.sessionVariables'. These will be explicitly sourced when using a - # shell provided by Home Manager. If you don't want to manage your shell - # through Home Manager then you have to manually source 'hm-session-vars.sh' - # located at either - # - # ~/.nix-profile/etc/profile.d/hm-session-vars.sh - # - # or - # - # ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh - # - # or - # - # /etc/profiles/per-user/lily/etc/profile.d/hm-session-vars.sh - # - home.sessionVariables = { - # EDITOR = "emacs"; - }; +# # You can also set the file content immediately. +# ".gradle/gradle.properties".text = '' +# org.gradle.console=verbose +# org.gradle.daemon.idletimeout=3600000 +# ''; + }; - # Let Home Manager install and manage itself. - programs.home-manager.enable = true; +# Home Manager can also manage your environment variables through +# 'home.sessionVariables'. These will be explicitly sourced when using a +# shell provided by Home Manager. If you don't want to manage your shell +# through Home Manager then you have to manually source 'hm-session-vars.sh' +# located at either +# +# ~/.nix-profile/etc/profile.d/hm-session-vars.sh +# +# or +# +# ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh +# +# or +# +# /etc/profiles/per-user/lily/etc/profile.d/hm-session-vars.sh +# + home.sessionVariables = { +# EDITOR = "emacs"; + }; + +# Let Home Manager install and manage itself. + programs.home-manager.enable = true; } diff --git a/modules/home/vim.nix b/modules/home/vim.nix new file mode 100755 index 0000000..aa36c63 --- /dev/null +++ b/modules/home/vim.nix @@ -0,0 +1,87 @@ +{ pkgs, lib, nixvim, ... }: +{ + imports = [ /*inputs.nixvim.nixosModules.nixvim*/ ]; + + programs.nixvim = { + enable = true; + defaultEditor = true; + enableMan = true; + + globals.mapleader = "`"; + + viAlias = true; + vimAlias = true; + + opts = { + tabstop = 4; + softtabstop = 0; + shiftwidth = 4; + expandtab = false; + autoindent = true; + number = true; + relativenumber = true; + ignorecase = true; + smartcase = true; + }; + + plugins.lsp = { + enable = true; + servers = { + rust_analyzer = { + enable = true; + installCargo = false; + installRustc = false; + }; + nixd = { + enable = true; +# settings.formatting.command = [ "alejandra" ]; + }; + }; + }; + + plugins.treesitter = { + enable = true; + nixvimInjections = true; +# ensure_installed = "all"; + settings = { + highlight = { + enable = true; + disable = [ "org" ]; + }; + }; + grammarPackages = pkgs.vimPlugins.nvim-treesitter.allGrammars; + }; + extraPlugins = with pkgs.vimPlugins; [ + orgmode + vim-nix + ]; + + extraConfigLua = '' + -- Tree-sitter configuration + require'nvim-treesitter.configs'.setup { + -- If TS highlights are not enabled at all, or disabled via ``disable`` prop, highlighting will fallback to default Vim syntax highlighting + highlight = { + -- enable = true, + -- disable = {'org'}, -- Remove this to use TS highlighter for some of the highlights (Experimental) + additional_vim_regex_highlighting = {'org'}, -- Required since TS highlighter doesn't support all syntax features (conceal) + }, + -- ensure_installed = {'org'}, -- Or run :TSUpdate org + } + + require('orgmode').setup({ + org_agenda_files = {'~/Org/Agenda/agenda.org', '~/Public/Org/Agenda/agenda.org'}, + org_default_notes_file = '~/Dropbox/org/refile.org', + }) + ''; + + extraConfigVim = '' + filetype indent off + set noexpandtab + set list + set listchars=tab:▸\ ,trail:· + autocmd FileType nix setlocal noexpandtab tabstop=4 shiftwidth=4 softtabstop=0 + ''; + +#colorschemes.base16.enable = true; + }; +} diff --git a/modules/nixos/ai/index.nix b/modules/nixos/ai/index.nix index 047091c..d4c07d5 100644 --- a/modules/nixos/ai/index.nix +++ b/modules/nixos/ai/index.nix @@ -1,8 +1,8 @@ { config, pkgs, inputs, ... }: { - imports = [ - ./ollama.nix - ./open-webui.nix - ./sillytavern.nix - ]; + imports = [ + ./ollama.nix + ./open-webui.nix + ./sillytavern.nix + ]; } diff --git a/modules/nixos/ai/ollama.nix b/modules/nixos/ai/ollama.nix index 1e3898b..8dd9db7 100644 --- a/modules/nixos/ai/ollama.nix +++ b/modules/nixos/ai/ollama.nix @@ -1,6 +1,6 @@ { config, pkgs, inputs, ... }: { - imports = [ ]; + imports = [ ]; services.ollama = { enable = true; acceleration = "cuda"; diff --git a/modules/nixos/ai/open-webui.nix b/modules/nixos/ai/open-webui.nix index fa971de..0798cd4 100644 --- a/modules/nixos/ai/open-webui.nix +++ b/modules/nixos/ai/open-webui.nix @@ -1,8 +1,8 @@ { config, pkgs, inputs, ... }: { - imports = [ ]; + imports = [ ]; services.open-webui = { - #enable = true; +#enable = true; enable = false; host = "0.0.0.0"; openFirewall = true; @@ -15,4 +15,4 @@ ENABLE_LOGIN_FORM = "True"; }; }; - } +} diff --git a/modules/nixos/ai/sillytavern.nix b/modules/nixos/ai/sillytavern.nix index 53cd3b8..35a2722 100644 --- a/modules/nixos/ai/sillytavern.nix +++ b/modules/nixos/ai/sillytavern.nix @@ -1,31 +1,31 @@ { config, pkgs, inputs, ... }: { - imports = [ ]; + imports = [ ]; services.sillytavern = { enable = true; - #enable = false; +#enable = false; port = 9002; listen = true; listenAddressIPv4 = "127.0.0.1"; whitelist = true; - #user = "tavern"; - #group = "tavern"; +#user = "tavern"; +#group = "tavern"; }; services.nginx = { enable = true; - #additionalModules = [ pkgs.nginxModules.pam ]; +#additionalModules = [ pkgs.nginxModules.pam ]; virtualHosts."192.168.0.101" = { locations."/" = { proxyPass = "http://localhost:9002"; extraConfig = '' auth_basic "Password Required"; - auth_basic_user_file /etc/htpasswd; + auth_basic_user_file /etc/htpasswd; ''; }; }; }; - # Open ports in the firewall. - networking.firewall.allowedTCPPorts = [ 80 ]; #9002 +# Open ports in the firewall. + networking.firewall.allowedTCPPorts = [ 80 ]; #9002 } diff --git a/modules/nixos/gnome/gnome.nix b/modules/nixos/gnome/gnome.nix index 387990a..85d1185 100644 --- a/modules/nixos/gnome/gnome.nix +++ b/modules/nixos/gnome/gnome.nix @@ -1,36 +1,36 @@ { config, pkgs, inputs, ... }: { - imports = [ ]; + imports = [ ]; - # Enable the X11 windowing system. - services.xserver.enable = true; +# Enable the X11 windowing system. + services.xserver.enable = true; - #Disable Suspend +#Disable Suspend systemd.targets.sleep.enable = false; systemd.targets.suspend.enable = false; systemd.targets.hibernate.enable = false; systemd.targets.hybrid-sleep.enable = false; - # Enable the GNOME Desktop Environment. - services.displayManager.gdm.enable = true; - services.desktopManager.gnome.enable = true; +# Enable the GNOME Desktop Environment. + services.displayManager.gdm.enable = true; + services.desktopManager.gnome.enable = true; - #Packages - environment.systemPackages = with pkgs; [ - gnome-tweaks - gnome-extension-manager - gnomeExtensions.pop-shell - gnomeExtensions.arcmenu - gnomeExtensions.dash-to-panel - gnomeExtensions.dash-to-dock - gnomeExtensions.just-perfection - gnomeExtensions.blur-my-shell - ]; +#Packages + environment.systemPackages = with pkgs; [ + gnome-tweaks + gnome-extension-manager + gnomeExtensions.pop-shell + gnomeExtensions.arcmenu + gnomeExtensions.dash-to-panel + gnomeExtensions.dash-to-dock + gnomeExtensions.just-perfection + gnomeExtensions.blur-my-shell + ]; environment.gnome.excludePackages = with pkgs; [ epiphany - geary - gnome-tour + geary + gnome-tour ]; } diff --git a/modules/nixos/localization.nix b/modules/nixos/localization.nix index 57a543d..fcbb891 100644 --- a/modules/nixos/localization.nix +++ b/modules/nixos/localization.nix @@ -1,29 +1,29 @@ { config, pkgs, inputs, ... }: { - imports = - [ ]; - # Set your time zone. - time.timeZone = "America/Chicago"; + imports = + [ ]; +# Set your time zone. + time.timeZone = "America/Chicago"; - # Select internationalisation properties. - i18n.defaultLocale = "en_US.UTF-8"; +# Select internationalisation properties. + i18n.defaultLocale = "en_US.UTF-8"; - i18n.extraLocaleSettings = { - LC_ADDRESS = "en_US.UTF-8"; - LC_IDENTIFICATION = "en_US.UTF-8"; - LC_MEASUREMENT = "en_US.UTF-8"; - LC_MONETARY = "en_US.UTF-8"; - LC_NAME = "en_US.UTF-8"; - LC_NUMERIC = "en_US.UTF-8"; - LC_PAPER = "en_US.UTF-8"; - LC_TELEPHONE = "en_US.UTF-8"; - LC_TIME = "en_US.UTF-8"; - }; + i18n.extraLocaleSettings = { + LC_ADDRESS = "en_US.UTF-8"; + LC_IDENTIFICATION = "en_US.UTF-8"; + LC_MEASUREMENT = "en_US.UTF-8"; + LC_MONETARY = "en_US.UTF-8"; + LC_NAME = "en_US.UTF-8"; + LC_NUMERIC = "en_US.UTF-8"; + LC_PAPER = "en_US.UTF-8"; + LC_TELEPHONE = "en_US.UTF-8"; + LC_TIME = "en_US.UTF-8"; + }; - # Configure keymap in X11 - services.xserver.xkb = { - layout = "us"; - variant = ""; - }; +# Configure keymap in X11 + services.xserver.xkb = { + layout = "us"; + variant = ""; + }; }