Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
59181b2772
|
@ -4,6 +4,7 @@ dev_stuffs:
|
|||
- ansible
|
||||
- docker
|
||||
- network
|
||||
- perl
|
||||
- php
|
||||
- python
|
||||
- shell
|
||||
|
|
|
@ -4,9 +4,11 @@ dev_stuffs:
|
|||
- shell
|
||||
- network
|
||||
- ansible
|
||||
- perl
|
||||
- python
|
||||
extensions:
|
||||
- gh
|
||||
x11_screens:
|
||||
- HDMI-1
|
||||
- HDMI-2
|
||||
base16_scheme: solarized-light
|
||||
|
|
|
@ -55,6 +55,7 @@
|
|||
register: base16_schemes
|
||||
tags:
|
||||
- color
|
||||
- i3
|
||||
|
||||
- name: Configure Alacritty
|
||||
template:
|
||||
|
@ -106,6 +107,7 @@
|
|||
- i3-reload
|
||||
tags:
|
||||
- color
|
||||
- i3
|
||||
when: display_server == 'x11'
|
||||
|
||||
- name: Set base16 theme for rofi
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
ansible
|
||||
ansible-lint
|
||||
ansible-language-server
|
||||
{# EOF #}
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
{% if arch_based %}
|
||||
perl-perl-languageserver
|
||||
{% endif %}
|
|
@ -1,5 +1,5 @@
|
|||
Section "Device"
|
||||
Identifier "intel"
|
||||
Identifier "Intel Graphics"
|
||||
Driver "intel"
|
||||
Option "Backlight" "intel_backlight"
|
||||
EndSection
|
||||
|
|
|
@ -39,3 +39,8 @@
|
|||
debug:
|
||||
msg: "The Panfrost display driver configuration was changed, but needs a reboot to be applied."
|
||||
listen: panfrost config changed
|
||||
|
||||
- name: Reload systemd-logind
|
||||
command: systemctl kill -s HUP systemd-logind
|
||||
become: yes
|
||||
listen: systemd-logind config changed
|
||||
|
|
|
@ -356,6 +356,19 @@
|
|||
- etc changed
|
||||
- systemd changed
|
||||
|
||||
- name: Disable power button
|
||||
lineinfile:
|
||||
path: /etc/systemd/logind.conf
|
||||
line: 'HandlePowerKey=ignore'
|
||||
regexp: '^#? *HandlePowerKey='
|
||||
insertafter: '^\[Login\]$'
|
||||
become: yes
|
||||
notify: systemd-logind config changed
|
||||
# Reason: I sometimes press it accidentally
|
||||
# (hoping to start it when it's already started,
|
||||
# or really accidentally on the Pinebook).
|
||||
# Suspend would be nice, but it doesn't have the locker then
|
||||
|
||||
# TODO Hibernation, if that's relevant
|
||||
# $ sudo blkid | grep 'TYPE="swap"'
|
||||
# $ sudoedit /etc/default/grub
|
||||
|
|
|
@ -3,44 +3,49 @@
|
|||
lua << EOF
|
||||
local nvim_lsp = require('lspconfig')
|
||||
|
||||
-- Mappings.
|
||||
-- See `:help vim.diagnostic.*` for documentation on any of the below functions
|
||||
local opts = { noremap=true, silent=true }
|
||||
vim.keymap.set('n', '<space>e', vim.diagnostic.open_float, opts)
|
||||
vim.keymap.set('n', '[e', vim.diagnostic.goto_prev, opts)
|
||||
vim.keymap.set('n', ']e', vim.diagnostic.goto_next, opts)
|
||||
-- vim.keymap.set('n', '<space>q', vim.diagnostic.setloclist, opts)
|
||||
|
||||
-- Use an on_attach function to only map the following keys
|
||||
-- after the language server attaches to the current buffer
|
||||
local on_attach = function(client, bufnr)
|
||||
|
||||
local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end
|
||||
local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end
|
||||
|
||||
--Enable completion triggered by <c-x><c-o>
|
||||
buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc')
|
||||
-- Enable completion triggered by <c-x><c-o>
|
||||
vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
|
||||
|
||||
-- Mappings.
|
||||
local opts = { noremap=true, silent=true }
|
||||
|
||||
-- See `:help vim.lsp.*` for documentation on any of the below functions
|
||||
buf_set_keymap('n', 'gD', '<Cmd>lua vim.lsp.buf.declaration()<CR>', opts)
|
||||
-- buf_set_keymap('n', 'gd', '<Cmd>lua vim.lsp.buf.definition()<CR>', opts)
|
||||
buf_set_keymap('n', 'K', '<Cmd>lua vim.lsp.buf.hover()<CR>', opts)
|
||||
buf_set_keymap('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts)
|
||||
buf_set_keymap('n', '<C-S-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
|
||||
buf_set_keymap('n', '<space>wa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>', opts)
|
||||
buf_set_keymap('n', '<space>wr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>', opts)
|
||||
buf_set_keymap('n', '<space>wl', '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>', opts)
|
||||
buf_set_keymap('n', '<space>D', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts)
|
||||
buf_set_keymap('n', '<space>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
|
||||
-- buf_set_keymap('n', '<space>ca', '<cmd>lua vim.lsp.buf.code_action()<CR>', opts)
|
||||
-- buf_set_keymap('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts)
|
||||
buf_set_keymap('n', '<space>e', '<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>', opts)
|
||||
buf_set_keymap('n', '[e', '<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>', opts)
|
||||
buf_set_keymap('n', ']e', '<cmd>lua vim.lsp.diagnostic.goto_next()<CR>', opts)
|
||||
-- buf_set_keymap('n', '<space>q', '<cmd>lua vim.lsp.diagnostic.set_loclist()<CR>', opts)
|
||||
buf_set_keymap("n", "<space>f", "<cmd>lua vim.lsp.buf.formatting()<CR>", opts)
|
||||
buf_set_keymap("v", "<space>f", "<cmd>lua vim.lsp.buf.range_formatting()<CR><Esc>", opts)
|
||||
|
||||
local bufopts = { noremap=true, silent=true, buffer=bufnr }
|
||||
vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, bufopts)
|
||||
-- vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts)
|
||||
vim.keymap.set('n', 'K', vim.lsp.buf.hover, bufopts)
|
||||
vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, bufopts)
|
||||
vim.keymap.set('n', '<C-S-k>', vim.lsp.buf.signature_help, bufopts)
|
||||
vim.keymap.set('n', '<space>wa', vim.lsp.buf.add_workspace_folder, bufopts)
|
||||
vim.keymap.set('n', '<space>wr', vim.lsp.buf.remove_workspace_folder, bufopts)
|
||||
vim.keymap.set('n', '<space>wl', function()
|
||||
print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
|
||||
end, bufopts)
|
||||
vim.keymap.set('n', '<space>D', vim.lsp.buf.type_definition, bufopts)
|
||||
vim.keymap.set('n', '<space>rn', vim.lsp.buf.rename, bufopts)
|
||||
-- vim.keymap.set('n', '<space>ca', vim.lsp.buf.code_action, bufopts)
|
||||
-- vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts)
|
||||
vim.keymap.set('n', '<space>f', function() vim.lsp.buf.format { async = true } end, bufopts)
|
||||
end
|
||||
|
||||
-- Use a loop to conveniently call 'setup' on multiple servers and
|
||||
-- map buffer local keybindings when the language server attaches
|
||||
local servers = {
|
||||
{% if 'ansible' in dev_stuffs %}
|
||||
"ansiblels",
|
||||
{% endif %}
|
||||
{% if 'perl' in dev_stuffs %}
|
||||
"perlls",
|
||||
{% endif %}
|
||||
{% if 'python' in dev_stuffs %}
|
||||
"pylsp",
|
||||
{% endif %}
|
||||
|
@ -56,7 +61,6 @@ for _, lsp in ipairs(servers) do
|
|||
on_attach = on_attach,
|
||||
flags = {
|
||||
debounce_text_changes = 150,
|
||||
|
||||
}
|
||||
}
|
||||
end
|
||||
|
|
|
@ -23,6 +23,7 @@ vnoremap ga <cmd>Telescope lsp_range_code_actions<cr>
|
|||
noremap ge <cmd>Telescope lsp_document_diagnostics<cr>
|
||||
noremap gE <cmd>Telescope lsp_workspace_diagnostics<cr>
|
||||
noremap gd <cmd>Telescope lsp_definitions<cr>
|
||||
noremap gs <cmd>Telescope lsp_document_symbols<cr>
|
||||
|
||||
lua << EOF
|
||||
require('telescope').setup{
|
||||
|
|
|
@ -5,7 +5,44 @@
|
|||
#}
|
||||
lua <<EOF
|
||||
require'nvim-treesitter.configs'.setup {
|
||||
ensure_installed = "maintained",
|
||||
ensure_installed = {
|
||||
"bash",
|
||||
"bibtex",
|
||||
"c",
|
||||
"cmake",
|
||||
"comment",
|
||||
"cpp",
|
||||
"css",
|
||||
"diff",
|
||||
"dockerfile",
|
||||
"dot",
|
||||
"git_rebase",
|
||||
"gitattributes",
|
||||
"gitignore",
|
||||
"go",
|
||||
"help",
|
||||
"html",
|
||||
"http",
|
||||
"java",
|
||||
"javascript",
|
||||
"json",
|
||||
"latex",
|
||||
"llvm",
|
||||
"lua",
|
||||
"make",
|
||||
"markdown",
|
||||
"markdown_inline",
|
||||
"perl",
|
||||
"php",
|
||||
"python",
|
||||
"regex",
|
||||
"ruby",
|
||||
"scss",
|
||||
"sql",
|
||||
"verilog",
|
||||
"vim",
|
||||
"yaml",
|
||||
},
|
||||
ignore_install = {},
|
||||
highlight = {
|
||||
enable = true,
|
||||
|
|
|
@ -24,3 +24,9 @@ fi
|
|||
|
||||
feh --no-fehbg --bg-fill "$filepath"
|
||||
|
||||
# Make i3 distribute the workspaces on all screens
|
||||
monitors_json="$(xrandr --listmonitors | tail -n+2 | awk '{ print $4 }' | sed 's|.\+|"\0"|' | tr '\n' ',')"
|
||||
automatrop -e '{"x11_screens":['"$monitors_json"']}' --tags i3
|
||||
|
||||
# TODO Make sure it goes from left to right
|
||||
# Either with the "main" display or using the geometry data
|
||||
|
|
|
@ -50,7 +50,7 @@ bindsym $mod+Shift+d exec --no-startup-id rofi -modi drun -show drun
|
|||
|
||||
# Start Applications
|
||||
# bindsym $mod+Return exec urxvtc
|
||||
bindsym $mod+Return exec alacritty -e zsh
|
||||
bindsym $mod+Return exec ~/.config/i3/terminal
|
||||
bindsym $mod+Shift+Return exec urxvt
|
||||
bindsym $mod+p exec thunar
|
||||
bindsym $mod+m exec qutebrowser --override-restore --backend=webengine
|
||||
|
|
3
config/i3/terminal
Executable file
3
config/i3/terminal
Executable file
|
@ -0,0 +1,3 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
alacritty msg create-window || exec alacritty -e zsh
|
|
@ -19,7 +19,7 @@ chmod 700 "$BASEDIR"
|
|||
name_base64="$(echo "$name" | base64)"
|
||||
file="${BASEDIR}/${name_base64}"
|
||||
|
||||
if [ ! -f "${file}" ]
|
||||
if [ ! -s "${file}" ]
|
||||
then
|
||||
notify-send -u low "cached_pass" "Asking to cache: ${name}"
|
||||
pass ${name} > "${file}"
|
||||
|
|
|
@ -67,8 +67,8 @@ def main(args: argparse.Namespace) -> None:
|
|||
new_filename = (
|
||||
f"{m['Y']}-{m['M']}-{m['D']}_"
|
||||
f"{m['h']}-{m['m']}-{m['s']}"
|
||||
f"{m.get('dup', '')}"
|
||||
f"{m.get('spec', '')}"
|
||||
f"{m.get('dup') or ''}"
|
||||
f"{m.get('spec') or ''}"
|
||||
f"{args.suffix}"
|
||||
f".{m['ext']}"
|
||||
)
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# TODO De-hardcode
|
||||
|
||||
echo 3000 | sudo tee /sys/class/backlight/edp-backlight/brightness
|
||||
xrandr --output DP-1 --brightness 1
|
||||
if [ "$(cat /etc/hostname)" = "curacao.geoffrey.frogeye.fr" ]
|
||||
then
|
||||
echo 10000 | sudo tee /sys/class/backlight/intel_backlight/brightness
|
||||
elif [ "$(cat /etc/hostname)" = "pindakaas.geoffrey.frogeye.fr" ]
|
||||
then
|
||||
echo 3000 | sudo tee /sys/class/backlight/edp-backlight/brightness
|
||||
fi
|
||||
automatrop -e base16_scheme=solarized-dark --tags color
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# TODO De-hardcode
|
||||
|
||||
echo 3500 | sudo tee /sys/class/backlight/edp-backlight/brightness
|
||||
xrandr --output DP-1 --brightness 1
|
||||
if [ "$(cat /etc/hostname)" = "curacao.geoffrey.frogeye.fr" ]
|
||||
then
|
||||
echo 40000 | sudo tee /sys/class/backlight/intel_backlight/brightness
|
||||
elif [ "$(cat /etc/hostname)" = "pindakaas.geoffrey.frogeye.fr" ]
|
||||
then
|
||||
echo 3500 | sudo tee /sys/class/backlight/edp-backlight/brightness
|
||||
fi
|
||||
automatrop -e base16_scheme=solarized-light --tags color
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# TODO De-hardcode
|
||||
|
||||
echo 700 | sudo tee /sys/class/backlight/edp-backlight/brightness
|
||||
xrandr --output DP-1 --brightness 0.5
|
||||
if [ "$(cat /etc/hostname)" = "curacao.geoffrey.frogeye.fr" ]
|
||||
then
|
||||
echo 1 | sudo tee /sys/class/backlight/intel_backlight/brightness
|
||||
elif [ "$(cat /etc/hostname)" = "pindakaas.geoffrey.frogeye.fr" ]
|
||||
then
|
||||
echo 700 | sudo tee /sys/class/backlight/edp-backlight/brightness
|
||||
fi
|
||||
automatrop -e base16_scheme=solarized-dark --tags color
|
||||
|
|
|
@ -9,7 +9,6 @@ import typing
|
|||
|
||||
import coloredlogs
|
||||
import exifread
|
||||
import progressbar
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
coloredlogs.install(level="DEBUG", fmt="%(levelname)s %(message)s", logger=log)
|
||||
|
@ -38,12 +37,7 @@ def main(args: argparse.Namespace) -> None:
|
|||
log.warning("Counting files...")
|
||||
kwargs = {"directory": args.dir, "skip_renamed": args.skip_renamed}
|
||||
log.warning("Processing files...")
|
||||
if args.hide_bar:
|
||||
iterator = get_pictures(**kwargs)
|
||||
else:
|
||||
nb_imgs = len(list(get_pictures(**kwargs)))
|
||||
iterator = progressbar.progressbar(get_pictures(**kwargs), max_value=nb_imgs)
|
||||
for full_path in iterator:
|
||||
for full_path in get_pictures(**kwargs):
|
||||
# Find date
|
||||
with open(full_path, 'rb') as fd:
|
||||
exif_data = exifread.process_file(fd)
|
||||
|
@ -62,7 +56,7 @@ def main(args: argparse.Namespace) -> None:
|
|||
ext = os.path.splitext(full_path)[1].lower()
|
||||
if ext == '.jpeg':
|
||||
ext = '.jpg'
|
||||
new_name = date.isoformat().replace(":", "-").replace("T", "_")
|
||||
new_name = date.isoformat().replace(":", "-").replace("T", "_") + args.suffix
|
||||
# First substitution is to allow images being sent to a NTFS filesystem
|
||||
# Second substitution is for esthetics
|
||||
new_path = os.path.join(args.dir, f"{new_name}{ext}")
|
||||
|
@ -71,7 +65,7 @@ def main(args: argparse.Namespace) -> None:
|
|||
while os.path.exists(new_path):
|
||||
if full_path == new_path:
|
||||
break
|
||||
log.debug(f"{full_path} already exists, incrementing")
|
||||
log.debug(f"{new_path} already exists, incrementing")
|
||||
i += 1
|
||||
new_path = os.path.join(args.dir, f"{new_name}_{i}{ext}")
|
||||
|
||||
|
@ -103,16 +97,16 @@ if __name__ == "__main__":
|
|||
help="Do not actually rename, just show old and new path",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-s",
|
||||
"-r",
|
||||
"--skip-renamed",
|
||||
action="store_true",
|
||||
help="Skip images whose filename doesn't match usual camera output filenames.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-b",
|
||||
"--hide-bar",
|
||||
action="store_true",
|
||||
help="Do not show a progress bar. Also skip counting images",
|
||||
"-s",
|
||||
"--suffix",
|
||||
default="",
|
||||
help="Text to add before the extension",
|
||||
)
|
||||
args = parser.parse_args()
|
||||
main(args)
|
||||
|
|
|
@ -148,7 +148,12 @@ class RVElement:
|
|||
|
||||
@property
|
||||
def date(self) -> datetime.datetime:
|
||||
return datetime.datetime.fromtimestamp(self.item["published"])
|
||||
timestamp = (
|
||||
int(self.item.get("timestampUsec", "0")) / 1000000
|
||||
or int(self.item.get("crawlTimeMsec", "0")) / 1000
|
||||
or self.item["published"]
|
||||
)
|
||||
return datetime.datetime.fromtimestamp(timestamp)
|
||||
|
||||
@property
|
||||
def is_researched(self) -> bool:
|
||||
|
@ -475,7 +480,7 @@ class RVDatabase:
|
|||
def ytdl_opts(self) -> dict:
|
||||
# Get user/system options
|
||||
prev_argv = sys.argv
|
||||
sys.argv = ['yt-dlp']
|
||||
sys.argv = ["yt-dlp"]
|
||||
_, _, _, ydl_opts = yt_dlp.parse_options()
|
||||
sys.argv = prev_argv
|
||||
return ydl_opts
|
||||
|
|
|
@ -31,7 +31,7 @@ alias please=sudo
|
|||
alias ll="ls -l"
|
||||
alias la="ls -la"
|
||||
alias s='sudo -s -E'
|
||||
alias n='alacritty & disown'
|
||||
alias n='$HOME/.config/i3/terminal & disown'
|
||||
alias x='startx $HOME/.config/xinitrc; logout'
|
||||
alias nx='nvidia-xrun $HOME/.config/xinitrc; sudo systemctl start nvidia-xrun-pm; logout'
|
||||
|
||||
|
|
Loading…
Reference in a new issue