Compare commits

...

10 commits

Author SHA1 Message Date
215ec2ef81 update 2025-05-01 08:54:57 +02:00
0de230fb28 update 2025-04-29 23:44:23 +02:00
8fa93e9c92 update 2025-04-29 23:32:16 +02:00
577afaf7ac update 2025-04-24 11:30:25 +02:00
f35aab166b update 2025-04-24 11:13:29 +02:00
2a21a4760c Update 2025-04-23 15:39:47 +02:00
e418928fa3 update 2025-04-18 12:37:07 +02:00
7ca8731e30 update 2025-04-18 09:37:06 +02:00
f27fe50ac4 update 2025-04-18 09:25:01 +02:00
fd3ca0c42e update 2025-04-18 09:15:35 +02:00
6 changed files with 397 additions and 104 deletions

View file

@ -1,3 +1,3 @@
{ {
"workspace.checkThirdParty": false "workspace.checkThirdParty": false
} }

View file

@ -1,6 +0,0 @@
font-family = FiraCode Nerd Font
theme = Kanagawa Dragon
mouse-hide-while-typing = true
minimum-contrast = 1.1
font-size = 14
command = /usr/local/bin/tmux

195
init.lua
View file

@ -32,6 +32,7 @@ vim.opt.shortmess:append("sI")
vim.opt.wrap = false vim.opt.wrap = false
vim.opt.title = true vim.opt.title = true
vim.opt.titlestring = [[%{fnamemodify(getcwd(), ':t')}]] vim.opt.titlestring = [[%{fnamemodify(getcwd(), ':t')}]]
vim.o.sessionoptions = "blank,buffers,curdir,folds,help,tabpages,winsize,winpos,terminal,localoptions"
vim.g.clipboard = { vim.g.clipboard = {
name = 'OSC 52', name = 'OSC 52',
copy = { copy = {
@ -57,6 +58,14 @@ require("lazy").setup({
vim.g.molten_output_win_max_height = 12 vim.g.molten_output_win_max_height = 12
end, end,
}, },
{
'rmagatti/auto-session',
lazy = false,
---@module "auto-session"
---@type AutoSession.Config
opts = {
}
},
{ {
"williamboman/mason.nvim", "williamboman/mason.nvim",
opts = {} opts = {}
@ -116,17 +125,6 @@ require("lazy").setup({
tag = '0.1.6', tag = '0.1.6',
dependencies = { dependencies = {
'nvim-lua/plenary.nvim', 'nvim-lua/plenary.nvim',
{
"isak102/telescope-git-file-history.nvim",
dependencies = {
"nvim-lua/plenary.nvim",
"tpope/vim-fugitive"
}
},
config = function()
require("telescope").load_extension("git_file_history")
end
} }
}, },
{ {
@ -184,88 +182,6 @@ require("lazy").setup({
end end
end) end)
-- Actions
local wk = require("which-key")
wk.add({
{
'<leader>h',
group = "hunks",
mode = "n",
{
{ '<leader>hs', gitsigns.stage_hunk, desc = "Stage Hunk" },
{ '<leader>hr', gitsigns.reset_hunk, desc = "Reset Hunk" },
{
'<leader>hS',
gitsigns.stage_buffer,
desc = "Stage Buffer"
},
{
'<leader>hu',
gitsigns.undo_stage_hunk,
desc = "Undo Stage Hunk"
},
{
'<leader>hR',
gitsigns.reset_buffer,
desc = "Reset Buffer"
},
{
'<leader>hp',
gitsigns.preview_hunk,
desc = "Preview Hunk"
},
{
'<leader>hb',
function() gitsigns.blame_line { full = true } end,
desc = "Blame line"
},
{
'<leader>tb',
gitsigns.toggle_current_line_blame,
desc = "Toggle current line blame"
},
{
'<leader>hd',
gitsigns.diffthis,
desc = "Diff this"
},
{
'<leader>hD',
function() gitsigns.diffthis('~') end,
desc = "Diff this ~"
},
{
'<leader>ht',
gitsigns.toggle_deleted,
desc = "Toggle deleted"
},
},
},
{
'<leader>h',
group = "vhunks",
mode = "v",
{
'<leader>hs',
function()
gitsigns.stage_hunk { vim.fn.line('.'),
vim.fn.line('v') }
end,
desc = "Stage Hunk",
},
{
'<leader>hr',
function()
gitsigns.reset_hunk { vim.fn.line('.'),
vim.fn.line('v') }
end,
desc = "Reset Hunk",
},
}
})
-- Text object -- Text object
map({ 'o', 'x' }, 'ih', ':<C-U>Gitsigns select_hunk<CR>') map({ 'o', 'x' }, 'ih', ':<C-U>Gitsigns select_hunk<CR>')
end end
@ -544,6 +460,98 @@ map('n', '<A-n>', '<Cmd>BufferMovePrevious<CR>', opts)
map('n', '<A-m>', '<Cmd>BufferMoveNext<CR>', opts) map('n', '<A-m>', '<Cmd>BufferMoveNext<CR>', opts)
map('n', '<A-c>', '<Cmd>BufferClose<CR>', opts) map('n', '<A-c>', '<Cmd>BufferClose<CR>', opts)
map('n', '<A-p>', '<Cmd>BufferPick<CR>', opts) map('n', '<A-p>', '<Cmd>BufferPick<CR>', opts)
map('n', '<A-p>', '<Cmd>BufferPick<CR>', opts)
map('n', '<A-p>', '<Cmd>BufferPick<CR>', opts)
local neogit = require('neogit')
local wk = require("which-key")
local gitsigns = require('gitsigns')
wk.add(
{
{
'<leader>g',
group = "git",
mode = "n",
{
{
'<leader>gg',
function()
neogit.open({ kind = "split" })
end,
desc = "Neogit"
},
{ '<leader>gs', gitsigns.stage_hunk, desc = "Stage Hunk" },
{ '<leader>gr', gitsigns.reset_hunk, desc = "Reset Hunk" },
{
'<leader>gS',
gitsigns.stage_buffer,
desc = "Stage Buffer"
},
{
'<leader>gu',
gitsigns.undo_stage_hunk,
desc = "Undo Stage Hunk"
},
{
'<leader>gR',
gitsigns.reset_buffer,
desc = "Reset Buffer"
},
{
'<leader>gp',
gitsigns.preview_hunk,
desc = "Preview Hunk"
},
{
'<leader>gb',
function() gitsigns.blame_line { full = true } end,
desc = "Blame line"
},
{
'<leader>gy',
gitsigns.toggle_current_line_blame,
desc = "Toggle current line blame"
},
{
'<leader>gd',
gitsigns.diffthis,
desc = "Diff this"
},
{
'<leader>gD',
function() gitsigns.diffthis('~') end,
desc = "Diff this ~"
},
{
'<leader>gt',
gitsigns.toggle_deleted,
desc = "Toggle deleted"
},
},
{
'<leader>g',
group = "vgit",
mode = "v",
{
'<leader>gs',
function()
gitsigns.stage_hunk { vim.fn.line('.'),
vim.fn.line('v') }
end,
desc = "Stage Hunk",
},
{
'<leader>gr',
function()
gitsigns.reset_hunk { vim.fn.line('.'),
vim.fn.line('v') }
end,
desc = "Reset Hunk",
},
}
} }
)
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
-- Eval -- Eval
@ -568,7 +576,6 @@ vim.keymap.set('n', '<C-p>', builtin.find_files, {})
vim.keymap.set('n', '<C-A-p>', builtin.commands, {}) vim.keymap.set('n', '<C-A-p>', builtin.commands, {})
vim.keymap.set('n', '<leader>fb', builtin.buffers, {}) vim.keymap.set('n', '<leader>fb', builtin.buffers, {})
vim.keymap.set('n', '<leader>fh', builtin.help_tags, {}) vim.keymap.set('n', '<leader>fh', builtin.help_tags, {})
vim.keymap.set('n', '<leader>gh', telescope.extensions.git_file_history.git_file_history, {})
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
-- Search -- Search

View file

@ -8,6 +8,10 @@ set -g @plugin 'Morantron/tmux-fingers'
set-window-option -g mode-keys vi set-window-option -g mode-keys vi
bind-key -T copy-mode-vi 'v' send -X begin-selection bind-key -T copy-mode-vi 'v' send -X begin-selection
bind-key -T copy-mode-vi 'y' send -X copy-selection bind-key -T copy-mode-vi 'y' send -X copy-selection
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
setw -g mouse on setw -g mouse on
set -s set-clipboard on set -s set-clipboard on
@ -23,15 +27,16 @@ set -g status-left ""
set -gF status-right "" set -gF status-right ""
set -ag status-right "#{E:@catppuccin_status_date_time}" set -ag status-right "#{E:@catppuccin_status_date_time}"
set -g lock-after-time 600
set -g lock-after-time 300
set -g lock-command "cmatrix -abs" set -g lock-command "cmatrix -abs"
set -g @fingers-pattern-filelc '(([.\w\-~\$@]+)?(/[.\w\-@]+)+/?(\:\d+){0,2})' set -g @fingers-pattern-filelc '(([.\w\-~\$@]+)?(/[.\w\-@]+)+/?(\:\d+){0,2})'
bind f run -b "#{@fingers-cli} start #{pane_id} --patterns filelc --main-action 'xargs nvim_remote'" bind -n M-f run -b "#{@fingers-cli} start #{pane_id} --patterns filelc --main-action 'xargs nvim_remote'"
bind c new-window -c "#{pane_current_path}" bind c new-window -c "#{pane_current_path}"
bind % split-window -h -c "#{pane_current_path}" bind % split-window -h -c "#{pane_current_path}"
bind '"' split-window -v -c "#{pane_current_path}" bind '"' split-window -v -c "#{pane_current_path}"
set-option -g destroy-unattached on
run '~/.tmux/plugins/tpm/tpm' run '~/.tmux/plugins/tpm/tpm'

278
user.js Normal file
View file

@ -0,0 +1,278 @@
//
/* You may copy+paste this file and use it as it is.
*
* If you make changes to your about:config while the program is running, the
* changes will be overwritten by the user.js when the application restarts.
*
* To make lasting changes to preferences, you will have to edit the user.js.
*/
/****************************************************************************
* Betterfox *
* "Ad meliora" *
* version: 137 *
* url: https://github.com/yokoffing/Betterfox *
****************************************************************************/
/****************************************************************************
* SECTION: FASTFOX *
****************************************************************************/
/** GENERAL ***/
user_pref("content.notify.interval", 100000);
/** GFX ***/
user_pref("gfx.canvas.accelerated.cache-size", 512);
user_pref("gfx.content.skia-font-cache-size", 20);
/** DISK CACHE ***/
user_pref("browser.cache.disk.enable", false);
/** MEDIA CACHE ***/
user_pref("media.memory_cache_max_size", 65536);
user_pref("media.cache_readahead_limit", 7200);
user_pref("media.cache_resume_threshold", 3600);
/** IMAGE CACHE ***/
user_pref("image.mem.decode_bytes_at_a_time", 32768);
/** NETWORK ***/
user_pref("network.http.max-connections", 1800);
user_pref("network.http.max-persistent-connections-per-server", 10);
user_pref("network.http.max-urgent-start-excessive-connections-per-host", 5);
user_pref("network.http.pacing.requests.enabled", false);
user_pref("network.dnsCacheExpiration", 3600);
user_pref("network.ssl_tokens_cache_capacity", 10240);
/** SPECULATIVE LOADING ***/
user_pref("network.dns.disablePrefetch", true);
user_pref("network.dns.disablePrefetchFromHTTPS", true);
user_pref("network.prefetch-next", false);
user_pref("network.predictor.enabled", false);
user_pref("network.predictor.enable-prefetch", false);
/** EXPERIMENTAL ***/
user_pref("layout.css.grid-template-masonry-value.enabled", true);
/****************************************************************************
* SECTION: SECUREFOX *
****************************************************************************/
/** TRACKING PROTECTION ***/
user_pref("browser.contentblocking.category", "strict");
user_pref("browser.download.start_downloads_in_tmp_dir", true);
user_pref("browser.helperApps.deleteTempFileOnExit", true);
user_pref("browser.uitour.enabled", false);
user_pref("privacy.globalprivacycontrol.enabled", true);
/** OCSP & CERTS / HPKP ***/
user_pref("security.OCSP.enabled", 0);
user_pref("security.pki.crlite_mode", 2);
/** SSL / TLS ***/
user_pref("security.ssl.treat_unsafe_negotiation_as_broken", true);
user_pref("browser.xul.error_pages.expert_bad_cert", true);
user_pref("security.tls.enable_0rtt_data", false);
/** DISK AVOIDANCE ***/
user_pref("browser.privatebrowsing.forceMediaMemoryCache", true);
user_pref("browser.sessionstore.interval", 60000);
/** SHUTDOWN & SANITIZING ***/
user_pref("browser.privatebrowsing.resetPBM.enabled", true);
user_pref("privacy.history.custom", true);
/** SEARCH / URL BAR ***/
user_pref("browser.urlbar.trimHttps", true);
user_pref("browser.urlbar.untrimOnUserInteraction.featureGate", true);
user_pref("browser.search.separatePrivateDefault.ui.enabled", true);
user_pref("browser.urlbar.update2.engineAliasRefresh", true);
user_pref("browser.search.suggest.enabled", false);
user_pref("browser.urlbar.quicksuggest.enabled", false);
user_pref("browser.urlbar.groupLabels.enabled", false);
user_pref("browser.formfill.enable", false);
user_pref("network.IDN_show_punycode", true);
/** PASSWORDS ***/
user_pref("signon.formlessCapture.enabled", false);
user_pref("signon.privateBrowsingCapture.enabled", false);
user_pref("network.auth.subresource-http-auth-allow", 1);
user_pref("editor.truncate_user_pastes", false);
/** MIXED CONTENT + CROSS-SITE ***/
user_pref("security.mixed_content.block_display_content", true);
user_pref("pdfjs.enableScripting", false);
/** EXTENSIONS ***/
user_pref("extensions.enabledScopes", 5);
/** HEADERS / REFERERS ***/
user_pref("network.http.referer.XOriginTrimmingPolicy", 2);
/** CONTAINERS ***/
user_pref("privacy.userContext.ui.enabled", true);
/** SAFE BROWSING ***/
user_pref("browser.safebrowsing.downloads.remote.enabled", false);
/** MOZILLA ***/
user_pref("permissions.default.desktop-notification", 2);
user_pref("permissions.default.geo", 2);
user_pref("geo.provider.network.url", "https://beacondb.net/v1/geolocate");
user_pref("browser.search.update", false);
user_pref("permissions.manager.defaultsUrl", "");
/** TELEMETRY ***/
user_pref("datareporting.policy.dataSubmissionEnabled", false);
user_pref("datareporting.healthreport.uploadEnabled", false);
user_pref("toolkit.telemetry.unified", false);
user_pref("toolkit.telemetry.enabled", false);
user_pref("toolkit.telemetry.server", "data:,");
user_pref("toolkit.telemetry.archive.enabled", false);
user_pref("toolkit.telemetry.newProfilePing.enabled", false);
user_pref("toolkit.telemetry.shutdownPingSender.enabled", false);
user_pref("toolkit.telemetry.updatePing.enabled", false);
user_pref("toolkit.telemetry.bhrPing.enabled", false);
user_pref("toolkit.telemetry.firstShutdownPing.enabled", false);
user_pref("toolkit.telemetry.coverage.opt-out", true);
user_pref("toolkit.coverage.opt-out", true);
user_pref("toolkit.coverage.endpoint.base", "");
user_pref("browser.newtabpage.activity-stream.feeds.telemetry", false);
user_pref("browser.newtabpage.activity-stream.telemetry", false);
/** EXPERIMENTS ***/
user_pref("app.shield.optoutstudies.enabled", false);
user_pref("app.normandy.enabled", false);
user_pref("app.normandy.api_url", "");
/** CRASH REPORTS ***/
user_pref("breakpad.reportURL", "");
user_pref("browser.tabs.crashReporting.sendReport", false);
/** DETECTION ***/
user_pref("captivedetect.canonicalURL", "");
user_pref("network.captive-portal-service.enabled", false);
user_pref("network.connectivity-service.enabled", false);
/****************************************************************************
* SECTION: PESKYFOX *
****************************************************************************/
/** MOZILLA UI ***/
user_pref("browser.privatebrowsing.vpnpromourl", "");
user_pref("extensions.getAddons.showPane", false);
user_pref("extensions.htmlaboutaddons.recommendations.enabled", false);
user_pref("browser.discovery.enabled", false);
user_pref("browser.shell.checkDefaultBrowser", false);
user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", false);
user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", false);
user_pref("browser.preferences.moreFromMozilla", false);
user_pref("browser.aboutConfig.showWarning", false);
user_pref("browser.aboutwelcome.enabled", false);
user_pref("browser.profiles.enabled", true);
/** THEME ADJUSTMENTS ***/
user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);
user_pref("browser.compactmode.show", true);
user_pref("browser.privateWindowSeparation.enabled", false); // WINDOWS
/** FULLSCREEN NOTICE ***/
user_pref("full-screen-api.transition-duration.enter", "0 0");
user_pref("full-screen-api.transition-duration.leave", "0 0");
user_pref("full-screen-api.warning.timeout", 0);
/** URL BAR ***/
user_pref("browser.urlbar.unitConversion.enabled", true);
user_pref("browser.urlbar.trending.featureGate", false);
user_pref("dom.text_fragments.create_text_fragment.enabled", true);
/** NEW TAB PAGE ***/
user_pref("browser.newtabpage.activity-stream.default.sites", "");
user_pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false);
user_pref("browser.newtabpage.activity-stream.feeds.section.topstories", false);
user_pref("browser.newtabpage.activity-stream.showSponsored", false);
/** POCKET ***/
user_pref("extensions.pocket.enabled", false);
/** DOWNLOADS ***/
user_pref("browser.download.manager.addToRecentDocs", false);
/** PDF ***/
user_pref("browser.download.open_pdf_attachments_inline", true);
/** TAB BEHAVIOR ***/
user_pref("browser.bookmarks.openInTabClosesMenu", false);
user_pref("browser.menu.showViewImageInfo", true);
user_pref("findbar.highlightAll", true);
user_pref("layout.word_select.eat_space_to_next_word", false);
/****************************************************************************
* START: MY OVERRIDES *
****************************************************************************/
// visit https://github.com/yokoffing/Betterfox/wiki/Common-Overrides
// visit https://github.com/yokoffing/Betterfox/wiki/Optional-Hardening
// Enter your personal overrides below this line:
user_pref("identity.fxaccounts.enabled", false);
user_pref("browser.firefox-view.feature-tour", "{\"screen\":\"\",\"complete\":true}");
user_pref("signon.rememberSignons", false);
user_pref("extensions.formautofill.addresses.enabled", false);
user_pref("extensions.formautofill.creditCards.enabled", false);
user_pref("urlclassifier.trackingSkipURLs", "");
user_pref("urlclassifier.features.socialtracking.skipURLs", "");
user_pref("dom.security.https_only_mode", true);
user_pref("dom.security.https_only_mode_error_page_user_suggestions", true);
user_pref("captivedetect.canonicalURL", "");
user_pref("network.captive-portal-service.enabled", false);
user_pref("network.connectivity-service.enabled", false);
user_pref("network.trr.uri", "https://all.dns.mullvad.net/dns-query");
user_pref("network.trr.mode", 2);
user_pref("network.trr.max-fails", 5);
user_pref("network.trr.mode", 3);
user_pref("browser.newtabpage.activity-stream.feeds.topsites", false);
user_pref("browser.newtabpage.activity-stream.showWeather", false);
user_pref("browser.urlbar.suggest.topsites", false);
user_pref("browser.download.always_ask_before_handling_new_types", true);
user_pref("extensions.postDownloadThirdPartyPrompt", false);
user_pref("security.cert_pinning.enforcement_level", 2);
user_pref("privacy.sanitize.sanitizeOnShutdown", true);
user_pref("privacy.clearOnShutdown_v2.cache", true);
user_pref("privacy.clearOnShutdown_v2.cookiesAndStorage", true);
user_pref("privacy.clearOnShutdown_v2.browsingHistoryAndDownloads", true);
user_pref("privacy.clearOnShutdown_v2.formdata", true);
user_pref("browser.sessionstore.privacy_level", 2);
user_pref("media.eme.enabled", false);
user_pref("browser.eme.ui.enabled", false);
/****************************************************************************
* SECTION: SMOOTHFOX *
****************************************************************************/
// visit https://github.com/yokoffing/Betterfox/blob/main/Smoothfox.js
// Enter your scrolling overrides below this line:
user_pref("apz.overscroll.enabled", true); // DEFAULT NON-LINUX
user_pref("general.smoothScroll", true); // DEFAULT
user_pref("general.smoothScroll.msdPhysics.continuousMotionMaxDeltaMS", 12);
user_pref("general.smoothScroll.msdPhysics.enabled", true);
user_pref("general.smoothScroll.msdPhysics.motionBeginSpringConstant", 600);
user_pref("general.smoothScroll.msdPhysics.regularSpringConstant", 650);
user_pref("general.smoothScroll.msdPhysics.slowdownMinDeltaMS", 25);
user_pref("general.smoothScroll.msdPhysics.slowdownMinDeltaRatio", "2");
user_pref("general.smoothScroll.msdPhysics.slowdownSpringConstant", 250);
user_pref("general.smoothScroll.currentVelocityWeighting", "1");
user_pref("general.smoothScroll.stopDecelerationWeighting", "1");
user_pref("mousewheel.default.delta_multiplier_y", 300); // 250-400; adjust this number to your liking
/****************************************************************************
* END: BETTERFOX *
****************************************************************************/

9
wezterm.lua Normal file
View file

@ -0,0 +1,9 @@
local wezterm = require 'wezterm'
local config = wezterm.config_builder()
config.default_prog = { '/usr/bin/tmux' }
config.color_scheme = 'Kanagawa (Gogh)'
config.enable_tab_bar = false
config.skip_close_confirmation_for_processes_named = {}
return config