add pulsar

This commit is contained in:
Peder Bergebakken Sundt 2023-10-14 18:33:25 +02:00
parent 23d37d413b
commit 5f80da6be9
6 changed files with 371 additions and 6 deletions

View File

@ -132,8 +132,6 @@
#bin = "perl -pe 'chomp' | curl -is -X POST https://i.kuklef.se/upload -F content=@- -F expiration=10d | grep '^location:' | cut -d' ' -f2-"; #bin = "perl -pe 'chomp' | curl -is -X POST https://i.kuklef.se/upload -F content=@- -F expiration=10d | grep '^location:' | cut -d' ' -f2-";
bin = "python -c 'import sys; sys.stdout.write(sys.stdin.read().strip())' | curl -is -X POST https://i.kuklef.se/upload -F content=@- -F expiration=10d | grep '^location:' | cut -d' ' -f2-"; bin = "python -c 'import sys; sys.stdout.write(sys.stdin.read().strip())' | curl -is -X POST https://i.kuklef.se/upload -F content=@- -F expiration=10d | grep '^location:' | cut -d' ' -f2-";
#atom = "atom --no-sandbox";
atom = "atom --disable-gpu --in-process-gpu --no-sandbox";
}; };
programs.nix-index.enable = true; programs.nix-index.enable = true;

View File

@ -4,6 +4,7 @@
imports = [ imports = [
./lxterminal ./lxterminal
./pulsar
]; ];
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
@ -13,10 +14,6 @@
]; ];
home.packages = with pkgs; [ home.packages = with pkgs; [
atom # TODO: config
pulsar # TODO: config, transition into this
# TODO: nodePackages.bash-language-server
# TODO: python-lsp-server, somehow
discord discord
element-desktop#-wayland element-desktop#-wayland

View File

@ -0,0 +1,205 @@
"*":
"atom-ide-code-format":
formatOnSave: false
"atom-ide-outline":
foldInitially: true
initialDisplay: false
"atom-typescript":
allowJS: true
ignoredDiagnosticCodes: [
"8002"
"8003"
"8004"
"8006"
"8008"
"8010"
]
jsSyntaxScopes: [
"source.js"
"source.jsx"
"javascript"
"source.flow"
]
"autocomplete-plus": {}
"bracket-matcher":
autocompleteBrackets: false
"copy-highlighted":
style: "railscasts"
"copy-with-style":
preset1: {}
core:
allowPendingPaneItems: false
autoHideMenuBar: true
disabledPackages: [
"language-python"
"markdown-preview"
"linter-clang"
"linter-python-pep8"
"language-gfm"
]
ignoredNames: [
".git"
".hg"
".svn"
".DS_Store"
"._*"
"Thumbs.db"
"desktop.ini"
"__pycache__"
]
packagesWithKeymapsDisabled: [
"atom-ide-code-format"
]
restorePreviousWindowsOnStart: "no"
telemetryConsent: "no"
themes: [
"one-dark-ui"
"railscast-theme-markup"
]
editor:
fontSize: 18
invisibles: {}
scrollPastEnd: true
tabLength: 4
"exception-reporting":
userId: "c8877d6e-54df-44f2-bb95-b02e63ceaa6b"
fonts:
fontFamily: "Cousine"
"graphviz-preview-plus": {}
"ide-python":
pylsPlugins:
autopep8:
enabled: false
flake8:
ignore: [
"E121"
"E123"
"E126"
"E226"
"E24"
"E704"
"W503"
"W504"
"E302"
"E306"
"E128"
"E221"
]
maxLineLength: 119
jedi_definition:
follow_imports: true
preload: {}
pycodestyle:
enabled: false
ignore: [
"E121"
"E123"
"E126"
"E226"
"E24"
"E704"
"W503"
"E302"
"E306"
"E128"
"E221"
]
maxLineLength: 119
jumpy: {}
kite:
showWelcomeNotificationOnStartup: false
"linter-ui-default": {}
"markdown-preview-enhanced":
breakOnSingleNewLine: false
enableLinkify: false
enableWikiLinkSyntax: false
mathRenderingOnlineService: "https://latex.codecogs.com/svg.latex"
pandocArguments: "--filter=pandoc-codeblock-include, --filter=pandoc-imagine"
pandocMarkdownFlavor: "markdown-raw_tex+tex_math_single_backslash+emoji"
usePandocParser: true
"markdown-preview-plus":
markdownItConfig:
useLazyHeaders: false
mathConfig: {}
pandocConfig:
pandocArguments: [
"--defaults=defaults.yaml"
"--webtex=https://latex.codecogs.com/svg.latex?"
]
pandocMarkdownFlavor: "markdown-raw_tex+tex_math_single_backslash+emoji"
pandocRemoveReferences: false
useNativePandocCodeStyles: true
previewConfig:
activatePreviewWithEditor: true
renderer: "pandoc"
saveConfig:
saveToPDFOptions: {}
style: "github"
syncConfig: {}
"one-dark-ui":
fontSize: 11
pigments:
mergeColorDuplicates: true
"spell-check":
grammars: [
"source.asciidoc"
"source.gfm"
"text.git-commit"
"text.plain"
"text.plain.null-grammar"
"source.rst"
"text.restructuredtext"
"text.md"
]
knownWords: [
"equivariant"
"isosurface"
"discretization"
"voxel"
"SIREN"
"SIRENs"
"Zernike"
]
locales: [
"en_US"
]
"status-bar": {}
"tree-view":
hideIgnoredNames: true
hideVcsIgnoredFiles: true
welcome:
showOnStartup: false
whitespace: {}
wordcount:
alwaysOn: true
ignorecode: true
ignorecomments: true
showchars: false
".basic.html.text":
editor:
tabLength: 2
".css.less.source":
editor:
tabLength: 2
".dg.source":
editor:
tabType: "soft"
".html.jinja.text":
editor:
tabLength: 2
".jinja.source.yaml":
editor:
tabLength: 2
".md.text":
editor:
softWrapAtPreferredLineLength: false
tabLength: 2
".nix.source":
editor:
tabLength: 2
".scala.source":
editor:
tabLength: 2
".source.yaml":
editor:
tabLength: 2

View File

@ -0,0 +1,19 @@
{ pkgs, ... }:
{
#home.shellAliases.atom = "atom --no-sandbox";
#home.shellAliases.atom = "atom --disable-gpu --in-process-gpu --no-sandbox";
home.shellAliases.atom = "pulsar";
home.packages = with pkgs; [
#atom
pulsar
nodePackages.bash-language-server
# TODO: ensure python-lsp-server?
];
home.file.".pulsar/config.cson".source = ./config.cson;
home.file.".pulsar/keymap.cson".source = ./keymap.cson;
home.file.".pulsar/snippets.cson".source = ./snippets.cson;
}

View File

@ -0,0 +1,71 @@
# Your keymap
#
# Atom keymaps work similarly to style sheets. Just as style sheets use
# selectors to apply styles to elements, Atom keymaps use selectors to associate
# keystrokes with events in specific contexts. Unlike style sheets however,
# each selector can only be declared once.
#
# You can create a new keybinding in this file by typing "key" and then hitting
# tab.
#
# Here's an example taken from Atom's built-in keymap:
#
# 'atom-text-editor':
# 'enter': 'editor:newline'
#
# 'atom-workspace':
# 'ctrl-shift-p': 'core:move-up'
# 'ctrl-p': 'core:move-down'
#
# You can find more information about keymaps in these guides:
# * http://flight-manual.atom.io/using-atom/sections/basic-customization/#_customizing_keybindings
# * http://flight-manual.atom.io/behind-atom/sections/keymaps-in-depth/
#
# If you're having trouble with your keybindings not working, try the
# Keybinding Resolver: `Cmd+.` on macOS and `Ctrl+.` on other platforms. See the
# Debugging Guide for more information:
# * http://flight-manual.atom.io/hacking-atom/sections/debugging/#check-the-keybindings
#
# This file uses CoffeeScript Object Notation (CSON).
# If you are unfamiliar with CSON, you can read more about it in the
# Atom Flight Manual:
# http://flight-manual.atom.io/using-atom/sections/basic-customization/#_cson
'atom-text-editor':
#'ctrl-w': 'editor:select-word'
'alt-shift-d': 'editor:split-selections-into-lines'
'alt-d': 'find-and-replace:select-next'
'ctrl-d': 'editor:duplicate-lines'
'ctrl-shift-D': 'editor:delete-line'
'ctrl-l': "editor:unfold-current-row"
'ctrl-ø': "editor:fold-current-row"
'alt-g': 'atomic-rtags:follow'
'alt-.': 'pane:show-next-item'
'alt-,': 'pane:show-previous-item'
'ctrl-m': 'markdown-preview-plus:sync-preview'
'ctrl-enter': 'atom-ide-go-to-definition:go-to-definition'
'ctrl-alt': 'unset!'# 'datatip:toggle'
'alt-shift': 'datatip:toggle'
'body':
'alt-right': 'pane:show-next-item'
'alt-left': 'pane:show-previous-item'
'alt-.': 'pane:show-next-item'
'alt-,': 'pane:show-previous-item'
'ctrl-tab ^ctrl': 'unset!'
'ctrl-tab': 'pane:show-next-item'
'ctrl-shift-tab ^ctrl': 'unset!'
'ctrl-shift-tab': 'pane:show-previous-item'
#'ctrl-w': 'unset!'
#'ctrl-q': 'core:close'
'ctrl-q': 'unset!'
'ctrl-k ctrl-n': 'status-bar:toggle'
'atom-workspace':
#'ctrl-k ctrl-m': 'diagnostics:toggle-table'
#'ctrl-k ctrl-,': 'outline:toggle'
'ctrl-k ctrl-m': 'window:toggle-bottom-dock'
'ctrl-k ctrl-,': 'window:toggle-right-dock'
'atom-workspace atom-text-editor:not([mini])':
'ctrl-up': 'unset!'
'ctrl-down': 'unset!'
'alt-up': 'editor:move-line-up'
'alt-down': 'editor:move-line-down'

View File

@ -0,0 +1,75 @@
'.text.md':
'Comment':
'prefix': 'comment'
'body': '<!--\n$1\n-->$0'
'Todo':
'prefix': 'todo'
'body': '<!-- TODO: $1 -->$0'
'Div':
'prefix': 'div'
'body': '<div class="$1" id="$2">\n$3\n</div>$0'
'Equation':
'prefix': 'eq'
'body': '\\$\\$ $1\n\\$\\$${3: \\{#eq:${2:TODOs}\\}}$0'
'AlignedEquation':
'prefix': 'eqs'
'body': '\\$\\$ \\\\begin\\{aligned\\}\n\t\\\\\\\\ ${1:a &= b} \n\t\\\\\\\\ ${2:c &= d}\n\\\\end\\{aligned\\} \\$\\$${4: \\{#eq:${3:TODO}\\}}$0'
'EquationSolve':
'prefix': 'eqso'
'body': '\\$\\$ \\\\begin\\{aligned\\}\n\t${1:a}\n\t\t&= ${2:b} \\\\\\\\\n\\\\end\\{aligned\\} \\$\\$${4: \\{#eq:${3:TODO}\\}}$0'
'Fraction':
'prefix': 'fr'
'body': '\\\\frac\\{$1\\}\\{$2\\}$0'
'LeftRight':
'prefix': 'lr'
'body': '\\\\left${1: \\\\right}$0'
'LeftRightAngle':
'prefix': 'lra'
'body': '\\\\left\\\\langle $1 \\\\right\\\\rangle$0'
# 'Superscript':
# 'prefix': '^'
# 'body': '^\\{$1\\}$0'
'smallcaps':
'prefix': 'sm'
'body': '[$1]{.smallcaps}$0'
'bold':
'prefix': 'bf'
'body': '**$1**$0'
'italic':
'prefix': 'it'
'body': '*$1*$0'
'monospace':
'prefix': 'ms'
'body': '`$1`$0'
'.text.html':
'ClassSpan':
'prefix': 'span'
'body': '<span class="$1">$2</span>$0'
'.source.jinja, .text.html.jinja, .text.generic-config.jinja, .source.python.jinja, .source.shell.jinja, .text.xml.jinja, .source.yaml.jinja':
'Comment':
'prefix': 'comment'
'body': '{# $0 #}'
'Complete Comment':
'prefix': '{#'
'body': '{# $0 #}'
'Do':
'prefix': 'do'
'body': '{% do ${1:expr} %}{# requires jinja2.ext.do #}'
'Continue':
'prefix': 'continue'
'body': '{% continue %}{# requires jinja2.ext.loopcontrols #}'
'Break':
'prefix': 'break'
'body': '{% break %}{# requires jinja2.ext.loopcontrols #}'
'Autoescape':
'prefix': 'autoescape'
'body': '{% autoescape ${1:false} %}\n$2\n{% endautoescape %}$0'
'Todo':
'prefix': 'todo'
'body': '{# TODO: ${1:message} #}'
'Block':
'prefix': 'block'
'body': '{% block ${1:name} %}\n\t$2\n{% endblock %}{# ${1:name} #}'
'Set':
'prefix': 'set'
'body': '{% set ${1:var} = ${2:expr} %}'