diff --git a/users/pbsds/home/default.nix b/users/pbsds/home/default.nix index b9057fd..59623bd 100644 --- a/users/pbsds/home/default.nix +++ b/users/pbsds/home/default.nix @@ -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 = "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; diff --git a/users/pbsds/home/profiles/desktop.nix b/users/pbsds/home/profiles/desktop.nix index ce4d015..3accb7e 100644 --- a/users/pbsds/home/profiles/desktop.nix +++ b/users/pbsds/home/profiles/desktop.nix @@ -4,6 +4,7 @@ imports = [ ./lxterminal + ./pulsar ]; nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ @@ -13,10 +14,6 @@ ]; home.packages = with pkgs; [ - atom # TODO: config - pulsar # TODO: config, transition into this - # TODO: nodePackages.bash-language-server - # TODO: python-lsp-server, somehow discord element-desktop#-wayland diff --git a/users/pbsds/home/profiles/pulsar/config.cson b/users/pbsds/home/profiles/pulsar/config.cson new file mode 100644 index 0000000..6f15a3f --- /dev/null +++ b/users/pbsds/home/profiles/pulsar/config.cson @@ -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 diff --git a/users/pbsds/home/profiles/pulsar/default.nix b/users/pbsds/home/profiles/pulsar/default.nix new file mode 100644 index 0000000..49d8945 --- /dev/null +++ b/users/pbsds/home/profiles/pulsar/default.nix @@ -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; +} diff --git a/users/pbsds/home/profiles/pulsar/keymap.cson b/users/pbsds/home/profiles/pulsar/keymap.cson new file mode 100644 index 0000000..d8b615d --- /dev/null +++ b/users/pbsds/home/profiles/pulsar/keymap.cson @@ -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' diff --git a/users/pbsds/home/profiles/pulsar/snippets.cson b/users/pbsds/home/profiles/pulsar/snippets.cson new file mode 100644 index 0000000..cc1203a --- /dev/null +++ b/users/pbsds/home/profiles/pulsar/snippets.cson @@ -0,0 +1,75 @@ +'.text.md': + 'Comment': + 'prefix': 'comment' + 'body': '$0' + 'Todo': + 'prefix': 'todo' + 'body': '$0' + 'Div': + 'prefix': 'div' + 'body': '