Compare commits

..

No commits in common. "82ffbcbde4ee3f8b875556d928419ed9e202a8c4" and "1b22c1345fae128616e4293f2d389475494d650e" have entirely different histories.

13 changed files with 57 additions and 183 deletions

View File

@ -315,22 +315,6 @@
"type": "github" "type": "github"
} }
}, },
"gen-nvim": {
"flake": false,
"locked": {
"lastModified": 1702112421,
"narHash": "sha256-oF6LT8Q6Dp4mKDNTcm/hx0F8a6iN/HvpZKgGRkctrI4=",
"owner": "David-Kunz",
"repo": "gen.nvim",
"rev": "1319b03357fd7017bbaf1d45cd6b72bd9e106226",
"type": "github"
},
"original": {
"owner": "David-Kunz",
"repo": "gen.nvim",
"type": "github"
}
},
"gitignore": { "gitignore": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -1059,7 +1043,6 @@
"disko": "disko", "disko": "disko",
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
"flake-utils": "flake-utils", "flake-utils": "flake-utils",
"gen-nvim": "gen-nvim",
"hmts-nvim": "hmts-nvim", "hmts-nvim": "hmts-nvim",
"home-manager": "home-manager_2", "home-manager": "home-manager_2",
"hypr-contrib": "hypr-contrib", "hypr-contrib": "hypr-contrib",

View File

@ -54,8 +54,6 @@
neotest-python.url = "github:MoritzBoehme/neotest-python/fix-runtimepath-search"; neotest-python.url = "github:MoritzBoehme/neotest-python/fix-runtimepath-search";
statuscol-nvim.flake = false; statuscol-nvim.flake = false;
statuscol-nvim.url = "github:luukvbaal/statuscol.nvim/0.10"; # HACK: fix for neovim-nightly statuscol-nvim.url = "github:luukvbaal/statuscol.nvim/0.10"; # HACK: fix for neovim-nightly
gen-nvim.flake = false;
gen-nvim.url = "github:David-Kunz/gen.nvim";
# Hyprland # Hyprland
hypr-contrib.url = "github:hyprwm/contrib"; hypr-contrib.url = "github:hyprwm/contrib";

View File

@ -26,7 +26,6 @@
keyboardLayouts = [ "us" "de" ]; keyboardLayouts = [ "us" "de" ];
}; };
services.wallpaper.enable = true; services.wallpaper.enable = true;
services.ollama.enable = true;
programs.ledger.enable = true; programs.ledger.enable = true;
}; };
@ -54,11 +53,9 @@
kernelPackages = pkgs.linuxPackages_latest; kernelPackages = pkgs.linuxPackages_latest;
# BOOT # BOOT
supportedFilesystems = [ "zfs" "btrfs" "ntfs" ]; supportedFilesystems = [ "zfs" "btrfs" "ntfs" ];
loader = { loader.systemd-boot.enable = true;
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
kernelModules = [ "lm92" "drivetemp" ]; kernelModules = [ "lm92" "drivetemp" ];
}; };

View File

@ -1,4 +1,4 @@
{ lib, ... }: { pkgs, ... }:
{ {
# needed for zfs pool # needed for zfs pool
@ -83,9 +83,26 @@
}; };
}; };
# rollback to blank # rollback to blank
boot.initrd.postDeviceCommands = lib.mkAfter '' boot.initrd.systemd.services.rollback = {
zfs rollback -r zroot/encrypted/root@blank && echo "rollback complete" description = "Rollback ZFS datasets to a pristine state";
''; wantedBy = [
"initrd.target"
];
after = [
"zfs-import-zroot.service"
];
before = [
"sysroot.mount"
];
path = with pkgs; [
zfs
];
unitConfig.DefaultDependencies = "no";
serviceConfig.Type = "oneshot";
script = ''
zfs rollback -r zroot/encrypted/root@blank && echo "rollback complete"
'';
};
fileSystems."/persist".neededForBoot = true; fileSystems."/persist".neededForBoot = true;
# HACK: to fix issue of agenix running before impermanence # HACK: to fix issue of agenix running before impermanence
age.identityPaths = [ age.identityPaths = [

View File

@ -11,6 +11,7 @@
initrd = { initrd = {
availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ]; availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
kernelModules = [ ]; kernelModules = [ ];
luks.devices."enc".device = "/dev/disk/by-uuid/30025a9f-44cf-4074-8ae2-d4925efd67dd";
}; };
kernelModules = [ "kvm-amd" ]; kernelModules = [ "kvm-amd" ];
extraModulePackages = [ ]; extraModulePackages = [ ];

View File

@ -16,7 +16,7 @@ in
yubikey = { yubikey = {
enable = mkDefault true; enable = mkDefault true;
luksSupport = { luksSupport = {
enable = mkDefault false; enable = mkDefault true;
devices = mkDefault [ "enc" ]; devices = mkDefault [ "enc" ];
}; };
}; };

View File

@ -30,8 +30,8 @@ in
"browser.search.suggest.enabled" = true; "browser.search.suggest.enabled" = true;
"browser.urlbar.suggest.searches" = true; "browser.urlbar.suggest.searches" = true;
# Restore previous session on startup # startup page
"browser.startup.page" = 3; "browser.startup.page" = 0;
# drm # drm
"media.eme.enabled" = true; "media.eme.enabled" = true;
@ -41,6 +41,30 @@ in
# disable letterboxing # disable letterboxing
"privacy.resistFingerprinting.letterboxing" = false; "privacy.resistFingerprinting.letterboxing" = false;
## OTHER
# Dont show warning when accessing about:config
"browser.aboutConfig.showWarning" = false;
# Hide bookmarks
"browser.toolbars.bookmarks.visibility" = "never";
# Smooth scrolling
"general.smoothScroll.lines.durationMaxMS" = 125;
"general.smoothScroll.lines.durationMinMS" = 125;
"general.smoothScroll.mouseWheel.durationMaxMS" = 200;
"general.smoothScroll.mouseWheel.durationMinMS" = 100;
"general.smoothScroll.msdPhysics.enabled" = true;
"general.smoothScroll.other.durationMaxMS" = 125;
"general.smoothScroll.other.durationMinMS" = 125;
"general.smoothScroll.pages.durationMaxMS" = 125;
"general.smoothScroll.pages.durationMinMS" = 125;
"mousewheel.min_line_scroll_amount" = 40;
"mousewheel.system_scroll_override_on_root_content.enabled" = true;
"mousewheel.system_scroll_override_on_root_content.horizontal.factor" = 175;
"mousewheel.system_scroll_override_on_root_content.vertical.factor" = 175;
"toolkit.scrollbox.horizontalScrollDistance" = 6;
"toolkit.scrollbox.verticalScrollDistance" = 2;
}; };
}; };
}; };

View File

@ -50,106 +50,10 @@ in
keepassxc-browser keepassxc-browser
languagetool languagetool
multi-account-containers multi-account-containers
sponsorblock
temporary-containers
ublock-origin ublock-origin
wikiwand-wikipedia-modernized
vimium vimium
]; ];
settings = {
# Disable Pocket
"extensions.pocket.enabled" = false;
# Disable Activity Stream
# https://wiki.mozilla.org/Firefox/Activity_Stream
"browser.newtabpage.activity-stream.enabled" = false;
"browser.newtabpage.activity-stream.telemetry" = false;
"browser.newtabpage.activity-stream.feeds.discoverystreamfeed" = false;
"browser.newtabpage.activity-stream.feeds.section.topstories" = false;
"browser.newtabpage.activity-stream.section.highlights.includePocket" = false;
"browser.newtabpage.activity-stream.showSponsored" = false;
"browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts.havePinned" = "";
"browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts.searchEngines" = "";
"browser.newtabpage.pinned" = "[]";
# Disable new tab tile ads & preload
# http://www.thewindowsclub.com/disable-remove-ad-tiles-from-firefox
# http://forums.mozillazine.org/viewtopic.php?p=13876331#p13876331
# https://wiki.mozilla.org/Tiles/Technical_Documentation#Ping
# https://gecko.readthedocs.org/en/latest/browser/browser/DirectoryLinksProvider.html#browser-newtabpage-directory-source
# https://gecko.readthedocs.org/en/latest/browser/browser/DirectoryLinksProvider.html#browser-newtabpage-directory-ping
"browser.newtabpage.enhanced" = false;
"browser.newtabpage.introShown" = true;
"browser.newtab.preload" = false;
"browser.newtabpage.directory.ping" = "";
"browser.newtabpage.directory.source" = "data:text/plain,{}";
# Disable some not so useful functionality.
"browser.disableResetPrompt" = true; # "Looks like you haven't started Firefox in a while."
"browser.onboarding.enabled" = false; # "New to Firefox? Let's get started!" tour
"browser.aboutConfig.showWarning" = false; # Warning when opening about:config
"extensions.shield-recipe-client.enabled" = false;
# do not offer to save passwords = nor allow the user to enable the feature
"signon.rememberSignons" = false;
"signon.rememberSignons.visibilityToggle" = false;
# send do not track header
"privacy.donottrackheader.enabled" = true;
# Hide bookmarks
"browser.toolbars.bookmarks.visibility" = "never";
# Smooth scrolling
"general.smoothScroll.lines.durationMaxMS" = 125;
"general.smoothScroll.lines.durationMinMS" = 125;
"general.smoothScroll.mouseWheel.durationMaxMS" = 200;
"general.smoothScroll.mouseWheel.durationMinMS" = 100;
"general.smoothScroll.msdPhysics.enabled" = true;
"general.smoothScroll.other.durationMaxMS" = 125;
"general.smoothScroll.other.durationMinMS" = 125;
"general.smoothScroll.pages.durationMaxMS" = 125;
"general.smoothScroll.pages.durationMinMS" = 125;
"mousewheel.min_line_scroll_amount" = 40;
"mousewheel.system_scroll_override_on_root_content.enabled" = true;
"mousewheel.system_scroll_override_on_root_content.horizontal.factor" = 175;
"mousewheel.system_scroll_override_on_root_content.vertical.factor" = 175;
"toolkit.scrollbox.horizontalScrollDistance" = 6;
"toolkit.scrollbox.verticalScrollDistance" = 2;
# Do not check if Firefox is the default browser
"browser.shell.checkDefaultBrowser" = false;
# Reduce search engine noise in the urlbar's completion window. The
# shortcuts and suggestions will still work, but Firefox won't clutter
# its UI with reminders that they exist.
"browser.urlbar.suggest.searches" = false;
"browser.urlbar.shortcuts.bookmarks" = false;
"browser.urlbar.shortcuts.history" = false;
"browser.urlbar.shortcuts.tabs" = false;
"browser.urlbar.showSearchSuggestionsFirst" = false;
"browser.urlbar.speculativeConnect.enabled" = false;
# https://bugzilla.mozilla.org/1642623
"browser.urlbar.dnsResolveSingleWordsAfterSearch" = 0;
# https://blog.mozilla.org/data/2021/09/15/data-and-firefox-suggest/
"browser.urlbar.suggest.quicksuggest.nonsponsored" = false;
"browser.urlbar.suggest.quicksuggest.sponsored" = false;
# Show whole URL in address bar
"browser.urlbar.trimURLs" = false;
# auto enable addons
"extensions.autoDisableScopes" = 0;
# Disable Form autofill
# https://wiki.mozilla.org/Firefox/Features/Form_Autofill
"browser.formfill.enable" = false;
"extensions.formautofill.addresses.enabled" = false;
"extensions.formautofill.available" = "off";
"extensions.formautofill.creditCards.available" = false;
"extensions.formautofill.creditCards.enabled" = false;
"extensions.formautofill.heuristics.enabled" = false;
};
}; };
}; };
}; };

View File

@ -111,7 +111,7 @@ in
} }
misc { misc {
vrr = 0 vrr = 1
mouse_move_enables_dpms = true mouse_move_enables_dpms = true
key_press_enables_dpms = true key_press_enables_dpms = true
force_default_wallpaper = 0 force_default_wallpaper = 0

View File

@ -1,4 +1,4 @@
{ pkgs, lib, ... }: { pkgs, ... }:
with builtins; with builtins;
{ {
@ -332,25 +332,5 @@ with builtins;
}; };
cmd = [ "Neogen" ]; cmd = [ "Neogen" ];
} }
{
plugin = gen-nvim;
init = /* lua */ ''
require("gen").setup({
model = "zephyr:7b-beta", -- The default model to use.
display_mode = "float", -- The display mode. Can be "float" or "split".
show_prompt = false, -- Shows the Prompt submitted to Ollama.
show_model = false, -- Displays which model you are using at the beginning of your chat session.
no_auto_close = false, -- Never closes the window automatically.
init = function(options) end,
-- Function to initialize Ollama
command = "${lib.getExe pkgs.curl} --silent --no-buffer -X POST http://localhost:11434/api/generate -d $body",
-- The command for the Ollama service. You can use placeholders $prompt, $model and $body (shellescaped).
-- This can also be a lua function returning a command string, with options as the input parameter.
-- The executed command must return a JSON object with { response, context }
-- (context property is optional).
debug = false -- Prints errors and the command which is run.
})
'';
}
]; ];
} }

View File

@ -12,6 +12,9 @@ with builtins;
highlight = { highlight = {
enable = true; enable = true;
}; };
context_commentstring = {
enable = true;
};
textobjects = textobjects =
{ {
select = select =

View File

@ -1,27 +0,0 @@
{ lib, config, pkgs, ... }:
with lib;
let
cfg = config.my.services.ollama;
in
{
options.my.services.ollama = {
enable = mkEnableOption "ollama";
package = mkOption {
type = types.package;
default = pkgs.ollama;
};
};
config = mkIf cfg.enable {
systemd.user.services.ollama = {
after = [ "network.target" ];
serviceConfig = {
Type = "simple";
Restart = "on-failure";
RestartSec = "1s";
ExecStart = "${getExe cfg.package} serve";
};
};
};
}

View File

@ -61,11 +61,5 @@ with lib.my;
version = mkVersionInput inputs.neotest-python; version = mkVersionInput inputs.neotest-python;
src = inputs.neotest-python; src = inputs.neotest-python;
}); });
gen-nvim = prev.vimUtils.buildVimPlugin {
pname = "gen-nvim";
version = mkVersionInput inputs.gen-nvim;
src = inputs.gen-nvim;
};
}; };
} }