diff options
| -rw-r--r-- | config/astroid/ui/part.scss | 122 | ||||
| -rw-r--r-- | config/astroid/ui/thread-view.scss | 962 | ||||
| -rw-r--r-- | config/dodo/config.py | 45 | ||||
| -rw-r--r-- | config/guix/channels.scm | 10 | ||||
| -rw-r--r-- | config/nvim/init.vim | 4 | ||||
| -rw-r--r-- | config/nvim/lua/plugins.lua | 53 | ||||
| -rw-r--r-- | config/sway/bindsym-launch | 6 | ||||
| -rwxr-xr-x | config/sway/scripts/notes | 2 | ||||
| -rw-r--r-- | config/systemd/user/waybar.service | 8 | ||||
| -rw-r--r-- | gitignore | 1 | ||||
| -rwxr-xr-x | install | 15 | ||||
| -rwxr-xr-x | local/bin/cloud | 26 | ||||
| -rwxr-xr-x | local/bin/elektroline-windows | 6 | ||||
| -rwxr-xr-x | local/bin/elektroline00 | 24 | ||||
| -rwxr-xr-x | local/sbin/wayvnc1 | 2 | ||||
| -rwxr-xr-x | local/share/applications/elektroline-windows.desktop | 6 | ||||
| m--------- | private | 0 | ||||
| -rw-r--r-- | profile | 5 | ||||
| -rw-r--r-- | shvcli.ini | 1 | ||||
| -rw-r--r-- | shvcli.toml | 8 | 
20 files changed, 157 insertions, 1149 deletions
diff --git a/config/astroid/ui/part.scss b/config/astroid/ui/part.scss deleted file mode 100644 index 760a0bb..0000000 --- a/config/astroid/ui/part.scss +++ /dev/null @@ -1,122 +0,0 @@ -/* ui-version: 5 (do not change when modifying theme for yourself) */ -/* Fonts */ -@if not(global-variable-exists(font-base-size)) { -  $font-base-size: 16px !global; -} - -@if not(global-variable-exists(font-mono)) { -  $font-mono: monospace !global; -} - -@if not(global-variable-exists(font-sans)) { -  $font-sans: sans-serif !global; -} - -@if not(global-variable-exists(font-family-default)) { -  $font-family-default: $font-sans !global; -} - -body { -  background-color: white !important; -  color: black; -  overflow-x: auto; -  //overflow-y: hidden; -  word-break: break-word; -  word-wrap: break-word; - -  font-size: $font-base-size; -  font-family: $font-family-default; -  margin: 0 0 0 0; -  text-align: left; -} - -.search_coloring *::selection { -    background-color: #00ddff; -} - -blockquote { -    margin: 0px 10px 0px 10px; -    padding-left: 15px; -    padding-right: 15px; -    border: 0; -    /*border-left: 3px #aaa solid;*/ -    border-left: #5555EE solid 0.2em; -    color: #5555ee; -} - -blockquote.level_001 { -  margin-bottom: 0px; -  margin-top: 0px; -} - -blockquote > blockquote { -    border-left: #425c78 solid 0.2em; -    color: #425c78; -    margin-left: 0; -} - -blockquote > blockquote > blockquote { -    border-left: #729fcf solid 0.2em; -    color: #729fcf; -} - -blockquote > blockquote > blockquote > blockquote { -    border-left: #5555EE solid 0.2em; -    color: #5555ee; -} - -blockquote > blockquote > blockquote > blockquote > blockquote { -    border-left: #425c78 solid 0.2em; -    color: #425c78; -} - -blockquote > blockquote > blockquote > blockquote > blockquote > blockquote { -    border-left: #729fcf solid 0.2em; -    color: #729fcf; -} - -blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote { -    border-left: #5555EE solid 0.2em; -    color: #5555ee; -} - -blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote { -    border-left: #425c78 solid 0.2em; -    color: #425c78; -} - -blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote { -    border-left: #729fcf solid 0.2em; -    color: #729fcf; -} - -blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote { -    border-left: #5555EE solid 0.2em; -    color: #5555ee; -} - -blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote { -    border-left: #425c78 solid 0.2em; -    color: #425c78; -} - -blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote { -    border-left: #729fcf solid 0.2em; -    color: #729fcf; -} - -blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote { -    border-left: #5555EE solid 0.2em; -    color: #5555ee; -} - -blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote { -    border-left: #425c78 solid 0.2em; -    color: #425c78; -} - -blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > blockquote { -    border-left: #729fcf solid 0.2em; -    color: #729fcf; -} - diff --git a/config/astroid/ui/thread-view.scss b/config/astroid/ui/thread-view.scss deleted file mode 100644 index 42e2e07..0000000 --- a/config/astroid/ui/thread-view.scss +++ /dev/null @@ -1,962 +0,0 @@ -/* ui-version: 5 (do not change when modifying theme for yourself) */ -/* Variables */ -@if not(global-variable-exists(background-color)) { -  $background-color: #ccc !global; -} - -/* Background colors associated with received emails: */ -@if not(global-variable-exists(recv-normal)) { -  $recv-normal: #ffffff !global; -} -@if not(global-variable-exists(recv-quoted)) { -  $recv-quoted: #e8e8e8 !global; -} -@if not(global-variable-exists(recv-collapsed)) { -  $recv-collapsed: #f5f5f5 !global; -} - -/* Background colors associated with sent emails: */ -@if not(global-variable-exists(sent-normal)) { -  $sent-normal: #ffffff !global; -} - -@if not(global-variable-exists(sent-quoted)) { -  $sent-quoted: #e8e8e8 !global; -} - -@if not(global-variable-exists(sent-collapsed)) { -  $sent-collapsed: #f5f5f5 !global; -} - -/* Fonts */ -@if not(global-variable-exists(font-base-size)) { -  $font-base-size: 16px !global; -} - -@if not(global-variable-exists(font-mono)) { -  $font-mono: monospace !global; -} - -@if not(global-variable-exists(font-sans)) { -  $font-sans: sans-serif !global; -} - -@if not(global-variable-exists(font-family-default)) { -  $font-family-default: $font-sans !global; -} - -/* Colours */ -@if not(global-variable-exists(email-solid)) { -  $email-solid: #d8d8d8 !global; -} - -@if not(global-variable-exists(focused-solid)) { -  $focused-solid: #4a90d9 !global; -} - -@if not(global-variable-exists(sibling-color)) { -  $sibling-color: lighten( $focused-solid, 20%) !global; -} - -@if not(global-variable-exists(attachment-color)) { -  $attachment-color:  $sibling-color !global; -} - -@if not(global-variable-exists(mime-color)) { -  $mime-color: lighten( #FFFF00, 15%) !global; -} - -@if not(global-variable-exists(encrypted)) { -  $encrypted: #99cc66 !global; -} - -@if not(global-variable-exists(signed)) { -  $signed: #cccc66 !global; -} - -@media print { - -    body { -        background-color: white !important; -    } -    body, .email { -        font-size: 11px !important; -    } -    .avatar, .button, .starred { -        display: none !important; -    } -    .email { -        display: none !important; -    } -    .email.print { -        display: block !important; -        background-color: white !important; -        clear: both !important; -        float: left !important; -    } -    .email.print .body { -        display: inline-block !important; -        background-color: white !important; -    } -    .email.print .preview { -        display: none !important; -    } - -    .email.print .tags { -        display: none !important; -    } - -    .email.print .subject { -        display: none !important; -    } - -    .email.print .hidden_only { -        display: none !important; -    } - -    .email.print { -        border-left: 0px !important; -    } - -    .email .header_container .marked.icon { -      display: none !important; -    } - -    .noprint { -      display: none !important; -    } -} - -body { -    margin: 0 !important; -    padding: 0 !important; -    font-size: $font-base-size; -    font-family: $font-family-default; -    // -webkit-user-select: none; -    // -webkit-user-drag: none; -    text-align: center; -} - - - -a { -    color: #08c; -} - -td, th { -    vertical-align: top; -} -hr { -    background-color: #999; -    height: 1px; -    border: 0; -    margin-top: 15px; -    margin-bottom: 15px; -} - -.body, .header, .preview { -    -webkit-user-select: auto; -    -webkit-user-drag: auto; -} -.shower, .hider { -    -webkit-user-select: none; -    -webkit-user-drag: none; -} - -.button { -    border: 1px transparent solid; -    border-radius: 2.5px; -    cursor: pointer; -    padding: 4px; -    margin-top: 7px; -    text-align: center; -} -.button * { -    pointer-events: none; -} -.button:hover { -    border-color: rgba(0,0,0,0.18); -    box-shadow: inset 0px 0px 1px rgba(255,255,255,0.8); -} -.button:active { -    border-color: rgba(0,0,0,0.20); -    background-color: rgba(0,0,0,0.05);; -    padding: 5px 3px 3px 5px; -    box-shadow: inset 0px 0px 1px rgba(0,0,0,0.05); -} - -.email { -    font-size: $font-base-size; -    /* border: 1px rgba(0,0,0,1) solid; */ -    border: 1px solid $email-solid; -    border-width: 1px 0px; -    background-color: $recv-normal !important; -    color: black; -    /*font-size: small;*/ -    /* box-shadow: 0 3px 3px rgba(0,0,0,1); -    display: inline-block; -    word-wrap: break-word; -    width: auto; -    /*margin-left: auto;*/ -    /*margin-right: auto;*/ -    width: 100%; -    /*min-width: 48em;*/ -    box-sizing:border-box; -    text-align: left; -    margin: 3px 0; - -    & + & { -      margin-right: auto !important; -    } - -    & > & > & > & > & { -        font-size: 90%; -    } - -    .email_container { -	.header_container, .body { -	    border-left: 6px solid transparent; -	} -	.email_warning { -	    padding-left: 6px; -	} -    } -    .attachment_container { -	border-left: 6px solid transparent; -    } - -    &.focused { -      padding-left: 0px; -      border-left: 0px; -      /* box-shadow: 0 0 0 transparent !important; */ - -      .email_container, .attachment_container { -	border-left: 6px solid $focused-solid; - -	.header_container, .body { -	    border-left: 0px; -	} -	.email_warning { -	    padding-left: 0px; -	} -      } -    } -    &.hide { -      background-color: darken( $recv-normal, 5% ) !important; -      padding-left: 7px; -      border-left: 6px solid transparent; -	.email_container, .header_container, .body { -	    border-left: 0; -	} -    } -    &.focused.hide { -      border-left: 6px solid $focused-solid; -    } - -    .body { -      padding: 15px; -      max-width: 60em; -    } -} - -.email.sent { -    background-color: white;/* sent-normal */ -} - -.email .starred { -    display: none; -} -.email .unstarred { -    display: block; -} -.email.starred .starred { -    display: block; -} -.email.starred .unstarred { -    display: none; -} -.email.read, #multiple_messages .email { -    border-color: rgba(0,0,0,0.4); -    box-shadow: 0 3px 11px rgba(0,0,0,0.21); -} -.email.animate { -    -webkit-transition: border-color 3s ease; -    -webkit-transition: box-shadow 3s ease; -} - -.email .email_warning { -    display: none; -    padding: 1em; -    background-color: #fcc; -    text-align: center; -} - -.email .email_info { -    display: none; -    padding: 1em; -    background-color: #8CE7FF; -    text-align: center; -} - -.email_box { -    box-sizing: border-box; -    -webkit-box-sizing: border-box; -    width: 100% !important; -} -.email_container { -    overflow: hidden; -} -.email_container .header_container { -    padding: 15px; -} - -.email_container .header_container a:hover * { -    color: #08c; -} - -.email_container .header_container .button_bar { -    float: right; -    margin-top: -6px; -} -.email_container .header_container .button_bar > .button { -    float: left; -} -.email_container .header_container .button_bar > .button > .icon { -    width: 16px; -    height: 16px; -} - -.email_container .header_container .preview { -    /*font-size: 8pt;*/ -    font-size: 0.8em; -    color: #777; -    white-space: nowrap; -    text-overflow: ellipsis; -    overflow: hidden; -    margin-left: 48px; -} - -.email_container .header_container .tags { -    /*font-size: 8pt;*/ -    font-size: 0.7em; -    color: #31587a; -    white-space: nowrap; -    text-overflow: ellipsis; -    overflow: hidden; -    margin-left: 48px; -} - -.email_container .header_container .subject { -    /*font-size: 8pt;*/ -    font-size: 0.7em; -    color: #000; -    white-space: nowrap; -    text-overflow: ellipsis; -    overflow: hidden; -    margin-left: 48px; -} - -.focused { -    /* box-shadow: 0 0 10px rgba(71,71,173,1) !important; */ -} - -.avatar { -    display: none; -    image-rendering: optimizeQuality; -} - -.avatar[src^=file], .avatar[src^=http], .avatar[src^=data] { -    display: inline; -    width: 48px; -    height: 48px; -    float: left; -    border-radius: 5px; -} - -body:not(.nohide) .email.hide .header_container .avatar { -    width: 32px; -    height: 32px; -    margin-right: 12px; -    border-radius: 2.5px; -} - -.email .body { -    border-top: 1px solid $email-solid; -    margin: 5px; -    margin-top: 0; -    padding-top: 25px; -    overflow-x: auto; -    overflow-y: hidden; - -    .body_part a[href*="//"] { -	word-break: break-all; -    } -} - -iframe { -  border: none; -  width: 100%; -  height: 70vh; -  text-align: left; -  float: left; -  display: block; -} - -.email .remote_images { -    display: none; -    margin: 0 16px; -    border: 1px solid #999; -    border-bottom: none; -    padding: 1em; -    background: #ffc; -} - -.email .remote_images .close_show_images { -    float: right; -    margin-top: -0.67em; -    margin-right: -0.67em; -} - -.email .replaced_inline_image { -    max-width: 100%; -    display: block; -    margin-top: 1em; -} - -.email .link_warning { -    display: inline-block; -    position: absolute; -    margin-top: -1em; -    border: 1px solid #999; -    padding: 1em; -    background: #ffc; -    box-shadow: 0 3px 11px rgba(0,0,0,0.21); -    /* Reset styles */ -    font-size: 0.8em; -    font-family: sans; -    color: black; -} -.email .link_warning a { -    color: #08c; -} -.email .link_warning span { -    display: block; -    padding-left: 1em; -} -.email .link_warning .close_link_warning { -    float: right; -    margin-top: -0.67em; -    margin-right: -0.67em; -} - -@media screen { - -    body { -        background-color: $background-color !important; -    } - -    body:not(.nohide) .email.hide, -    body:not(.nohide) .email .email.hide { -        background-color: #f5f5f5;/* recv-collapsed */ -        box-shadow: 0 2px 5px rgba(0,0,0,0.12); -    } -    body:not(.nohide) .email.sent.hide, -    body:not(.nohide) .email.sent .email.hide { -        background-color: #f5f5f5;/* sent-collapsed */ -    } -    body:not(.nohide) .email.hide .body, -    body:not(.nohide) .email.hide > .attachment_container, -    .email:not(.hide) .header_container .preview, -    body.nohide .email .header_container .preview, -    body:not(.nohide) .email.hide .email { -        display: none; -    } -    .email:not(.hide) .email_warning.show, -    .email:not(.hide) .email_info.show, -    body:not(.nohide) .email.hide .header_container .preview { -        display: block; -    } -    .email:not(.hide) .header_container .tags, -    body.nohide .email .header_container .tags, -    body:not(.nohide) .email.hide .email { -        display: none; -    } -    .email:not(.hide) .email_warning.show, -    .email:not(.hide) .email_info.show, -    body:not(.nohide) .email.hide .header_container .tags { -        display: block; -    } -    .email:not(.hide) .header_container .subject, -    body.nohide .email .header_container .subject, -    body:not(.nohide) .email.hide .email { -        display: none; -    } -    .email:not(.hide) .email_warning.show, -    .email:not(.hide) .email_info.show, -    body:not(.nohide) .email.hide .header_container .subject { -        display: block; -    } -    body:not(.nohide) .email:not(:only-of-type) .header_container, -    body:not(.nohide) .email .email .header_container { -        cursor: pointer; -    } -    .email:not(.hide) .header .field .value, -    body.nohide .email .header .field .value { -        cursor: auto; -    } -    body:not(.nohide) .email.hide .header { -        padding: 0; -        text-align: right; -    } -    body:not(.nohide) .email.hide .header .field { -        display: inline; -        margin-right: 2px; -        text-align: left; -    } -    body:not(.nohide) .email.hide .header .field:not(:first-child) { -        display: inline-block; -    } -    body:not(.nohide) .email.hide .header .field:not(.important), -    body:not(.nohide) .email.hide .header .field .title { -        display: none; -    } -    body:not(.nohide) .email.hide .header .field .value { -        margin-left: 0; -    } -    body:not(.nohide) .email.hide .header .field .not_hidden_only, -    .email:not(.hide) .header .field .hidden_only, -    body.nohide .email .header .field .hidden_only { -        display: none; -    } -    body:not(.nohide) .email.hide .header .field a { -        pointer-events: none; -    } -    .email:not(.hide) .remote_images.show, -    body.nohide .email .remote_images.show { -        display: block; -    } -    body:not(.nohide) .email.compressed { -        margin-top: -1px; -        height: 10px; -    } -    body:not(.nohide) .email.compressed + .email { -        margin-top: -1px; -    } -    body:not(.nohide) .compressed .email_container { -        overflow: hidden; -        display: none -    } -    body:not(.nohide) .compressed + .compressed + .compressed + .compressed + .compressed + .compressed + .compressed + .compressed + .compressed { -        display:none; -    } -} - -.email .compressed_note { -    text-align: center; -    height: 0; -} -.email .compressed_note > span { -    display: none; -    padding: 0px 10px; -    background-color: #f5f5f5;/* recv-collapsed */ -    position: relative; -    cursor: hand; -} -.email.sent .compressed_note > span { -    background-color: #f5f5f5;/* sent-collapsed */ -} -body.nohide .email .compressed_note > span { -    display: none !important; -} - -.email .email { -    box-shadow: none; -    margin-top: 0; -    border: none; -    border-top: 1px rgba(0,0,0,0.4) solid; -    background-color: white;/* recv-normal */ -} -.email.sent .email { -    background-color: white;/* sent-normal */ -} -.email .email .email_container .menu, -.email .email .email_container .starred, -.email .email .email_container .unstarred { -    display: none; -} - -.email.hide .marked.icon.first { -    display: none; -} -.email:not(.hide) .marked.icon.sec { -    display: none; -} -.email:not(.marked) .marked.icon { -    display: none; -} -.email .header_container .marked.icon { -    float: right; -    height: 20px; -} - -.email.hide .attachment.icon.first { -    display: none; -} -.email:not(.hide) .attachment.icon.sec { -    display: none; -} -.email:not(.attachment) .attachment.icon { -    display: none; -} -.email .header_container .attachment.icon { -    float: right; -    height: 20px; -} - -.email > .attachment_container { -    padding-bottom: 10px; -} -.email > .attachment_container > .top_border { -    border-bottom: 1px solid #aaa; -    height: 10px; -    margin: 0 16px 5px; -} -.email > .email + .attachment_container .top_border{ -    height: auto; -    margin: 0; -} -.email > .attachment_container > .attachment { -    margin: 10px 10px 0 10px; -    padding: 2px; -    overflow: hidden; -    /*font-size: 10pt;*/ -    /*font-size: small;*/ -    font-size: 0.8em; -    cursor: pointer; -    display: inline; -    background-color: transparent; -    border-width: 1px; -    border-style: solid; -    border-radius: 4px; -    border-color: transparent; - -    &.focused { -	background-color: lighten( $attachment-color, 5% ); -    border-color: darken( $attachment-color, 50% ); -	box-shadow: inset 0px 0px 1px rgba(255,255,255,0.8); -    } -} - -.email > .attachment_container > .attachment:hover, -.email > .attachment_container > .attachment:active { -    border-color: rgba(0,0,0,0.18); -    box-shadow: inset 0px 0px 1px rgba(255,255,255,0.8); -} - -.email > .attachment_container > .attachment:active { -    padding: 3px 1px 1px 3px; -    border-color: rgba(0,0,0,0.20); -    background-color: rgba(0,0,0,0.05); -    box-shadow: inset 0px 0px 2px rgba(0,0,0,0.05); -} - -.email > .attachment_container > .attachment .preview { -    width: 52px; -    height: 52px; -    text-align: center; -    vertical-align: middle; -} -.email > .attachment_container > .attachment .preview img { -    max-width: 50px; -    max-height: 50px; -} -.email > .attachment_container > .attachment .preview .thumbnail { -    border: 1px solid #999; -    box-shadow: 0 0 5px #b8b8b8; -    background-size: 16px 16px; -    background-position:0 0, 8px 0, 8px -8px, 0px 8px; -    max-width: 150px; -    max-height: 150px; -} -.email > .attachment_container > .attachment:hover .preview .thumbnail { -    background-image: -        -webkit-linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent), -        -webkit-linear-gradient(-45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent), -        -webkit-linear-gradient(45deg, transparent 75%, rgba(0, 0, 0, 0.1) 75%), -        -webkit-linear-gradient(-45deg, transparent 75%, rgba(0, 0, 0, 0.1) 75%); -} -.email > .attachment_container > .attachment .info { -    vertical-align: middle; -    padding-left: 5px; -    font-size: 0.7em; -} -.email > .attachment_container > .attachment .info > :not(.filename) { -    color: #666; -} - -.attachment .encrypted { -  border: 1px dashed green !important; -} - -.attachment .signed { -  border: 1px dashed orange !important; -} - - -#encrypt_container { -  display: none; -} - -.email > .email_container > .body > .encrypt_container { -  display: block; -  clear: both; -  vertical-align: middle; -  text-align: center; -  padding-bottom: 5px; -  padding-top: 5px; -  margin-top: 5px; -  margin-bottom: 5px; -  border: 1px solid black; -  color: #333333; -} - -.email > .email_container > .body > .encrypt_container > .message > span.header { -  color: black; -  font-weight: bold; -  margin-bottom: 2px; -  display: block; -} - -.encrypt_container.encrypted, .encrypt_container.encrypted.signed { -  background-color: $encrypted; -} - -.encrypt_container.signed { -  background-color: $signed; -} - -.encrypt_container.verify_failed, .encrypt_container.decrypt_failed { -  background-color: red; -} - -.body_part.encrypted.decrypt_failed { -  border-left: 0px; -} - -.body_part.encrypted, .body_part.encrypted.signed { -  display: block; -  border-left: 5px solid $encrypted; -  padding: 10px; -} - -.gpg_error { -  border-left: 5px solid red; -  padding-left: 5px; -  margin-left: 5px; -} - -.body_part.signed.verify_failed { -  border-left: 0px; -} - -.body_part.signed { -  display: block; -  border-left: 5px solid $signed; -  padding: 10px; -} - -#sibling_container { -    display: none; -} - -.email > .email_container > .body > .sibling_container, .email > .email_container > .body > .mime_container { -    display: block; -    clear: both; -    vertical-align: middle; -    text-align: center; -    padding: 0px; -    margin-top: 15px; -    margin-bottom: 0; -    background-color: lighten( $sibling-color, 15% ); -    border-width: 0 0 1px 0px; -    border-style: solid; -    border-color: darken( $sibling-color, 20% ); -    border-radius: 4px; -    color: darken( $sibling-color, 80% ); - -    .message { -	padding-top: 6px; -	padding-bottom: 6px; -	font-size: 90%; -    } - -    &.focused/*, &:hover /* click not supported yet */ { -	background-color: lighten( $sibling-color, 5% ); -	.message { -	    border-color: darken( $sibling-color, 50% ); -	} -    } -} - -#mime_container { -    display: none; -} - -.email > .email_container > .body > .mime_container { -    background-color: lighten( $mime-color, 20% ); -    border-color: darken( $mime-color, 20% ); -    color: darken( $mime-color, 80% ); - -    &.focused/*, &:hover /* click not supported yet */ { -	background-color: lighten( $mime-color, 1% ); -	.message { -	    border-color: darken( $mime-color, 50% ); -	} -    } -} - -.header { -    overflow: hidden; -    font-size: 90%; - -    #Tags { -	.value span { -	    padding: 2px; -	} -    } -} -.header .field { -    clear: both; -    overflow: hidden; -    /*font-size: 9pt;*/ -    /*font-size: normal;*/ -} -.header .field .title, -.header .field .value { -    float: left; -    padding: 2px 0; -} -.header .field .title { -    width: 6.0em; -    text-align: right; -    padding-right: 7px; -    color: #777; -    position: absolute; -} -.header .field .value { -    color: black; -    margin-left: 6.25em; -    max-height: 5em; -    overflow-y: auto; -} -.header .field .value a { -    color: black; -    text-decoration: none; -} -.header .field.important .address_name { -    font-weight: bold; -} -.header .field .address_value { -    color: #777; -} - -.geary_spacer { -    display: table; -    box-sizing: border-box; -    -webkit-box-sizing: border-box; -    width: 100% !important; -} - -.signature { -    color: #777; -    display: inline; -} -.signature a, -.quote_container a { -    color: #5fb2e7; -} - -.quote_container { -    margin: 5px 0; -    padding: 12px; -    color: #303030; -    background-color: #e8e8e8;/* recv-quoted */ -    border-radius: 4px; -} - -.email.sent .quote_container { -    background-color: #e8e8e8;/* sent-quoted */ -} - -.quote_container > .shower, -.quote_container > .hider { -    color: #777; -    font-family: sans-serif; -    /*font-size: 75%;*/ -    font-size: 0.8em; -    cursor: pointer; -    display: none; -} -body:not(.nohide) .quote_container.controllable > .shower { -    display: block; -} -.quote_container.controllable > .hider, -body:not(.nohide) .quote_container.controllable > .quote { -    display: none; -} -body:not(.nohide) .quote_container.controllable.show > .shower { -    display: none; -} -body:not(.nohide) .quote_container.controllable.show > .hider, -body:not(.nohide) .quote_container.controllable.show > .quote { -    display: block; -} -.quote_container > .shower:hover, -.quote_container > .hider:hover { -    color: black; -} - -#message_container { -    /*position: absolute;*/ -    /*left: 0;*/ -    /*right: 0;*/ -    /*padding: 0 5px 0px;*/ -    /*left: 50%;*/ -    margin: 0 auto; -    display: inline-block; -    width: 100%; -    max-width: 60em; -    text-align: center; -    font-family: $font-family-default; -} -#multiple_messages { -    display: none; -    text-align: center; -} -#multiple_messages > .email { -    margin: 100px auto; -    display: inline-block; -    width: auto; -    padding: 15px; -} -#body_template, -#email_template, -#attachment_template, -#link_warning_template { -    display: none; -} - -.search_coloring *::selection { -    background-color: #00ddff; -} - -.draft_edit { -    display: none; -    margin: 16px; -    text-align: right; -} - -.draft_edit_button { -    background-color: #e8e8e8; -} - diff --git a/config/dodo/config.py b/config/dodo/config.py new file mode 100644 index 0000000..66e64ac --- /dev/null +++ b/config/dodo/config.py @@ -0,0 +1,45 @@ +import dodo + +dodo.settings.smtp_accounts = ["email", "gmail", "fel"] +dodo.settings.email_address = { +    "email": "Karel Kočí <cynerd@email.cz>", +    "gmail": "Karel Kočí <citrisin@gmail.com>", +    "fel": "Karel Kočí <kocikare@fel.cvut.cz>", +} +dodo.settings.sent_dir = { +    "email": "~/.mail/email/sent/", +    "gmail": "~/.mail/gmail/Drafts/", +    "fel": "~/.mail/fel/Sent/", +} +dodo.settings.gnupg_keyid = "2B1F70F95F1B48DA2265A7FAA6BC8B8CEB31659B" + +dodo.settings.theme = dodo.themes.nord +dodo.settings.wrap_message = False +dodo.settings.editor_command = "alacritty -e nvim '{file}'" +dodo.settings.file_browser_command = "alacritty -e mc '{dir}'" +dodo.settings.file_picker_command = "alacritty -e ranger --choosefiles='{tempfile}'" +dodo.settings.sync_mail_interval = -1 +dodo.settings.default_thread_list_mode = "thread" +dodo.settings.search_font_size = 9 +dodo.settings.tag_font_size = 9 +dodo.settings.message_font_size = 9 +dodo.settings.tag_icons = { +    "inbox": "📥", +    "unread": "🆕", +    "attachment": "🖇️", +    "sent": ">", +    "replied": "", +    "flagged": "⭐", +    "marked": "", +    "signed": "", +} + +dodo.settings.default_to_html = False +dodo.settings.html_block_remote_requests = False +dodo.settings.html_confirm_open_links = False +dodo.util.html2html = dodo.util.clean_html2html + +del dodo.keymap.global_keymap["`"] +del dodo.keymap.search_keymap["a"] +dodo.keymap.search_keymap["J"] = ('down 20', lambda p: [p.next_thread() for i in range(20)]) +dodo.keymap.search_keymap["K"] = ('up 20', lambda p: [p.previous_thread() for i in range(20)]) diff --git a/config/guix/channels.scm b/config/guix/channels.scm new file mode 100644 index 0000000..a56d8b6 --- /dev/null +++ b/config/guix/channels.scm @@ -0,0 +1,10 @@ +(cons* (channel +         (name 'nonguix) +         (url "https://gitlab.com/nonguix/nonguix") +         ;; Enable signature verification: +         (introduction +          (make-channel-introduction +           "897c1a470da759236cc11798f4e0a5f7d4d59fbc" +           (openpgp-fingerprint +            "2A39 3FFF 68F4 EF7A 3D29  12AF 6F51 20A0 22FB B2D5")))) +       %default-channels) diff --git a/config/nvim/init.vim b/config/nvim/init.vim index 77e572d..3165498 100644 --- a/config/nvim/init.vim +++ b/config/nvim/init.vim @@ -55,8 +55,8 @@ set laststatus=2  set noshowmode  set number -set colorcolumn=80  set textwidth=80 +set colorcolumn=+0  nmap <c-/> :noh<cr> @@ -138,6 +138,8 @@ let g:UltiSnipsJumpBackwardTrigger='<c-k>'  nnoremap <c-c><c-c> :Telescope buffers<cr>  nnoremap <c-p> :lua require('mytelescopefiles')()<cr>  nnoremap <c-s-p> :Telescope lsp_document_symbols<cr> +nnoremap <c-s-g> :Telescope live_grep<cr> +nnoremap <c-s-8> :Telescope grep_string<cr>  nmap <leader>] :Telescope lsp_definitions<cr>  nmap <leader><leader>] :Telescope lsp_type_definitions<cr>  nmap <leader>[ :Telescope lsp_implementations<cr> diff --git a/config/nvim/lua/plugins.lua b/config/nvim/lua/plugins.lua index ce54ce6..a1c17bf 100644 --- a/config/nvim/lua/plugins.lua +++ b/config/nvim/lua/plugins.lua @@ -4,46 +4,12 @@ if vim.fn.empty(vim.fn.glob(install_path)) > 0 then  	vim.cmd([[packadd packer.nvim]])  end -local treesitter_formaters = { -	"c", -	"lua", -	"kconfig", -	"make", -	"markdown", -	"markdown_inline", -	"meson", -	"ninja", -	"ini", -	"gitcommit", -	"git_rebase", -	"git_config", -	"nix", -	"python", -	"toml", -	"vim", -	"vimdoc", -	"yaml", -} -  require("packer").startup(function(use)  	use("wbthomason/packer.nvim")  	-- Visual ------------------------------------------------------------------  	use("shaunsingh/nord.nvim")  	use("MunifTanjim/nui.nvim")  	use({ -		"nvim-treesitter/nvim-treesitter", -		run = ":TSUpdate", -		config = function() -			require("nvim-treesitter.configs").setup({ -				ensure_installed = treesitter_formaters, -				highlight = { -					enable = true, -					additional_vim_regex_highlighting = false, -				}, -			}) -		end, -	}) -	use({  		"lukas-reineke/indent-blankline.nvim",  		config = function()  			local highlight = { "CursorColumn", "Whitespace" } @@ -93,7 +59,7 @@ require("packer").startup(function(use)  		config = function()  			local lint = require("lint")  			lint.linters_by_ft = { -				c = { "cppcheck", "flawfinder", "editorconfig-checker" }, +				c = { "clangtidy", "editorconfig-checker" },  				lua = { "selene", "editorconfig-checker" },  				markdown = { "vale" },  				nix = { "statix", "deadnix", "nix", "editorconfig-checker" }, @@ -114,8 +80,8 @@ require("packer").startup(function(use)  							for _, result in ipairs(decoded.results) do  								if result.line ~= nil then  									table.insert(diagnostics, { -										lnum = result.line, -										end_lnum = result.line, +										lnum = result.line - 1, +										end_lnum = result.line - 1,  										col = result.column,  										end_col = result.endColumn,  										severity = vim.diagnostic.severity.HINT, @@ -149,6 +115,7 @@ require("packer").startup(function(use)  					sh = { "shfmt", "trim_newlines", "twim_whitespace" },  					typst = { "typstfmt", "trim_newlines", "twim_whitespace" },  					yaml = { "yq", "trim_newlines", "twim_whitespace" }, +					xml = { "xmllint", "trim_newlines", "twim_whitespace" },  				},  			})  		end, @@ -176,10 +143,10 @@ require("packer").startup(function(use)  	use("aliou/bats.vim")  	-- LSP --------------------------------------------------------------------- -	local lspconfig = require("lspconfig") -	lspconfig.bashls.setup({}) -	lspconfig.clangd.setup({}) -	lspconfig.nil_ls.setup({}) -	lspconfig.pylsp.setup({}) -	lspconfig.typst_lsp.setup({}) +	vim.lsp.enable("bashls") +	vim.lsp.enable("clangd") +	vim.lsp.enable("nil_ls") +	vim.lsp.enable("pylsp") +	vim.lsp.enable("tinymist") +	vim.lsp.enable("guile_ls")  end) diff --git a/config/sway/bindsym-launch b/config/sway/bindsym-launch index 01d8061..8572004 100644 --- a/config/sway/bindsym-launch +++ b/config/sway/bindsym-launch @@ -3,6 +3,8 @@  bindsym $mod+Return exec alacritty  # Start Firefox  bindsym $mod+Shift+Return exec firefox +# Python +bindsym $mod+c exec alacritty -e ipython  # start a program  bindsym $mod+d exec --no-startup-id wofi -Imi -S drun @@ -13,13 +15,11 @@ bindsym $mod+t exec alacritty -e btop  bindsym $mod+Shift+t exec alacritty -e sudo powertop  # Passwords  bindsym $mod+Shift+w exec --no-startup-id ~/.config/sway/scripts/pass -# Calendar -bindsym $mod+c exec alacritty -t "Calendar" -e ikhal  # Notes  bindsym $mod+Shift+n exec --no-startup-id ~/.config/sway/scripts/notes  for_window [ title="notes-terminal-window" ] floating enable sticky enable  # Mail client -bindsym $mod+m exec astroid +bindsym $mod+m exec dodo  # Run and configure synchronization diff --git a/config/sway/scripts/notes b/config/sway/scripts/notes index ebe2684..8f025fb 100755 --- a/config/sway/scripts/notes +++ b/config/sway/scripts/notes @@ -1,5 +1,5 @@  #!/bin/sh  cd ~/notes  find * -type f | wofi -d -p 'notes' | while read -r note; do -	nohup alacritty -e vim ~/notes/"$note" >/dev/null 2>&1 & +	nohup alacritty -e nvim ~/notes/"$note" >/dev/null 2>&1 &  done diff --git a/config/systemd/user/waybar.service b/config/systemd/user/waybar.service new file mode 100644 index 0000000..110ab83 --- /dev/null +++ b/config/systemd/user/waybar.service @@ -0,0 +1,8 @@ +[Unit] +Description=Waybar + +[Service] +ExecStart="/run/current-system/sw/bin/waybar" + +[Install] +WantedBy="graphical-session.target" @@ -24,3 +24,4 @@ __pycache__/  /env  *.egg-info  .coverage +/dist @@ -37,6 +37,10 @@ if ask "nix" "Install Nix configuration"; then  	inst private/config/nix/builders ~/.config/nix/builders  fi +if ask "guix" "Install Guix configuration"; then +	inst config/guix/channels.scm ~/.config/guix/channels.scm +fi +  if ask "clituls" "Install configurations for various CLI utility tools"; then  	inst screenrc ~/.screenrc  	inst local/share/mc/skins/nord16M.ini ~/.local/share/mc/skins/nord16M.ini @@ -60,8 +64,10 @@ if ask "nvim" "Install NeoVIM scripts"; then  	nvim --headless -c 'autocmd User PackerComplete quitall' -c 'PackerSync'  	# cs spelling  	mkdir -p ~/.local/share/nvim/site/spell -	curl "http://ftp.vim.org/vim/runtime/spell/cs.utf-8.spl" \ +	curl "https://ftp.nluug.nl/pub/vim/runtime/spell/cs.utf-8.spl" \  		>~/.local/share/nvim/site/spell/cs.utf-8.spl +	curl "https://ftp.nluug.nl/pub/vim/runtime/spell/cs.utf-8.sug" \ +		>~/.local/share/nvim/site/spell/cs.utf-8.sug  fi  if ask "dev" "Development tools configuration"; then @@ -89,13 +95,15 @@ if ask "sync" "Install synchronization"; then  	inst local/bin/email-unread ~/.local/bin/email-unread  	inst local/sbin/newmail-notify ~/.local/sbin/newmail-notify  	inst private/msmtprc ~/.msmtprc +	inst config/dodo/config.py ~/.config/dodo/config.py  	inst private/astroid/config ~/.config/astroid/config -	inst config/astroid/ui/ ~/.config/astroid/ui  	inst private/vdirsyncer/ ~/.vdirsyncer  	inst config/khal/config ~/.config/khal/config  	inst config/khard/khard.conf ~/.config/khard/khard.conf +	inst local/bin/cloud ~/.local/bin/cloud +  	inst_sync  fi @@ -122,6 +130,7 @@ if ask "desktop" "Install desktop"; then  	inst config/swaylock/ ~/.config/swaylock  	inst config/swayidle/ ~/.config/swayidle  	inst config/wofi/ ~/.config/wofi +	inst config/systemd/user/waybar.service ~/.config/systemd/user/waybar.service  	[ -f "private/kanshi/$(hostname)" ] &&  		inst "private/kanshi/$(hostname)" ~/.config/kanshi/config  	inst config/xdg-desktop-portal-wlr/ ~/.config/xdg-desktop-portal-wlr @@ -137,8 +146,10 @@ if ask "mpd" "Install MPD configuration"; then  fi  if ask "elektroline" "Install Elektroline scripts"; then +	inst shvcli.toml ~/.shvcli.toml  	inst local/bin/elektroline-git-config ~/.local/bin/elektroline-git-config  	inst local/bin/elektroline-windows ~/.local/bin/elektroline-windows +	inst local/share/applications/elektroline-windows.desktop ~/.local/share/applications/elektroline-windows.desktop  	inst local/bin/elektroline00 ~/.local/bin/elektroline00  fi diff --git a/local/bin/cloud b/local/bin/cloud new file mode 100755 index 0000000..db6e717 --- /dev/null +++ b/local/bin/cloud @@ -0,0 +1,26 @@ +#!/usr/bin/env bash +path="/media/cloud" + +usage() { +	echo "Usage: $0 [OPTION].." >&2 +} + +umount="n" +while getopts "u" opt; do +	case "$opt" in +	u) +		umount="y" +		;; +	*) +		usage +		exit 2 +		;; +	esac +done + +if [ "$umount" = "n" ]; then +	sudo mkdir -p "$path" +	sudo mount.davfs -o uid=1000,username=cynerd "https://cloud.cynerd.cz/remote.php/dav/files/cynerd" "$path" +else +	sudo umount "$path" +fi diff --git a/local/bin/elektroline-windows b/local/bin/elektroline-windows index 59c548b..26e6228 100755 --- a/local/bin/elektroline-windows +++ b/local/bin/elektroline-windows @@ -9,8 +9,8 @@ fi  exec xfreerdp \  	"${args[@]}" \ -	-decorations /w:1537 /h:903 /kbd:0x00000409 \ +	-decorations /dynamic-resolution \  	/d:ELEKTROLINE /u:kkoci \ -	/bpp:24 /audio-mode:0 /sound:sys:alsa /network:lan /rfx /cert-ignore \ +	/bpp:24 /audio-mode:0 /sound:sys:alsa /network:lan /rfx \  	+clipboard /port:3389 \ -	/v:elvirt00.elektroline.cz /p:"$(pass elektroline.cz/kkoci)" +	/v:czellts.elektroline.cz /p:"$(pass elektroline.cz/kkoci)" diff --git a/local/bin/elektroline00 b/local/bin/elektroline00 index b06ae4e..1164dd7 100755 --- a/local/bin/elektroline00 +++ b/local/bin/elektroline00 @@ -8,21 +8,21 @@ usage() {  umount="n"  while getopts "u" opt; do  	case "$opt" in -		u) -			umount="y" -			;; -		*) -			usage -			exit 2 -			;; +	u) +		umount="y" +		;; +	*) +		usage +		exit 2 +		;;  	esac  done  if [ "$umount" = "n" ]; then -	sudo mkdir -p "$path"/{company,elektro_doc,czelldata} -	sudo mount.cifs -o username=kkoci "//Elektroline00/company" "$path/company" -	sudo mount.cifs -o username=kkoci "//Elektroline00/elektro_doc" "$path/elektro_doc" -	sudo mount.cifs -o username=kkoci "//czelldata/Share" "$path/czelldata" +	sudo mkdir -p "$path" +	sudo mount.cifs -o username=kkoci,uid=1000 "//czelldata.elektroline.cz/Share" "$path/share" +	sudo mount.cifs -o username=kkoci "//10.0.0.3/company" "$path/company" +	sudo mount.cifs -o username=kkoci "//10.0.0.3/elektro_doc" "$path/elektro_doc"  else -	sudo umount "$path/company" "$path/elektro_doc" +	sudo umount "$path"/{share,company,elektro_doc}  fi diff --git a/local/sbin/wayvnc1 b/local/sbin/wayvnc1 index b21479d..64edd39 100755 --- a/local/sbin/wayvnc1 +++ b/local/sbin/wayvnc1 @@ -1,3 +1,5 @@  #!/usr/bin/env bash  export WAYLAND_DISPLAY=wayland-1 +export SWAYSOCK="/run/user/${UID=$(id -u)}/sway-ipc.$UID.$(pgrep -x sway).sock" +swaymsg output '*' power on  exec wayvnc localhost 5901 diff --git a/local/share/applications/elektroline-windows.desktop b/local/share/applications/elektroline-windows.desktop new file mode 100755 index 0000000..9b488a9 --- /dev/null +++ b/local/share/applications/elektroline-windows.desktop @@ -0,0 +1,6 @@ +[Desktop Entry] +Version=1.0 +Name=Elektroline Windows +Exec="/home/cynerd/.local/bin/elektroline-windows" %U +Terminal=false +Type=Application diff --git a/private b/private -Subproject b0c7e860ee85a97ff0939f16b34574b753a6bb8 +Subproject bc015df28ab93da02721355920dcf1d7a289595 @@ -19,6 +19,11 @@ for profile in "$HOME"/.nix-profile/etc/profile.d/*; do  	source "$profile"  done +# Guix +export GUIX_PROFILE="/home/cynerd/.guix-profile" +if [[ -d "$GUIX_PROFILE" ]]; then +	source "$GUIX_PROFILE/etc/profile" +fi  # Rest of the profile run only if login is from linux console  [[ "$(tty)" != /dev/tty* ]] && return @@ -1,5 +1,6 @@  [hosts]  localhost = tcp://admin@localhost?password=admin!123 +test = tcp://test@localhost?password=test  brcg2 = tcp://cli@localhost  [hosts-shell] diff --git a/shvcli.toml b/shvcli.toml new file mode 100644 index 0000000..5a3e9e8 --- /dev/null +++ b/shvcli.toml @@ -0,0 +1,8 @@ +[hosts] +localhost = "tcp://admin@localhost?password=admin!123" +test = "tcp://test@localhost?password=test" +brcg2 = "tcp://cli@localhost" + +[hosts-shell] +nirvana = "tcp://kkoci@nirvana.elektroline.cz:3756?password=$(pass elektroline.cz/nirvana/kkoci)" +ats = "tcp://atsshv@czellats.elektroline.cz?password=$(pass elektroline.cz/czellats/atsshv)"  | 
